Friday, August 30, 2013

True Random Number Generation using Radio-Isotopes

Using a series of long life beta emitter radio isotopes and detectors in separate vessels to generate truly random binary numbers. At any given moment, a detector will detect a particle emission (1) or will not (0), and this detector can be sampled hundreds or thousands of times per second. If there are 10 vessels with 10 samples and detectors, then every time the detectors are queried one will receive a truly random number. If the detector can be interrogated 1000 times per second that would allow for a binary string 10,000 factors long per second (slice up any way that a consumer would require).

So ... turns out that a lot of other people have had this idea and are doing something about it.

RANDOM.ORG - True Random Number Service uses atmospheric noise to obtain truly random numbers.

Even more interesting is Hotbits: Genuine Random Numbers - Fourmilab which uses radioactive decay to obtain a random number sequence

Both of these services are available via the web, and a person or company can subscribe to them and obtain random numbers. Of course, for encryption, cryptography, gaming, gambling, and certain other activities where random number generation is mission critical, it would seem obtaining them from a 3rd party might introduce some uncertainty.

I'm envisioning motherboards and discrete systems with on-board true random number generation.

Imagine for example a tiny sample of Tritium gas, which is a radioactive isotope of Hydrogen, very safe, a beta particle emmitter, with a 12 year half life. A sample in a phial the size of a grain of rice, with a detector on each end, could obtain a continuous stream of random 1's and 0's for well over 12 years, which is far beyond the life of any computer system. Something like this would easily fit on the circuit board of even a mobile phone.

One note on the issue of half life and radioactive decay. Over time the sample will become less radioactive, and if 'no-particle-detected' = zero, then over time the average ratio of 1 (particle detected) to zero will deviate from 50/50 to some ratio where it is statistically more likely for a zero to come up than a 1. BUT - a detection even, while happening many times per second, is still not exactly an instantaneous event. The detector is 'detecting' for a very narrow window of time. So - a very small ROM and a small amount of DRAM storage should allow the randomness to be maintained for more than the life of the circuit board in the following manner. The DRAM would be used to store the detector's output from the last - few million detection events, and the ROM would have an algorithm that calculated a running average of '0' events, and a clock circuit that controlled the time span of the detector window. As the 1/0 ratio trends towards 0 being more frequent than 1, the system would expand the detection time span window duration so that the rolling average of 1's and 0's remains 50/50. At all times the actual result of any one detection event would be 50/50 to all significant digits, but over time as the sample decayed the amount of time that the system would leave the detector on would need to increase to allow for the fact that older samples emit particles less frequently.

Editorial on why I was thinking about this....
Well, I like to play a lot of games, and when I'm on the go, a game I like to play is the iPad version of RISK, which involves lots of computer generated dice roles. And I play so much that I can usually tell very early on if the random number 'seed' the game is using is favorable towards the attacker or the defender and I can modify my gameplay style to account for that. And that is sad because the dice rolls should be completely random.

This got me thinking of a circuit board sized random number generator for the iPad/tablet computers.

I also happen to be a futurist, and I think about the direction technology will unfold and how that will affect human life/culture/civilization (now don't get too excited I'm pretty pessimistic about our chances for long term survival - we could, there's no technical reason we shouldn't, but people are very myopically selfish, and poorly educated and very bad decision makers so all our actions over the last 50 years especially have all been doing nothing more than accelerating our civilization's collapse) - BUT... say we didn't all die off, say on the off chance for example, we actually bothered to stop destroying our planet, and each other. Well, while it's probably unlikely, if we did decide to stop the madness, then humanity would have a great potential to spread out to the rest of the solar system and beyond, and we could easily eliminate poverty, homelessness, famine, and improve health care enough so that death would be something much less likely than it is today. If we did so there'd be a lot of people around, since right now we do such a great job of killing each other and our population is still growing. So - I think about what to do with all those beings, the sentient minds.

There's every reason to believe that brains can be kept alive and connected to a 'matrix' like virtual reality simulator for quite some time, allowing people to live on long after their bodies give out but ultimately, even a brain will decay and stop functioning. Over a long enough timeline, if humanity is going to prosper, humans must evolve away from these organic meat-sacks and into a more robust architecture, in other words, must become sentient inorganic systems (some of you might call them machines or robots). Its easy to see several developmental paths to such an architecture, but all of them require truly random number generation. A human brain is the most complex configuration of matter in the known universe and it will take some time to model it, though the good folks at IBM are making great strides already in the nascent first steps. Once these systems start to improve themselves, there should be a pretty rapid increase in their capabilities, but if the systems are always based on pseudo-random numbers they will never make the leap to a truly dynamic, unpredictable system of sentient self aware processes.

So - while a circuit board based truly random number generator would be great for people who like to game-on-the-go, it is also a critical component of the architecture humans will one day rely upon within their own inorganic bodies.

[I know that some people of our current generation would not call an inorganic sentient being a human, but I would warrant that if Australopithecus met a modern human and had the capacity to do so, she would not call us human either. While likely a topic for another post, if humans don't succeed in committing mass global suicide, the most probably path of evolution will be a blending of organic and inorganic components, possibly powered by systems such as these, with more and more of the functions performed by our organic brains migrated over to inorganic processing subsystems until finally there is no need for any of the organic components at all. Over this whole transition, society will always call the beings in question, (at least in english) "human".]

- Posted using BlogPress from my iPad

No comments:

Post a Comment