Programmeur onthult hoe hij een bitcoin wallet heeft gehackt

Alistair Milne, Chief Information Officer bij Altana Digital Currency Fund, hield een wedstrijd wie het eerst zijn bitcoin wallet kon kraken. Vanaf mei publiceerde Milne hints voor zijn 12 woorden, die als back up dienen voor de wallet. De gelukkige kon 1 bitcoin verdienen.

Maar al voordat Milne de laatste woorden publiceerde, ging bitcoin programmeur John Cantrell er met de buit vandoor. In een Medium post legt hij uit hoe hij dit gedaan heeft.

Met slechts 8 van de 12 woorden

De prestatie van Cantrell is knap, want hij had slechts 8 van de 12 woorden tot zijn beschikking. De laatste vier woorden moesten toen nog gepubliceerd worden door Milne.

Voordat het achtste woord werd gepubliceerd, begon Cantrell met de voorbereidingen. Hij schreef in zijn Medium-post dat er met acht woorden “ruwweg 1,1 biljoen mogelijke combinaties” zouden bestaan, die hij allemaal moest controleren

Een back up zin van 12 tot 24 woorden geeft je de volledige toegang tot alle fondsen die op een wallet staan. Er bestaat een lijst van 2048 woorden die in zo’n zin gebruikt kunnen worden, maar dat maakt het hacken van een bitcoin wallet nog steeds niet makkelijker.

Om een back up zin te testen zijn meer stappen nodig. Ten eerste moest Cantrell een seed genereren uit de zin. Daar komt een master private key uit. Met deze master private key is het mogelijk om het adres te kraken.

Laptop was te langzaam

Cantrell’s laptop kon slechts 1,125 combinaties van 12 woorden per seconde genereren. Dat komt neer op 108 miljoen combinaties per dag. “Dat betekent dat mijn CPU 25 jaar nodig heeft om alle 1 biljoen opties te controleren, als ik maar 8 woorden weet.”

En dat is bijzonder lang, als je weet dat Cantrell al tweederde van de woorden in bezit heeft. Het duurt nog veel langer als je bijvoorbeeld slechts de helft van de zin in bezit heeft.

Omdat Cantrell besefte dat de tijd tikt, ging hij op zoek naar een andere oplossing. Hij huurde verschillende grafische kaarten via Microsoft cloud computing service Azure, en schreef software die het werk verdeelde onder deze grafische kaarten.

“Op de piek was ik 40 miljard combinaties per uur aan het testen. Dat betekent dat het 25 uur duurt om alle combinaties te testen. Maar gemiddeld duurt het waarschijnlijk 50 procent minder lang.”

In eerste instantie weinig geluk

Maar helaas moest hij nog even wachten. Na 85 procent van alle combinaties te testen had hij de wallet nog steeds niet gekraakt. En toen realiseerde hij dat hij misschien een fundamentele fout maakte. Zijn plan hing af van de woorden in de juiste volgorde, maar dat is geen garantie. Er waren dus wellicht veel meer mogelijkheden.

Bijna gaf hij het op, maar hij besloot toch gewoon door te gaan. Toen hij 91 procent van alle combinaties had geprobeerd na 30 uur vond Cantrell eindelijk de oplossing.

Cantrell betaalde een extreem hoge fee van 0.01 bitcoin (94 dollar) om de bitcoin te verzenden naar zijn wallet, voor het geval iemand anders het had geraden en er met de buit vandoor zou gaan.

De programmeur is nu van plan om het bedrag door te geven met een eigen wedstrijd, eentje “die niet gewonnen kan worden met software”. We zijn benieuwd!

Let op je veiligheid

De gelukte poging van Cantrell onderstreept hoe belangrijk het is om de back-up zin van je wallet veilig te bewaren. Wanneer een hacker tweederde van je woorden in bezit heeft, kan hij door middel van software je wallet kraken. Het is daarom belangrijk om je woorden op een veilige plek te bewaren. Je kan er bijvoorbeeld ook voor kiezen om je 12 of 24 woorden in een kluis op te bergen.

Wil je meer weer weten over bitcoin wallets? Bekijk dan onze kersverse video hieronder:

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *