Jeder, der die eigenen Bitcoin selbst verwahrt, kennt es: Um bei Zugriffsverlust auf die Hard- oder Software-Wallet nicht alles zu verlieren, schreibt man sich einige englische Wörter auf ein Blatt Papier, mit denen man jederzeit, mit den allermeisten Wallets, seine wertvollen Schlüssel wiederherstellen kann. Wir meinen natürlich die sogenannte Mnemonic Phrase, die in der Regel aus 12 oder 24 Wörtern besteht. Genau um diese Unterscheidung, also die Länge der Mnemonic, soll es in diesem Beitrag gehen. Wir schauen uns etwas genauer an, warum es in der Praxis eigentlich gar keinen relevanten Unterschied zwischen 12 und 24 Wörtern gibt - zumindest was die Sicherheit angeht.

Während bei einigen Wallets dem Nutzer die Wahl zwischen 12 oder 24 Wörtern überlassen wird, geben viele eine der beiden Optionen einfach vor. Häufig sind es die Hardware-Wallets, welche auf 24 Wörter setzen und die Software-Wallets auf Smartphone oder Rechner, die sich mit 12 Wörtern zufriedengeben. Auf den ersten Blick erscheint das auch logisch: 24 Wörter sind schließlich doppelt so lang wie 12, und bieten, was die Sicherheit vor Angreifern angeht, auch doppelten Schutz, oder etwa nicht?

Entropie

Jede moderne Bitcoin-Wallet basiert auf dem gleichen Prinzip: Aus einer einzigen, sehr großen, Zufallszahl werden beliebig viele Schlüssel zur Verwahrung der eigenen Coins abgeleitet. In jedem dieser Schlüssel "steckt" die ursprüngliche Zufallszahl, da diese schließlich eindeutig voneinander abhängen. Eine Wallet würfelt also nicht jeden einzelnen Schlüssel komplett neu aus, sondern bedient sich an einem bestehenden Würfelergebnis: den 12 oder 24 Wörtern. Gelingt es einem Angreifer, diese Wörter zu erraten, hat er vollständigen Zugriff auf alle damit abgesicherten Bitcoin.

Lese-Tipp: Wie funktionieren HD-Wallets und was sind Ableitungspfade?

Hinter einer Mnemonic mit 12 Wörtern versteckt sich nichts anderes als eine 128 Bit große Zahl, also 128 aufeinanderfolgende Nullen und Einsen. Wurde diese Zahl tatsächlich komplett zufällig erzeugt, müssten wir für jedes einzelne Bit mit einer fifty-fifty Chance raten, ob es sich um eine Null oder eine Eins handelt, um die gesamte Zahl erraten zu können.

01111000010 11110011000 11111011000 01001100100 10000110011 11110110100 11010011010 10111011001 10000111101 01101100110 01100101010 0010011

Wir sprechen daher auch von 128 Bit Entropie, ein Maß in der Informatik, um den mittleren Informationsgehalt einer Nachricht zu bestimmen. Für diesen Beitrag reicht es uns, dieses doch recht komplexe Thema auf eine simple Analogie herunterzubrechen: Wie viele Versuche brauche ich, bis ich eine Zahl erraten habe?

Diese Frage beantwortet sich für 24 Wörter zunächst recht einfach. Hier nutzen wir nämlich 256 Bit Entropie, also doppelt so viel wie bei 12 Wörtern. Entsprechend muss ein Angreifer auch um ein Vielfaches öfter raten, nämlich etwa 2256 Mal, um Erfolg zu haben. In Anbetracht der unfassbaren Größe dieser Zahl, die tatsächlich, was die Größenordnung angeht, mit der geschätzten Anzahl der Atome im sichtbaren Universum vergleichbar ist (1084), ein Ding der Unmöglichkeit.

Doch auch das Absuchen von 2128 Zahlen ist in der Praxis nicht realisierbar. Zwar ist der Suchraum hier deutlich geringer, 2128 ist nämlich eher mit dem Gewicht unseres Planeten in Gramm (292) oder der Anzahl Atome auf der Erde (2166) vergleichbar, für einen Computer sind das aber dennoch Größenordnungen, die auch in naher Zukunft noch weit entfernt des Machbaren liegen.

Wir halten fest: Was das direkte Erraten der Mnemonic bzw. der dahinter stehenden Zahl betrifft, sind 24 Wörter offensichtlich deutlich sicherer als 12, auch wenn der Unterschied in der Praxis nicht unbedingt relevant ist. Beide Größenordnungen sind nämlich für heutige und auch zukünftige Computer viel zu groß und ein Angriff ist unrealistisch bis komplett vernachlässigbar.

Wichtig: Wir reden hier über Zweierpotenzen, deren Größe man vor allem im Vergleich schnell unterschätzen kann. Die Zahl 2256 ist nicht doppelt so groß wie 2128, sondern etwa 340282366920938463463374607431768211456 Mal größer. Das Doppelte von 2128 ist 2129.

Die Abkürzung

Auch wenn die Diskussion um das Erraten einer Mnemonic im vorherigen Absatz sicherlich spannend ist, spielt es in der tatsächlichen Praxis eigentlich gar keine Rolle. Denn ein weiterer entscheidender Aspekt für die Sicherheit der eigenen Bitcoin wird bei diesen Überlegungen häufig außer Acht gelassen: Eine Abkürzung, die in jedem Fall, egal ob man 12 oder 24 Wörter nutzt, stets die einfachere Alternative darstellt.

Um Bitcoin auszugeben, erzeugt unsere Wallet mit einem privaten Schlüssel eine digitale Signatur, welche, ohne den privaten Schlüssel preiszugeben, zusammen mit einem öffentlichen Schlüssel beweist, dass wir den privaten Schlüssel auch tatsächlich besitzen. Diese Asymmetrie ist der Grundbaustein, warum Bitcoin überhaupt funktionieren kann. Dafür stützt man sich auf ein Problem in der Mathematik, welches in die eine Richtung extrem leicht, aber in die andere Richtung nur sehr schwer lösbar ist: das diskrete Logarithmus Problem (DLP). Die mathematischen Details interessieren uns an dieser Stelle nicht, wichtig ist nur die Tatsache, dass die Sicherheit unserer Bitcoin alleine auf diesem mathematischen Problem beruht, sobald wir einen öffentlichen Schlüssel veröffentlichen.

Damit erreichen wir endlich den entscheidenden Punkt der Argumentationskette. Die in Bitcoin verwendeten privaten Schlüssel haben grundsätzlich eine Länge von 256 Bit. Auch wenn das diskrete Logarithmus Problem nicht so einfach lösbar ist, also den verwendeten privaten Schlüssel zu erraten, gibt es Methoden und Algorithmen, um dennoch effizienter und schneller zu sein, als würde man einfach nur raten. Tatsächlich kann damit das Sicherheitsniveau von 256 auf 128 Bit gesenkt werden. Ein Angreifer muss also, völlig egal, ob hinter den privaten Schlüsseln eine 256 Bit Zufallszahl (also 24 Wörter) stehen, "nur" 2128 Operationen durchführen, um das Problem zu lösen und auf den privaten Schlüssel zurückzurechnen. Da es sich hier um einen grundlegenden Ansatz handelt, gilt dies sowohl für das bisher gängige ECDSA-Signaturverfahren, als auch für die neuen Schnorr-Signaturen, welche mit dem Taproot Update Ende 2021 ihren Einzug fanden.

An dieser Stelle könnte man zwar argumentieren, dass man auf der "sicheren Seite" ist, solange man seine Bitcoin nicht ausgibt, da bis zu diesem Zeitpunkt schließlich auch kein öffentlicher Schlüssel veröffentlicht wird. Doch in der Praxis ist dieses Argument hinfällig, da ein großer Teil der sich im Umlauf befindenden Bitcoin bereits auf Adressen mit bekanntem öffentlichen Schlüssel liegen. In den neueren Taproot-Adressen liegt der öffentliche Schlüssel sogar direkt lesbar "in der Adresse" selbst und ist von Anfang an bekannt.

Das Vertrauen in Bitcoin würde schwinden, sollte ein derart effizienter Angriff Realität werden. Glücklicherweise ist dies natürlich nicht der Fall und wird sich auch auf absehbare Zeit nicht ändern. Es sollte klar sein, dass wir hier von sehr theoretischen und extrem unwahrscheinlichen Szenarien sprechen, mit dem Ziel, den vernachlässigbaren Unterschied zwischen 12 und 24 Wörtern zu verdeutlichen. Man kann nämlich argumentieren, dass das gesamte Bitcoin-Netzwerk selbst, auf einem Sicherheitsniveau von 128 Bit beruht. Geht man als Endnutzer über dieses Niveau hinaus, bringt dies also keinen relevanten Vorteil mit sich.

12 Wörter sind praktischer

Die bisherigen theoretischen Überlegungen sind zwar schön und gut, aber was soll man mit den gewonnenen Erkenntnissen denn überhaupt anfangen?

Es geht eigentlich nur darum, den Mythos "12 Wörter sind nicht so sicher" aus der Welt zu räumen. Da man nämlich mit der Wahl, 12 Wörter für die eigene Wallet zu nutzen, keinen relevanten Sicherheitsnachteil eingeht, kann man umgekehrt von der besseren Nutzererfahrung von 12 Wörtern profitieren. Vor allem bei Backups auf Stahl würden 12 zusätzliche Wörter auch zusätzliche Anschaffungskosten bedeuten, auf die man somit verzichten kann. Auch was das Auswendiglernen der eigenen Mnemonic angeht, sind 12 Wörter natürlich um einiges dankbarer. Zwar sollte man sich auf keinen Fall alleine auf das Merken der eigenen Mnemonic verlassen, aber als zusätzliche Maßnahme spricht sicherlich nichts dagegen.

Die von Blocktrainer.de empfohlene BitBox02 wird in einem kommenden Update für die BitBoxApp neben den bisher üblichen 24 Wörtern auch optional das Erstellen einer Wallet mit 12 Wörtern ermöglichen. Viele andere Hardware-Wallets, unter anderem die Blockstream Jade, aber auch DIY-Lösungen wie der SeedSigner, können ebenfalls mit 12 Wörtern genutzt werden. Wer also ohnehin plant, eine neue Wallet zu erstellen und von den praktischen Vorteilen einer Mnemonic mit 12 Wörtern profitieren würde, kann dies mit gutem Gewissen tun.

24 Wörter schaden nicht

Alle anderen soll dieser Beitrag natürlich nicht dazu verleiten, auf eine neue Wallet mit 12 Wörtern umzusteigen. Im Gegenteil, es schadet nicht 24 Wörter zu nutzen, vor allem da die Vorteile von 12 Wörtern ohnehin ziemlich überschaubar sind. Nutzt man einfache Backups auf Papier und legt keinen Wert auf Auswendiglernen, wird einem das einmalige Aufschreiben von weiteren 12 Wörtern wohl kaum stören. Bei Backups auf microSD-Karten ist diese Überlegung sowieso hinfällig.

Mit 24 Wörtern hat man außerdem etwas mehr Spielraum für Fehler. Sollten aus welchem Grund auch immer einzelne Wörter bekannt werden, oder die Qualität der Zufallszahl nicht ideal sein, steht man nicht so schnell am Abgrund, als es mit 12 Wörtern der Fall wäre.

Wie so oft gibt es also nicht die "eine Wahrheit", sondern mehrere Faktoren, die individuell für eine eigene Entscheidung abgewogen werden sollten. Wer aber 12 Wörter nutzen möchte, sollte vor der vermeintlich geringeren Sicherheit, die wir mit diesem Beitrag hoffentlich aus dem Weg geräumt haben, nicht zurückschrecken.


[partnerlink kategorie='premiumwallets']