I dont remember where but I recall that Cloudfare dont use computers to generate random numbers because its literally impossible. It is always mathematics so its predictable , hard yes but predictable. Instead Cloudfare uses lava lamps movements and calculate that , as it is very random. I will look for the article so don’t take my word for it.
I think CloudFlare uses lava lamps because it’s a cool story, but there are ways you can get truly random bits from other things, like this. Generally, you want to have some sort of physical process going on that provides random entropy, because CPUs by themselves can only produce pseudorandom numbers. For example, random.org uses atmospheric noise, which is random and unpredictable when you look at very tiny variances. You can also use, e.g. a super sensitive Geiger counter to measure random bits of radiation, or if you shoot photons at a semi-reflective surface, sometimes they go through and sometimes they reflect. For the type shown here, though, the most common kind of noise they use is from quantum effects relating to transistors, as far as I know. This is an actual source of randomness, so if it’s done right it can be just as good as lava lamps or Geiger counters or whatever.
It’s probably similar to a noise generator in a synthesizer, you can push a transistor until it starts to breakup and get white noise from a relatively simple circuit
The noise coming from an open microphone has enough entropy for what we’d usually assume to be random.
It is possible to hit a bottleneck getting random numbers, but there’s /dev/urandom which shouldn’t block it’ll just keep outputting without enough entropy to guarantee pseudorandomness.
Usually you’ll know if you’re hitting one of those bottlenecks, probably it’ll only come up in production or hopefully in load testing.
I dont remember where but I recall that Cloudfare dont use computers to generate random numbers because its literally impossible. It is always mathematics so its predictable , hard yes but predictable. Instead Cloudfare uses lava lamps movements and calculate that , as it is very random. I will look for the article so don’t take my word for it.
I think CloudFlare uses lava lamps because it’s a cool story, but there are ways you can get truly random bits from other things, like this. Generally, you want to have some sort of physical process going on that provides random entropy, because CPUs by themselves can only produce pseudorandom numbers. For example, random.org uses atmospheric noise, which is random and unpredictable when you look at very tiny variances. You can also use, e.g. a super sensitive Geiger counter to measure random bits of radiation, or if you shoot photons at a semi-reflective surface, sometimes they go through and sometimes they reflect. For the type shown here, though, the most common kind of noise they use is from quantum effects relating to transistors, as far as I know. This is an actual source of randomness, so if it’s done right it can be just as good as lava lamps or Geiger counters or whatever.
It’s probably similar to a noise generator in a synthesizer, you can push a transistor until it starts to breakup and get white noise from a relatively simple circuit
The noise coming from an open microphone has enough entropy for what we’d usually assume to be random.
It is possible to hit a bottleneck getting random numbers, but there’s /dev/urandom which shouldn’t block it’ll just keep outputting without enough entropy to guarantee pseudorandomness.
Usually you’ll know if you’re hitting one of those bottlenecks, probably it’ll only come up in production or hopefully in load testing.
I heard that story too but it was about BackBlaze.
Computers can get perfect randomness, but it has to come from an analog source. That’s what this thing does.
cloudflare uses a wall of lavalamps because it’s a fun project that looks cool and gets free advertising.
There are so many sources of noise, lavalamps are probably one of the most expensive in set up and running costs.
It’s a pretty cool wall though, hence the free advertising.