Hacker enthüllt, wie er eine Bitcoin-Adresse geknackt hat

Standard

Der Bitcoin-Entwickler John Cantrell überprüfte über eine Billion Wortkombinationen, um die Bitcoin-Adresse freizuschalten und das Geld entgegenzunehmen.

Bitcoin-Entwickler John Cantrell entpuppte sich als der Hacker, der die Bitcoin-Adresse von Alistair Milne knackte – als Teil seiner Herausforderung.
Um den Preis einzufordern, schuf Cantrell ein ganzes Orchester von Cloud-basierten GPUs.

Mehr als eine Billion Wortkombinationen

Er musste mehr als eine Billion Wortkombinationen überprüfen, um die Brieftasche zu öffnen, und er gab den Versuch fast auf.
John Cantrell, der Entwickler des Lightning Network-Messaging-Protokolls Juggernaut, brach gestern eine Bitcoin-Ansprache auf und nahm die Münzen im Wert von 9.300 Dollar für sich. Aber das war kein Diebstahl, sondern Teil eines Spiels, das er gewonnen hat. Jetzt hat er enthüllt, wie er es getan hat.

Wie Decrypt gestern berichtete, orchestrierte Alistair Milne, CIO des Altana Digital Currency Fund, eine Herausforderung auf Twitter, bei der der Gewinner eine ganze Bitcoin erhalten würde. Ab Mai veröffentlichte er regelmäßig Hinweise auf einen 12-Wort-Samensatz für eine Brieftaschenadresse, die eine Bitcoin enthielt. Wer alle Hinweise aufgriff, konnte den Satz verwenden, um die Bitcoin-Brieftasche zu öffnen und die Bitcoin mit hineinzunehmen.

John Cantrell
@JohnCantrell97
Ich habe gerade einen Artikel darüber veröffentlicht, wie ich in 30 Stunden über 1 Billion Mnemonics überprüft habe, um @alistairmilne’s 1 Bitcoin-Gewinnspiel zu gewinnen. Ich hoffe, mit einem eigenen Wettbewerb zu bezahlen, der nicht mit Software gewonnen werden kann, Details folgen bald!

Milne plante jedoch, die letzten drei oder vier Worte in einem Rutsch zu veröffentlichen. Dies war ein Versuch, jemanden daran zu hindern, die Adresse brachial zu öffnen (indem er ständig Wörter errät, bis eine Kombination funktioniert). Doch sein Plan scheiterte. Mit nur acht Wörtern war Cantrell in der Lage, die restlichen Wörter zu erraten, die richtige Kombination zu finden und die Brieftasche zu öffnen.

Hacken der Bitcoin-Adresse

Bevor das achte Wort veröffentlicht wurde, begann Cantrell mit den Vorbereitungen. In seinem Medium-Post schrieb er, dass es bei acht Wörtern „etwa 1,1 Billionen mögliche Mnemotechniken“ gäbe, die überprüft werden müssten.

Eine Eselsbrücke ist ein 12- oder 24-Wort-Samplesatz für einen privaten Bitcoin-Schlüssel, der vollen Zugang zu den Geldern gewährt, die darauf gespeichert sind. Es gibt eine begrenzte Liste von 2048 Wörtern, die solche Phrasen enthalten könnten – aber das macht das Hacken einer Bitcoin-Brieftasche nicht viel einfacher.

Um eine einzelne Phrase zu testen, musste Cantrell einen Seed aus dem Mnemonic, einen Master Private Key aus dem Seed und eine Adresse aus dem Master Private Key generieren. Nachdem er ein spezielles Programm geschrieben und ein paar Benchmarks durchgeführt hatte, stellte sich heraus, dass die Hardware, die er zu diesem Zeitpunkt hatte, der Aufgabe nicht gewachsen war.

Cantrells Laptop war nur in der Lage, rund 1.250 Mnemoniken pro Sekunde zu überprüfen, was einer Gesamtzahl von 108 Millionen pro Tag entspricht. „Das bedeutet, dass meine CPU etwa 25 Jahre benötigen würde, um die 1 Billion Möglichkeiten zu generieren und zu prüfen, die erforderlich sind, um die Mnemonik brutal zu erzwingen, während ich nur 8 der Wörter kenne“, bemerkte er. Und das nur, wenn nur vier Wörter fehlen.

Eddie B
@Großhandel
Antwort an @JohnCantrell97 @alistairmilne
Wie lange würde es dauern, alle 12 Wörter in der gleichen Anordnung zu finden?
John Cantrell
@JohnCantrell97
Die Iteration aller möglichen 12 Wort-Seeds unter Verwendung desselben Setups würde etwa 309.485.009.821.345.068.724.781.056 Tage dauern.

Um das Problem zu lösen, wandte sich Cantrell dem Cloud Computing zu. Er mietete mehrere Dutzend Grafikkarten auf einem GPU-Marktplatz und Microsofts Cloud-Computing-Dienst Azure und schrieb Software, die die Arbeit in Stapeln auf die einzelnen Grafikkarten verteilen würde.

Trotz Pech Erfolg gehabt

Nach der Hälfte der Testphase dieses Systems wurde das achte Wort veröffentlicht und das Spiel lief. Er startete die Rechner.

„Auf dem Höhepunkt testete ich etwa 40 Milliarden Gedächtnisstützen pro Stunde. Das bedeutet, es hätte etwa 25 Stunden dauern müssen, um die 1 Billion Mnemonics zu testen. Ich wusste, dass es im Durchschnitt nur 50 % der Zeit in Anspruch nehmen sollte“, sagte Cantrell.

Aber er hatte unglaubliches Pech. Nachdem er 85% der Kombinationen getestet hatte, hatte er kein Glück. Und er erkannte, dass es vielleicht einen grundlegenden Fehler gegeben hatte. Sein Plan hing davon ab, dass die Worte in der richtigen Reihenfolge standen – was nicht garantiert war. Wäre dies nicht der Fall gewesen, „wären es 8 gewesen! (faktoriell) mehr Möglichkeiten“, was es unmöglich machte, ihn zu knacken.

Über einen Tag intensiver Berechnungen später hatte Cantrell „die Hoffnung weitgehend aufgegeben, dass es funktionieren würde“ und „schaltete es buchstäblich fast aus“.

„Ich konnte mich nicht dazu bringen, es an diesem Punkt tatsächlich zu stoppen, da ich so weit gekommen war, also ließ ich es einfach weiterlaufen. Zu meiner Überraschung hatte er etwas später an diesem Abend (bei 91%) und nach fast 30 Stunden und genau 1 Billion Schecks (1.000.710.602.752) eine Lösung gefunden! sagte Cantrell.

Er bezahlte dann eine übermäßig hohe Gebühr von 0,01 Bitcoin (94 Dollar), um das Geld in seine eigene Brieftasche zu überweisen – für den Fall, dass es jemand anderes erraten hätte (er wollte, dass die Bitcoin-Minenarbeiter seiner Transaktion den Vorzug geben).

Milne bestätigte, dass sie genommen worden war. „Ich wusste, dass ich gegen die Uhr war, aber die meisten Leute dachten, es würde ein paar Wochen dauern, um mit brutaler Gewalt 4 Saatwörter zu erzwingen“, twitterte er.

Nun plant Cantell, mit einem eigenen Wettbewerb zu „bezahlen“, der „nicht mit Software gewonnen werden kann“.