Und bei diesem Schritt ist es so wie von dir vermutet: In beide Richtungen kein Problem und auch (bis auf die Checksumme) handschriftlich umsetzbar, da es sich nur um eine einfache Codierung handelt (11 bit Zufall entsprechen dem Index eines Wortes aus der Liste). ![]()
verstehe ich nicht ![]()
Für die visuellen Gesellen:
Mal in einer ruhigen Stunde aufmerksam betrachten: Mnemonic Seed - A simple explanation of BIP39.
Insbesonder dort ab Punkt 3, aber am besten von Anfang an mit eingeschaltetem Oberstübchen studieren, wo die Mnemonic Wörter mit 'nem „Salt“ "mnemonic" und dem leeren String (wenn keine optionale Mnemonic Passphrase benutzt wird) oder die optionale Mnemonic Passphrase angehängt wird und das ganze dann 2048mal durch eine Key-Stretching PBKDF2 Funktion genudelt wird mit HMAC-SHA512 als Hash-Funktion: da kommt das Key Stretching auf 512Bit her.
Nach dem Key Stretching geht’s dann hier weiter: https://learnmeabitcoin.com/technical/extended-keys#master-extended-keys
Etwas dröger kann man das auch alles im Mastering Bitcoin 2nd Edition, 5. Kapitel „Wallets“ nachlesen.
Mal eine Verständisfrage. Du beschreibst ja das Verfahren vom Brutforcing des PrivateKeys. Wie sieht es aber aus, wenn ich einen PublicKey habe und gezielt auf den dazugehörigen PrivateKey schließen will. Welche Hash- und Kryptofunktionen gelten dann?
Richtig. Ich habe beschrieben welche Erfolgsaussichten man im Vergleich hätte, wenn man entweder der Reihe nach Seedphrases durchprobiert, oder einfach direkt Private Keys. In beiden Fällen schaut man einfach, ob auf den Adressen Coins liegen.
Wenn man einen Public Key zurückrechnen wollte, müsste man das „Diskreter Logarithmus Problem (DLP)“ lösen oder zumindest intelligent bruteforcen. Damit bricht man auch die bei Bitcoin verwendete Elliptic Curve Cryptography (ECC).
Trotz der Private Key Länge von 256 Bit gibt es intelligente Algorithmen, bei denen der Aufwand für das Zurückrechnen eines Public Keys nicht in der Größenordnung von 2^{256} Versuchen liegt, sondern „nur“ noch in der Größenordnung von 2^{128} \approx 3,4 \cdot 10^{38} Versuchen. Die Pollard Rho Methode ist beispielsweie noch dazu nicht besonders speicherintensiv.
Die Erfolgsaussichten sind also tatsächlich in einer ähnlichen Größenordnung, wie wenn man einfach der Reihe nach Private Keys durchprobiert und die Adressen prüft.
Allerdings kann man gezielt die Public Keys mit großem Guthaben angreifen. Das Zurückrechnen eines Public Keys ist also noch lohnender als die oben diskutierten Varianten.
Wahnsinn
ich lass das mal so stehen und überprüfe die Einzelheiten nicht ![]()
Zum Glück! ![]()
Übrigens hatte ich es diesmal nicht extra dazu gesagt, aber es ist denke ich klar, dass solche Angriffe mit heutigen Mitteln erstens nicht machbar sind und sich zweitens nicht rentieren.
Zum Vergleich…
Beim Mining mit einem Nerdminer hast du einen Erwartungswert von ca. 10^{-11} Bitcoin pro Jahr. In Euro entspricht das aktuell 0,0001 ct pro Jahr.
Würdest du stattdessen versuchen, mit üblicher Privatanwender-Hardware und der Pollard Rho Methode eine der reichsten Bitcoin-Adressen mit bekannten Public Keys zu bruteforcen, wäre der Erwartungswert weit über eine Milliarde mal niedriger.
Auch wenn wir hier nur von normaler Hardware gesprochen haben, kann man sich trotzdem denken, dass das Bruteforcen selbst mit spezialisierter Hardware wie GPUs oder ASICs einfach nicht wirtschaftlich wäre. Schließlich muss man auch die Kosten von Hardware, Strom, Betrieb etc. berücksichtigen.
Danke für die Antwort.
Was macht neue Adressen, wie Taproot, mit Schnorrsignaturen sicherer? Müssen dann neben elliptischen Kurven auch andere Rechenschritte durchgeführten werden?
Tendenziell ist es also nur eine Frage der Zeit bis die Satoshi-Coins angegriffen werden?
Ehrlich gesagt habe ich mich mit den Schnorr-Signaturen bisher kaum beschäftigt. Aber da das Verfahren auch nur auf dem DLP basiert, ist es auch mit denselben Methoden angreifbar (siehe Wikipedia).
Unter der Haube verwendet Schnorr bei Bitcoin nämlich dieselbe elliptische Kurve, um ein Schlüsselpaar zu erzeugen. Nur das Verfahren zur Erstellung der Signatur ist anders.
Noch dazu bildet bei Taproot der Public Key selbst direkt die Adresse, ohne nochmal gehasht zu werden. Man ist also wieder da angekommen, wo man zu Beginn vor den Legacy Adressen war.
Ein Angreifer hätte also lange Zeit, eine reiche Taproot-„Adresse“ anzugreifen, sollte das irgendwann mit neuen Mitteln machbar werden. Bei den üblichen Adressformaten vor Taproot wird der Public Key erst bei einer Transaktion veröffentlicht, bevor er kurz danach dann eh leer ist.
Taproot bietet speziell für Bitcoin meines Wissens einfach keinen Vorteil bzgl. der kryptographischen Sicherheit. Ich habe allerdings gelesen, dass Schnorr-Signaturen deshalb etwas sicherer sein sollen, weil sie ein weniger komplexes Verfahren verwenden, also weniger Angriffsfläche bieten.
Due Vorteile von Taproot/Schnorr liegen eher in der Privacy, in der Effizienz und unter Umständen in den Gebühren.
→ Blocktrainer – News & Blog rund um das Thema Bitcoin
→ Was sind Bitcoin-Adressen?
Unklar ist mir aktuell auch noch, ob eines der in Zukunft in Frage kommenden quanten-resistenten Signaturverfahren ähnliche Vorteile wie Taproot bietet. Dafür müsste ich mich mal im Detail einarbeiten.
Das ist zu 100% sicher, falls es Bitcoin bis dahin gibt. Beim Übergang auf neue Verfahren muss man seine Coins einmal auf das neue Format transferieren. Sonst sind sie irgendwann weg.
Immerhin besser als beim „Store now, decrypt later“ Problem von verschlüsselten Daten. Wenn die mal jemand hat, hat er sie für immer.
Ich liebe es eigentlich immer wenn dieses Thema aufkommt, einmal zahl aussprechen, löst das Problem hehe , das is so krank :D