Bisher ist es üblich für seine Wallet(s) einen einzigen Seed zur Wiederherstellung zu speichern. Dies hat aber verschiedene Nachteile:

  • Jeder der diesen Seed findet, klaut oder besitzt kann auf deine Coins zugreifen
  • Teilst du den Seed in verschiedene Stücke (z.B. bei 24 Wörtern in jeweils 2 a 12 Wörter) verringert sich die Sicherheit.
  • Verlierst du einen Zettel, kommst du nicht mehr an deine Coins

Zu genau diesem Problem hat sich 1979 Adi Shamir (einer der Erfinder von RSA) Gedanken gemacht und das Shamir’s Secret Sharing Verfahren entwickelt. Dieses ermöglicht es ein Geheimnis so aufzuteilen, dass zum Rekonstruieren nur eine festgelegte Teilmenge benötigt wird.

Du kannst also drei Backup-Seeds erstellen und festlegen, dass zum Wiederherstellen der Wallet nur zwei davon benötigt werden. Nun kannst du z.B. einen Seed bei deiner Oma einlagern, einen bei deinen Eltern und einen bei dir zu Hause. Somit wäre es nicht mehr schlimm, wenn jemand unbefugtes einen der Seeds einsehen kann, oder dir der Seed verloren geht.

Dieses Verfahren wurde bereits Ende Dezember 2017 von SatoshiLabs im Improvement Proposals Nummer 0039 für Wallet Seeds abgewandelt und seit kurzem gibt es die erste Implementierung für ein Hardware Wallet. Mit dem Trezor Model T (Shop-Link) kann man seit kurzem dieses Verfahren nutzen (sieh englischsprachige Anleitung von Trezor)

Außerdem wurde eine Python Implementierung veröffentlicht, mit der man das Verfahren auch ohne Trezor ausprobieren kann.

Fun Facts

Mit „Shamir’s Secret-Sharing for Mnemonic Codes“ kannst du bis zu 16 Seeds erstellen und frei wählen wie viele zur Wiederherstellung benötigt werden.

Shamir Seeds sind ein bisschen länger als gewöhnliche Seeds. Bei 128-Bit sind es 20 Wörter, bei 256 Bit sind es 33 Wörter.

Die (englische) Wörterliste besteht aus 1024 Wörtern. Genau wie bei den üblichen Mnemonic Codes reichen die ersten 4 Buchstaben eines Wortes um es zu identifizieren.

Zu Ehren des Bitcoin Erfinders enthält die Liste das Wort „satoshi“.

Die ersten zwei bis drei Wörter eines solchen Seeds sind immer gleich. Dadurch kannst du auf einen Blick erkennen welche Seeds zueinander gehören.

Seedception

Du kannst einen Seed nochmal weiter aufteilen und somit z.B. einen Seed aus einem 2-von-4 Seed (Es gibt 4 Seeds, 2 werden zur Rekonstruktion benötigt) nochmals in einen 3-von-5 Seed unterteilen. Damit kannst du dann Leuten, denen du unterschiedlich stark vertraust, verschiedene Seeds zukommen lassen.

Dies könntest du in der Praxis zum Beispiel wie folgt nutzen:

Du erstellst 4 Seeds nach dem Schema 2-von-4. Diese nennen wir A, B, C und D.
Seeds A und B bewahrst du selber an zwei unterschiedlichen Orten auf.
Seed C teilst du nun in 3-von-5 Seeds, welche du an fünf Freunde weiter gibst.

Seed D unterteilst du in 2-von-6 Seeds und gibst diese an sechs Familienmitglieder weiter.

Daraus ergeben sich dann folgende Szenarien:

  • Deine Freunde müssen sich mindestens zu dritt gegen dich „verschwören“ um einen Seed wiederherzustellen
  • Von deine Familie reichen 2 Personen für einen Seed
  • Da es sich aber ursprünglich um einen 2-von-4 Seed handelt, müsste z.B. die Gruppe von drei Freunden sich mit zwei Familienmitgliedern zusammenschließen oder dir einen deiner Seeds stehlen um an deine Coins zu kommen.
  • Solange du deine Seeds noch hast, könnten alle Freunde und Familienmitglieder ihren Seed verlieren und du hast immer noch Zugriff
  • Im eigenen Todesfall, können sich Familie und Freunde zusammentun um auf die Coins zuzugreifen
  • Verlierst du beide Seeds, kannst du die Seeds von drei Freunden und zwei Familienmitgliedern einsammeln und trotzdem noch an deine Wallet kommen

Fazit

Die Aufteilung von Seeds ergibt in der Praxis viel Sinn und ermöglicht es dir ohne die bisherigen Kompromisse der Sicherheit (beim verwenden von nur einem Mnemonic Seed) für z.B. seinen eigenen Todesfall vorzusorgen.

Ich bin gespannt welche Möglichkeiten sich aus diesem System noch entwickeln und hoffe, dass viele Wallets diese Funktion in Zukunft implementieren.

Autor

Geboren in Münster, hat er immer noch keinen überzeugenden Grund gefunden, diese tolle Stadt zu verlassen. Als Programmierer macht er technisch alles möglich, was du hier so findest. Du willst dich bei mir bedanken? Dann guck doch mal in meine Amazon Wunschliste