How Dice Can Create a Secure Bitcoin Random Number

The basic idea

Bitcoin wallets depend on very large random numbers. Those numbers create the secret information behind your recovery seed and private keys. If the number is truly unpredictable, an attacker cannot realistically guess it.

An ordinary six-sided die makes the idea easy to see. One roll has only 6 possible results. But every new roll multiplies the number of possible sequences by 6.

  • 1 roll: 6 possible results
  • 2 rolls: 6 x 6 = 36 possible sequences
  • 10 rolls: more than 60 million possible sequences
  • 50 rolls: about 8 x 10^38 possible sequences

Why 50 rolls is so powerful

Suppose you roll a die 50 times and get a sequence like 4, 1, 6, 2, 2, 5, 3, and so on. Someone who did not watch you has no useful way to predict the complete sequence. There are so many possible combinations that guessing yours by brute force is effectively impossible with today’s computers.

Computer scientists measure this unpredictability in “bits of entropy.” Fifty fair dice rolls provide about 129 bits of entropy, roughly the security level normally associated with a 12-word Bitcoin seed.

How a hardware wallet uses the rolls

A hardware wallet does not use the dice numbers as a Bitcoin address. It feeds the unpredictable results into a mathematical process that turns them into the secret random value used to generate the wallet.

That means you do not have to blindly trust the wallet’s internal random-number generator. If you personally create enough fair, private dice rolls, you are supplying strong randomness yourself.

The important rules

  • Use a fair die.
  • Roll privately so nobody else records the results.
  • Record every roll exactly.
  • Use enough rolls – 50 is a commonly recommended minimum for about 128 bits of security.
  • Never share the resulting seed or private information.

Bottom line: One die roll is weak randomness. Fifty independent rolls create an astronomically large number of possibilities. That is what makes dice a surprisingly powerful tool for creating secure Bitcoin wallet entropy.

How long would it take a computer to guess?

There are about 8 x 1038 possible sequences of 50 dice rolls. Imagine an extremely fast computer that could test one trillion guesses every second without stopping.

On average, it would need to try about half of all possible combinations before finding the right one.

At that speed, the average search would take roughly 13 billion billion years (about 1.3 x 1019 years). For comparison, the universe is about 13.8 billion years old. That means the average guessing time would be nearly one billion times the current age of the universe.

This example is simplified, but it shows why good randomness matters: when the number of possibilities becomes enormous, brute-force guessing stops being a practical strategy.

Safe enough for you? We think so.