Een reminder na de Coldcard weak seed hack.

30 juli 2026 werden veel Coldcard bitcoin wallets leeggehaald. Dit was een hack zonder te hacken. Bitcoiners die toen bitcoin verloren, deden bijna alles goed. Een hardware wallet gebruiken om je bitcoin in eigen beheer te bewaren. Hardwarewallet niet online bewaren en een goede backup regelen.

Maar wat er niet goed ging was het vertrouwen in het genereren van de seed phrase en dan niet controleren of daar wel voldoende entropie in aanwezig was. Er werd vertrouwd om de black-box random number generator van Coinkite zoals die geimplementeerd was in de Coldcard. 

De Bitcoin Policy Instute heeft een goede video gemaakt waarin wordt uitgelegd hoe groot het verschil was tussen de zoekruimte voor de slechte entropie van de Coldcard zaadzin en wat normaal een goede entropie is. Zie die video hiernaast.

Coinkite was naar een eigen implementatie gegaan om zo concurrenten tegen te werken. Maar daardoor werd de implementatie van libNgU niet meer goed gecontroleerd, andere partijen konden deze implementatie namelijk niet gebruiken in hun commerciële wallet.
Door een integratie-fout werd de Real Number Generator gebaseerd op fysische gegevens uit sensoren genegeerd en werd de zaadsleutel-generatie deterministisch.

De bug is waarschijnlijk via een AI analyse gevonden, en er is ook via AI  code geschreven die de deterministische zoekruimte van ~2⁴⁰ mogelijke zaadsleutels heeft doorzocht, daardoor zijn daarna duizenden wallets leeggetrokken.

De grote les voor iedereen (ook die geen coldcard hebben) is dat we niet moeten vertrouwen op de entropie die in hardware wordt gemaakt, omdat deze niet te vertrouwen en te controleren is. Het is een zwarte doos. We moeten zelf het werk doen door onze eigen controleerbare entropie te genereren.

Een van de beste manier om dat te doen is het gebruik van gebalanceerde casino dobbelstenen en dan minimaal 50 keer te rollen voor een 12 woorden zaadzin en 99 keer te rollen voor een 24 woorden zaadzin. Het rollen van die zaadzin kan dan met een Seedsigner worden omgezet naar een 12/24 woorden zaadzin.

Andere methodes zijn gebruik te maken van de Seedpills of de papieren variant daarvan de Seedshuffle.

Ik heb ook te veel vertrouwd op de entropie van mijn hardware wallet en niet geverifieerd. Omdat ik niet zeker weet dat de hardware wallet die ik gebruik niet hetzelfde probleem heeft, moet ik mijn zaadsleutel vernieuwen en mijn bitcoin verplaatsen.

Ik heb daarom bij de dobbelstenenshop.nl een nieuwe set casino dobbelstenen besteld en ik ga mijn zaadsleutel opnieuw genereren met deze dobbelstenen. En na een nieuwe backup in metaal te hebben gemaakt (en geverifieerd te hebben) ga ik mijn bitcoin verplaatsen naar mijn nieuwe zaadsleutel met geverifieerde entropie met dobbelstenen die ik kan controleren op manupilatie omdat ze transparant zijn.

Don't trust, verify!

Stay humble, and learn about bitcoin every day.