Bitcoin Forum
September 12, 2025, 06:19:02 AM *
News: Latest Bitcoin Core release: 29.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Can Radiation Be Used to Generate Bitcoin Private Keys? Just Curious…  (Read 112 times)
kanftka (OP)
Member
**
Offline Offline

Activity: 126
Merit: 68


View Profile
July 29, 2025, 07:30:31 PM
 #1

Hey…

So, i recently came across the concept of using radioactive decay or cosmic rays as a source of randomness, and I started wondering,. Could that actually be used to generate a Bitcoin private key / seeds?  Huh

From what I understand, radioactive decay is unpredictable and provides true entropy, unlike traditional RNGs which are pseudo random. So for instant, if you had a Geiger counter or some kind of radiation sensor, and collected enough random data, maybe it could be turned into a secure Bitcoin private key?  Huh

Has anyone here ever tried something like this? Is this realistic? Or am I just overthinking randomness? I would really like to know what kind of setup would be needed… This was my questions, while doing research and all, finding related topics online….

After a lot of wondering and researching I founds out this page on (X):

What he talked about was pretty much related and helpful..

And here is his work and words:

1/12
I made my own Quantum Random Number Generator.

It uses radioactive decay to generate entropy for #Bitcoin seeds.

I used:
- Americium 241 from a Smoke Detector
- RaspberyPi
- Geiger counter
- Audio interface.

Entropy is what makes a bitcoin your bitcoin..  


2/
Dices and cointoses are a good way to generate your own entropy, but they are not actually random.
They are deterministic processes that are hard to measure.
Is there anything random in the universe?
Yes, radioactive decay.

3/
Radioactive decay is the process when very tiny bits of a thing spontaneously break apart from it.
When I say tiny I mean particle tiny.
This  process is inherently random and totally unpredictable..


4/
So how can we use this to generate entropy?
1. we need a radioactive source.
2. I split open a smoke detector and got my hands on some Americium-241.
   It has a half-life of 432.2 years..


5/
Next, we need a Geiger counter.
This is an instrument that measures how many times the decaying particles hit the tube.
Got mine from Amazon.
It also beeps every time a particle hits the tube.

6/
Considering that the random part is the time between beeps this is what we need for the entropy source.
I connected the meter to the Pi and used the audio interface I use for my microphone to amplify this signal.
I recorded them using Audacity.
This is how it looks..


7/
This is pretty much listening to the particles “sing”
In order to get 1 bit of entropy, I take 4 particles and measure the time between p1 and p2 vs. p3 and p4.
If the first time, T1 is bigger I add a 1 otherwise a 0. If they are equal I ignore them..


8/
I wrote a python script that does all of this for me and saves the processed data in a binary file.
Then I wrote BIP39 implementation to use this random data and get a 24-word seed.
I get around 6 particle decays / second -> 2.8 minutes for 1 BIP39 seed.

9/
I also gathered multiple data sets, that sum up to about 377 hours(2 weeks) ~ 112GBs of recordings and I plot the value of the bytes from all data sets.
After processing this I ended up with 159Kb of entropy.
This kinda looks random but is it?


10/
That's the thing with randomness you can’t test it, but you can take a sample and do statistical tests.
Random output should be evenly distributed, but if something is evenly distributed it's not necessarily generated randomly.
Here I ran the ent tool which looks OKish..
 

Here is the link to his original post/page. You can go check it out for your self..


I’ll appreciate y’ll taught on this topic as well..
odolvlobo
Legendary
*
Offline Offline

Activity: 4788
Merit: 3670



View Profile
July 30, 2025, 03:52:43 AM
 #2

QEC: A Quantum Entropy Chip and Its Applications

Join an anti-signature campaign: Click ignore on the members of signature campaigns.
PGP Fingerprint: 6B6BC26599EC24EF7E29A405EAF050539D0B2925 Signing address: 13GAVJo8YaAuenj6keiEykwxWUZ7jMoSLt
HABJo12
Newbie
*
Offline Offline

Activity: 21
Merit: 0


View Profile
July 30, 2025, 01:46:56 PM
 #3

How much data it generate per second ?
Cricktor
Legendary
*
Offline Offline

Activity: 1246
Merit: 2961



View Profile
August 02, 2025, 01:33:26 PM
 #4

You can use any random process to derive random entropy, but you need to know exactly what you're doing to not mess up the randomness.

While it surely is a fun project, it's not quite practical regarding all the stuff you need to at least have a chance to execute it properly.

For me the crucial part is what you define as observation window to decide if a detected decay event is counted as 0 or 1.

The half-life of a radioactive element's isotope tells you how long it takes on average that half of the radioactive atoms decay. But things may get more complicated because the decay product is likely another radioactive atom with another different half-life.

My somewhat layman's approach would be to observe long enough the amount of detected decay events, derive from this an average decay event rate and decay interval time. Not sure if cheap radioactive decay counter gear allows to count the total amount of registered decay events.

Then maybe a decay interval that's shorter than 80% of the average decay interval is a 1, those longer than 120% of average are a 0, discard what's in between and too close to avarage. Take it with a grain of salt, I haven't thought this through scientifically and I'm not particularly good at statistics.


And by the way you can even ensure to obtain fair random results from coin tosses even if the coin or your tosses are somewhat biased. Less fun, but much cheaper approach to obtain random entropy.

  • Toss the coin twice.
  • If the results match, start over, forgetting both results.
  • If the results differ, use the first result, forgetting the second.

Of course you decide upfront if "heads" is 0 or 1. The explanation why this works is worth a read at quoted source.

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!