Brute Forcing die 24 Seed Wörter?

Das Berechnungs-Verfahren von der Seed Phrase (24 Wörter + Passphrase) bis zu den Private Keys ist absichtlich so aufwändig vorgesehen, damit sich eine Brute Force Attacke nicht lohnt.

Das Kosten/Nutzen Verhältnis für direktes Brute Forcen eines einzelnen Bitcoin Private Keys ist in meinen Augen wesentlich besser.

Hier ein kurzer Vergleich von Brute Force Seed Phrase und Brute Force Bitcoin Private Key.

Wenn man eine Seed Phrase findet, die eine Adresse mit Balance ausspuckt, hat man bestenfalls gleich mehrere Coin Typen und Adressen mit Guthaben gefunden. Das ist der einzige Vorteil.

Aber:

  • Ich vermute, dass es pro Seed Phrase gar nicht so viele Adressen mit aktuellem Guthaben gibt. Viele werden nur wenige Adressen verwendet haben, manche vielleicht über 1000. Im Mittel vermute ich aber, dass nur in der Größenordnung von 10 Adressen pro Seed Phrase aktuell ein Guthaben aufweisen (alle Coin Typen inbegriffen).

  • Um von der Seed Phrase zu den einzelnen Private Keys zu kommen, sind viele Rechenschritte erforderlich, für die es meines Wissens heute noch keine spezialisierte Hardware wie z.B. ASICs gibt.
    Der Aufwand wird durch die PBKDF2 Funktion dominiert, in der 2048 Mal mit HMAC-SHA512 gehasht wird, um von der Seed Phrase zum BIP32 Seed zu kommen.
    Für jeden weiteren Ableitungsschritt bis zu den endgültigen Private Keys muss nochmal HMAC-SHA512 ausgeführt werden.
    Guter LINK dazu.

  • Für den ersten vom Seed abgeleiteten Bitcoin Private Key wird die Adresse berechnet. Leider reicht es nicht, diese im Katalog der aktuellen Adressen mit Guthaben zu suchen, da sie als erste Adresse des Seeds inzwischen schon wieder leer sein könnte. Es müssen also alle jemals verwendeten Adressen durchsucht werden.

Das Verfahren vom Private Key zur Adresse, um zu prüfen ob ein Guthaben vorhanden ist, ist in beiden Fällen das gleiche. Private Key → Elliptic Curve → SHA256 → RIPEMD160 → Adresse.

Ich nehme vereinfachend an, dass der Aufwand für alle bisher genannten Verfahren der gleiche ist (SHA256 Hash, SHA512 Hash, RIPEMD160 Hash, Elliptic Curve Multipl.). Leider weiß ich nicht wie gut diese Annahme ist.

Dann habe ich ausgehend vom Private Key bis zur Adresse 3 Schritte.

Ausgehend von der Seed Phrase aber mehr als 2051 Schritte, also in dieser groben Näherung fast 700 mal mehr Aufwand. Zusätzlich müssen alle bisher verwendeten Adressen durchsucht werden. Am Ende finde ich aber pro Seed Phrase nur relativ wenige Adressen mit Guthaben.

Ergebnis:
Das meiste Guthaben wird sowieso auf Bitcoin Adressen liegen, nicht in anderen Coins. Deshalb und wegen den bisher genannten Argumenten ist es denke ich sinnvoller, gleich nach einzelnen Bitcoin Private Keys zu suchen.

Zum Aufwand einen Bitcoin Private Key zu finden:

Es gibt zwar 2^256 Private Keys, aber durch den RIPEMD160 Hash nur 2^160 Adressen. D.h. für jede Bitcoin Adresse gibt es im Mittel 2^96 Private Keys, mit denen man das Guthaben transferieren kann.

Ich habe keine guten Angaben gefunden bzw. sie nicht verstanden, aber es werden wohl in der Größenordnung von aktuell ca. 2^25 Bitcoin Adressen ein Guthaben aufweisen.

Die Erfolgswahrscheinlichkeit für einen einzelnen Private Key ein Guthaben zu finden ist also ca. 2^25 / 2^160 = 2,3e-41, entsprechend näherungsweise 4,3e+40 Versuchen bis zum Erfolg.

Angenommen, das aktuelle Mining Equipment wäre nicht nur auf SHA256 spezialisiert, sondern ebenso auf Elliptic Curve Multiplication und RIPEMD160. Und angenommen, der Aufwand für diese drei Verfahren wäre jeweils der gleiche.

Dann hätte ich weltweit ungefähr eine maximale Hashrate von maximal 1,7e+20 s⁻¹. Pro Private Key brauche ich drei Schritte bis zur Adresse, also hätte ich 5,9e+19 Private Key Versuche pro Sekunde.

Um einen guten Private Key zu finden bräuchte ich dann 4,3e+40 / 5,9e+19 s⁻¹ = mehr als 1e+13 Jahre. Das entspricht ungefähr dem 1000fachen Alter des Universums.

Die Abschätzung ist sehr ungenau, aber selbst wenn es einige Größenordnungen weniger sein sollten, sind wir erst einmal safe. :slightly_smiling_face:

Zusätzlich zur technischen (Nicht-)Machbarkeit wäre der Energiebedarf so immens, dass sich das Kosten/Nutzen Verhältnis noch in ferner Zukunft nicht lohnen wird.

19 „Gefällt mir“