Ein Private Key ist weder eine Seedphrase, noch eine Passphrase

Crypto-Logisch by Severin Schell

Ein Private Key ist weder eine Seedphrase, noch eine Passphrase

Wenn du eine Wallet anlegst, solltest du darauf achten deinen PrivateKey, bestehend aus 12 bis 24 Wörtern gut verwahren.

Diesen und ähnliche Sätze liest man häufig, auch wenn sie viel warheit enthalten, so sorgen Sie doch leider Aufgrund falscher Verwendung von Begriffen häufig für Verwirrung.

Bis zur Einführung von BIP39 (Bitcoin Improvement Proposal 39 – Mnemonic Seedphrase) gab es nur Adresse/PublicKey/PrivateKey-Paare.

Das heißt wenn ich eine (Core) Bitcoin-Wallet nahm generierte mir diese ein Adresspaar (ein paar tausend Stück beim ersten starten, später pro Transaktion oder per manueller Triggerung – via BTC empfangen) mittels eines Zufallsgenerators und legte dieses in meiner „wallet.dat“ Datei ab.

Erst mit Einführung der HD-Wallet Struktur wurde der Zufallsgenerator von einer hierarchisch deterministischen (HD) Struktur abgelöst, welche aufbauend auf einem vorab per Zufallsgenerator erzeugten „HD-Keypairs“ (ExtendedPrivateKey/ExtendedPublicKey) (abgelegt in der wallet.dat – eine menschenlesbare Version war zuerst nicht angedacht) alle nachfolgenden Adressen generieren kann.

Mit BIP39 wurde dieser HD-Key von einer neueren Version abgelöst, welche nun in menschenlesbarer Form als sogenannte Mnemonic-Seedphrase speicherbar ist.

Diese Seedphrase besteht aus 12, 18 oder 24 englischen Wörten, von denen es 4096 Unterschiedliche gibt. (D.h. es gibt bspw. Bei der Verwendung von 24 Wörtern 4096^24 verschiedene Kombinationen die möglich wären.)

Gleichzeitig kann man diese Seedphrase, mittels einer Passphrase zusätzlich verschlüsseln, mit der Seedphrase alleine findet man dann zwar auch eine Bitcoin wallet, diese ist jedoch dann vllt. leer oder als Alibi mit lediglich 0.001 btc befüllt. Verwendet man nun jedoch die Seedphrase in Verbindung mit der Passphrase, so erhält man Zugriff auf den eigentlichen Account.

Dieser aus der Seedphrase generierte HD-Key, oder auch ExtendedPrivateKey/ExtendedPublicKey, wird mittels eines sogenannten Derivation Path variiert, somit ist es möglich Multi-Coin-Wallets, aber auch Legacy, sowie Segwit-Wallets aus einer einzelnen Mnemonic Seedphrase zu generieren.

Beispiel:

Die MultiCoin-Wallet Coinomi verwendet für Bitcoin den sogenannten DerivationPath:
M/44H/0H/0H

Und für bspw. Litecoin:
M/44H/2H/0H

Gleichzeitig kann man in Coinomi auch zwei Litecoin (oder jede andere unterstützte Cryptowährung) Wallet parallel nutzen, der DerivationPath bei einer zweiten Litecoin Wallet sähe dann wie folgt aus:
M/44H/2H/1H

Ich hoffe mit dieser doch recht komplexen Erklärung konnte ich für etwas Aufklärung sorgen.

Angewendet auf das Eingangs genannte Beispiel, reicht es also nicht einen einzelnen PrivateKey zu sichern, sondern es sollte die Seedphrase sein.

Wichtig wird dies meist dann wenn es schon zu spät ist, so hatte mich letztes Jahr erst jemand gefragt, warum er trotz gesichertem PrivateKey seine (Core) Wallet nicht wiederherstellen könne. Da der PrivateKey jedoch nur einen winzigen Bruchteil der Wallet darstellt, konnte er auch nur jenen Bruchteil wiederherstellen.

Dieses Beispiel zeigt wie gefährlich es für den Einzelnen werden kann bei diesem Thema die Begrifflichkeiten zu vertauschen.

Tags: , , , , , ,