I want to generate my own private key with dice and/or other very entropic phenomenon. But how can I calculate if my data have a good entropy ? I mean if I throw dice in a certain way too much time maybe my outcome will not be trully random, maybe my dice is not a very good dice and have imperfection etc.

So can I just throw it 300+ and if I don't have 0.166666% each result (1,2,3,4,5,6) it's not good ?

Also I want to write my own series of dice result just to compare how deficient is my brain when I try to generate true randomness.


  • This seems more a questions for statistics SE or mathemticals SE site. Commented Oct 22, 2018 at 7:05
  • 4
    I'm voting to close this question as off-topic because it's a statistics question unrelated to Bitcoin
    – G. Maxwell
    Commented Jan 7, 2019 at 18:00

2 Answers 2


Try using the an open source program called ent. Here are the results for rolling a die six times with the result vector of <666666>.

% echo -n "666666" | ./ent

Entropy = 0.000000 bits per byte.

Optimum compression would reduce the size of this 6 byte file by 100 percent.

Chi square distribution for 6 samples is 1530.00, and randomly would exceed this value less than 0.01 percent of the times.

Arithmetic mean value of data bytes is 54.0000 (127.5 = random). Monte Carlo value for Pi is 4.000000000 (error 27.32 percent). Serial correlation coefficient is undefined (all values equal!).


You may find this old thread on bitcointalk helpful -> https://bitcointalk.org/index.php?topic=24268.0

There are 2^160 possible addresses in Bitcoin. To put that in perspective there's an estimated 2^63 grains of sand on all of Earth's beaches, citation.

If you have a die and roll it 99 times, you have 6^99 different possible combinations. The number of different possible outcomes is so large that even with a dice that has imperfections causing less entropy the likelyhood of someone else rolling the same 99 numbers is astronomically unfeasible.

Not the answer you're looking for? Browse other questions tagged or ask your own question.