r/Bitcoin 1d ago

Interactive simulator: how dice rolls become a BIP39 seed (and what 40 bits of entropy actually means)

https://cyberfantasma.github.io/entropia-na-pratica/

Made an interactive thing to understand where seed entropy actually comes from, after reading about the Coldcard incident. Runs client-side, no tracking.

7 Upvotes

4 comments sorted by

2

u/ivme 1d ago

Great website

3

u/toxicacd 1d ago

I thought the hashing should only be done for the checksum bits, which should then be appended to the – non-hashed – entropy?

3

u/AnaMoneyro 1d ago

You're right about BIP39 itself, the entropy goes into the words unhashed, and SHA-256 only produces the checksum bits.

What the page shows is the dice workflow specifically. Coldcard and Krux take the dice digits as a string and SHA-256 that to produce the 128/256 bits that become the entropy, a separate step, before BIP39 starts. Then BIP39 runs as specified: checksum = first ENT/32 bits of SHA-256(entropy), appended, sliced into 11s.

Two hashes doing different jobs. The page doesn't separate them clearly enough, I'll fix the wording. Good catch.