pull down to refresh

When your hardware wallet generates a key to protect your bitcoin, it must do so in a way that is sufficiently random. Otherwise, the security of the key (and any funds it protects) is permanently compromised from the beginning. Using a technological device to generate a bitcoin key is one of the highest-trust, least-understood actions regularly taken in the bitcoin economy. Users generally do not understand what processes are occurring within the device while a key is generated, and have instead deferred to the reputation of the manufacturer, or have become comfortable upon hearing “it’s open source.”

This worked fairly well for years, but justifiably fell under heavier scrutiny after the July 2026 Coldcard vulnerability. Coldcard’s source code was publicly viewable, and the company's reputation was widely seen as strong, prior to the vulnerability discovery. As usual, hindsight is 20/20. Yet during the five years that the bug existed, the keys generated by most Coldcard devices were not sufficiently random at all, causing many people to lose substantial amounts of bitcoin when this became known.

The solution to this dilemma isn’t to expect all hardware wallet users, advertisers, and wallet application providers to independently conduct expert-level security research into the codebase and components of hardware wallets, which may not succeed in catching every bug. The solution is to distribute risk and eliminate single points of failure with multisig wallets (which proved strong even while involving Coldcards) and to consider incorporating multiple separate technologies for the keys within the multisig arrangement.

No matter your security model, better understanding key generation techniques is a valuable exercise. If you’re using a single key to protect bitcoin, knowing how the key was created can be  critically important. If you are using multiple keys in a multisig arrangement, learning whether different hardware utilizes overlapping techniques can be useful information. In this article, we’ll discuss the basics of random number generation, the processes used by some popular hardware wallets, and how keys can be created manually for greater direct involvement.

...read more at unchained.com

My answer to randomness is this - Generating seed phrase from dice - an easy, understandable method.

Basically, I took all the "seed phrase from dice" methods, and reworked them until I thought they were as easy to understand as possible.

Here's a chunk of the first page. Instructions/worksheet are towards the end.

This is the full guide. Feedback welcome.
https://bitcoinhandson.com/bip39-dice-worksheet.pdf

reply
2 sats \ 1 reply \ @b9609a1d67 7 Oct -30 sats

Interesting point about RNG being such a hidden trust assumption. Multisig seems like a practical way to reduce the impact of a single-device failure, but I wonder how many users actually diversify hardware vendors rather than using multiple keys from the same ecosystem. Do you think adding manual entropy with dice is worth the extra complexity for most users, or does it create more room for human error?

2 sats \ 0 replies \ @b9609a1d67 9 Oct -30 sats

That's interesting. Would you still recommend dice-generated entropy to a beginner doing their first hardware wallet setup, or only once they fully understand how to verify the process themselves?