Kann jemand deine Bitcoin Seed-Phrase erraten?
Eine Seed-Phrase besteht aus 12 oder 24 Wörtern, die aus einer festgelegten Wortliste stammen. Könnte ein leistungsstarker Computer sie nicht berechnen bzw. erraten?
Moderne Computer sind in der Lage, Milliarden Berechnungen pro Sekunde durchzuführen. Bitcoin-Wallets hingegen verwenden zur Generierung des Seeds grundsätzlich eine Kombination aus 12 oder 24 Wörtern, die aus einer festen Wortliste stammen.
Klingt das nicht, als könnte jemand eine bereits verwendete Seed-Phrase erraten und Zugang zu den Bitcoin erhalten?
Was, wenn es sogar deine Wallet betrifft?
In der Theorie ist das tatsächlich möglich. Doch keine Sorge. Ich kann dich beruhigen. In der Realität ist es extrem unwahrscheinlich, dass jemand deine Wiederherstellungswörter berechnet oder errät.
Wie hoch die genaue Wahrscheinlichkeit ist, wirst du heute erfahren.
Zuerst musst du jedoch verstehen, worum es sich bei einer Seed-Phrase handelt und wie sie aufgebaut ist.
Das musst du über die Seed-Phrase wissen
Üblicherweise besteht die Seed-Phrase aus 12 oder 24 Wörtern, mit denen du den Zugang zu deinen Bitcoin wiederherstellen kannst. Wer im Besitz der Wörter ist, kann die hinterlegten Bitcoin vollständig kontrollieren. Daher ist es entscheidend, die Wiederherstellungsphrase sicher aufzubewahren und niemals an Dritte weiterzugeben.
In einer Seed-Phrase stammt jedes Wort aus einer festgelegten Liste, die sogenannte BIP-39 Wortliste.
Darin enthalten sind 2048 englische Wörter, mit einer festen Position bzw. einem festen Index. So ist bspw. das Wort "abandon" an erster Stelle und hat den Index 0, "hello" besitzt Index 854, und "zoo" ist das letzte Wort auf der Liste, womit es den Index 2047 trägt.
Bitte beachte, dass diese Wortliste lediglich eine Darstellung bzw. Kodierung ist. Eine Hardware-Wallet arbeitet stattdessen mit Binärzahlen, bestehend aus Nullen und Einsen.
Die vorherigen Beispiele würden folglich so aussehen:
Index | Binärzahl | Wort |
---|---|---|
0 | 00000000000 | abandon |
854 | 01101010110 | hello |
2047 | 11111111111 | zoo |
Hinter jedem Wiederherstellungswort steht entsprechend eine Zahl, die 11 Nullen und Einsen enthält. Anders gesagt: Jedes Wort aus der BIP-39 Wortliste kann in eine 11-Bit-Zahl umgewandelt werden.
Reiht man 12 Wörter aneinander, erhält man den Seed.
Nun könnte man annehmen, dass aus einer Wiederherstellungsphrase mit 12 Wörtern eine 132-Bit-Zahl (12 Wörter x 11 Bits) entsteht. Dem ist aber nicht so. Denn das letzte Wiederherstellungswort enthält eine Prüfsumme. Die genaue Funktionsweise der Prüfsumme musst du im Moment nicht verstehen.
Vereinfacht kannst du dir merken: Eine 12-Wörter-Seed-Phrase ist nichts anderes als eine 128-Bit-Zahl, und eine 24-Wörter-Seed-Phrase ergibt eine Zahl mit 256 aufeinanderfolgenden Nullen und Einsen.
00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 00010001010 000
Die Lösung findest du am Ende des Beitrags.
Die Wahrscheinlichkeit, eine Seed-Phrase zu erraten
Um herauszufinden, wie viel Information eine Zahl enthält, verwenden Experten oft den Begriff Entropie. Im Kontext von Bitcoin-Wallets ist das einfach ein Fachbegriff, um zu beschreiben, wie schwer es ist, eine Zahl zu erraten.
Stell dir vor, du wirfst 4 Mal hintereinander eine Münze und notierst dir die Ergebnisse: Kopf ist 0 und Zahl ist 1. Daraus resultiert eine 4-Bit-Entropie. Es wäre für mich relativ einfach, das Ergebnis ausfindig zu machen. Insgesamt gibt es nur 16 Möglichkeiten:
0000 | 0100 | 1000 | 1100 |
0001 | 0101 | 1001 | 1101 |
0010 | 0110 | 1010 | 1110 |
0011 | 0111 | 1011 | 1111 |
Hingegen wird es deutlich schwieriger, die Zahl zu erraten, wenn du 256 Mal hintereinander eine Münze wirfst. In diesem Fall gäbe es nämlich 2256 Möglichkeiten anstatt nur 16 bzw. 24.
Was bedeutet das nun für die Wiederherstellungswörter?
Die Antwort ist simpel: Die Wahrscheinlichkeit, dass jemand deine Seed-Phrase errät, liegt bei 1 zu 2256.
Klingt nach nicht so viel, wenn man berücksichtigt, dass moderne Computer mehrere Milliarden Berechnungen pro Sekunde durchführen können.
Lass uns anschauen, wie gross die Zahl 2256 wirklich ist.
Wie gross ist 2256?
Ausgeschrieben sieht die Zahl 2256 so aus:
115'792'089'237'316'195'423'570'985'008'687'907'853'269'984'665'640'564'039'457'584'007'913'129'639'936.
Das sind über 115 Duodezilliarden.
Diese Zahl ist so gross, dass wir sie gar nicht fassen können. Brechen wir sie deshalb herunter. 2256 ist nichts anderes als 232, multipliziert mit sich selbst 8 Mal. Und 232 sind etwa 4 Milliarden.
Stell dir nun folgende Situation vor:
- Wir haben einen Computer der pro Sekunde 4 Milliarden Berechnungen durchführt.
- Dieser Computer steht in einem Serverraum, mit 4 Milliarden weiteren solchen Computern.
- Nun verfügt die Hälfte der Bevölkerung auf der Erde über einen solchen Serverraum.
- Lass uns weiter annehmen, dass es 4 Milliarden solcher Erden in unserer Milchstrasse gibt.
- Des Weiteren gibt es 4 Milliarden Kopien einer solchen Galaxie.
- Nun, 4 Milliarden Sekunden sind etwa 126,8 Jahre.
- Und 4 Milliarden von diesen sind etwa 507 Milliarden Jahre.
- Bedeutet: Selbst unter all diesen Annahmen ist die Chance, dass jemand in den nächsten 507 Milliarden Jahren deine Seed-Phrase errät, lediglich bei 1 zu 4 Milliarden. Also noch immer nahezu unmöglich.
Und falls du dich jetzt fragst, wie es sich bei einer Wallet mit 12 Wiederherstellungswörtern verhält: Auch sie ist sicher genug. Die Zahl 2128 sieht ausgeschrieben so aus
340'282'366'920'938'463'463'374'607'431'768'211'456
und ist ungefähr vergleichbar mit dem 57 Milliarden-fachen Gewicht der Erde in Gramm. Wenn es also jemand schafft, das richtige Ein-Gramm-Stück unter 57 Milliarden erdähnlichen Planeten auszuwählen, könnte er deine Wallet knacken.
Die Zufälligkeit ist entscheidend
Hierbei zu erwähnen ist, dass die Seed-Phrase nur dann eine ausreichend hohe Sicherheit aufweist, wenn sie mit ausreichend hoher Zufälligkeit erstellt wurde. Werfen wir beispielsweise eine Münze, die eine Tendenz zur Kopf-Seite hat, beeinflusst das die Zufälligkeit der Münzwürfe und damit auch der Binärzahl negativ.
In der Vergangenheit gab es zahlreiche Fälle von gehackten Wallets aufgrund schwacher Zufallszahlengeneratoren.
Aus diesem Grund nutzt die BitBox02 zur Erstellung des Seeds mehrere voneinander unabhängige Entropiequellen. Selbst im unwahrscheinlichen Fall, dass eine der Quellen kompromittiert wurde, sollte die Wallet sicher bleiben. Traust du dem nicht, gibt es die Option, die Wiederherstellungswörter selbst zu würfeln.
Wie das funktioniert, und worauf du dabei achten musst, erfährst du in einem zukünftigen Beitrag.
Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon Bacon
Ja, das ist tatsächlich eine gültige Seed-Phrase. Aufgrund der fehlenden Zufälligkeit würde ich sie aber nicht empfehlen.