Deterministic Wallet

Deterministische Brieftasche ist ein System zum Ableiten von Schlüsseln von einem einzigen Startpunkt, der als Seed bekannt ist. Es kann in einigen Fällen die Erstellung öffentlicher Adressen ohne Kenntnis des privaten Schlüssels ermöglichen. Seeds werden typischerweise in menschenlesbare Wörter in einer Mnemonische Phrase serialisiert.
Inhaltsverzeichnis
HD Wallet – Hierarchische Deterministische Brieftasche
Seit 2011 arbeitet das Bitcoin-Kern-Software-Team an der Lösung von Problemen über verschiedene Probleme, verschiedenen Implementierungen von mehr EPS und Möglichkeiten, es mit Kryptowährungen zu betreiben. Immerhin wurden diese Entwicklungen unter den No-BIP (Bitcoin Protocol Improvement) 32, 39 und 44 unter dem gemeinsamen Namen HD-Wallet zusammengefasst.
Der erste Ansatz für Technologie HD Wallet hat sich zu einem Dienstprogramm Casascius Bitcoin-Adresse. Es war beabsichtigt, Bitcoin Address von einem Teamschlag zu erzeugen. Änderungen an dem Bitcoin-Protokoll, das BIP 0032 genannt wird, werden jetzt in vielen Desktop-, Mobil- und Wallet-Geräten verwendet – TREZOR, Electrum, CarbonWallet und viele andere. Der Hauptschlüssel hier ist der 128-Bit-Wert, der für den Benutzer wie eine reguläre Phrase von 12 Wörtern aussieht. Um den einfachen FRA-Prozess des armen Hackers zu erschweren, übergibt jede Phrase 100 000 Munitionssofa und SHA256. Die HD-Wallet-Technologie umfasst auch Änderungen am Bitcoin-Protokoll unter dem Code BIP0039 (Mnemonic-Code zum Erzeugen deterministischer Schlüssel) und BIP 0044 (Multi-Account in der Hierarchie deterministischer Brieftasche).
Wie funktionieren deterministische Geldbörsen?
Es gibt zwei Haupttypen von deterministischen Brieftaschen, die gegenwärtig verwendet werden. Electrum Geldbörsen und BIP32 Brieftaschen. Sie verwenden einen sehr ähnlichen Algorithmus, der es beiden ermöglicht, die Haupteigenschaft des öffentlichen Schlüssels zu haben. Obwohl die BIP32 Brieftaschen weiter gehen, indem sie auch die Hierarchie-Eigenschaft enthalten. Electrum Wallets sind nur für eine Ebene konzipiert. Obwohl man das Electrum-Protokoll sicherlich erweitern könnte, um es auch hierarchisch zu machen.
Die Master-Public-Key-Eigenschaft ist vielleicht das überraschendere Merkmal von deterministischen Brieftaschen und wird zuerst im Detail untersucht. Der Grund, warum es funktioniert, ist, dass Bitcoin öffentliche Schlüssel – nicht ganz die gleiche Sache wie Bitcoin-Adressen, sondern eine eng verwandte Form – wie normale Ganzzahlen addiert und subtrahiert werden können (obwohl Sie insbesondere nicht zwei öffentliche Schlüssel zusammen multiplizieren können), und somit können die gleichen arithmetischen Operationen auf zwei “Ebenen” durchgeführt werden – um private Schlüssel zu erzeugen, wird die Arithmetik auf der Ebene von ganzen Zahlen durchgeführt, und um öffentliche Schlüssel zu erzeugen, wird dies auf der Ebene von öffentlichen Schlüsseln durchgeführt.
Der präzise Algorithmus, der von allen HD Wallet-Systemen verwendet wird. Um den privaten Schlüssel am Index i zu berechnen (z. B. i = 5), berechnen Sie einen “Offset” -Parameter mit einer Funktion (technisch, einem Hash) des Index und des öffentlichen Hauptschlüssels. Fügen Sie dann einfach den privaten Masterschlüssel und den Offset zusammen hinzu. Um den öffentlichen Schlüssel am Index i zu berechnen, berechnen Sie den Versatz auf die gleiche Weise, konvertieren Sie den Versatz in einen öffentlichen Schlüssel, und fügen Sie den öffentlichen Hauptschlüssel und den öffentlichen Versatzschlüssel zusammen hinzu.
Wir können dies mit Index 1, Index 2 usw. wiederholen. Sie können es selbst mit Ihrer eigenen Electrum-Brieftasche versuchen, wenn Sie eine besitzen. Das Mitnehmen ist folgendes: Sie können Ihren Master-Schlüssel sicher an einem unsicheren Ort ablegen oder ihn sogar an Dritte wie Auditoren weitergeben, wenn es das Leben für Sie angenehmer macht; behalte einfach den privaten Masterschlüssel (und den Seeds) für dich.
Sicherheit und Bequemlichkeit
Frühere Clients erzeugen einen Puffer aus zufälligen privaten Schlüsseln, die in Zukunft als Adressen empfangen und geändert werden sollen. Dies hat zur Folge, dass Sicherungen nach einer kurzen Zeit ungültig werden, wenn der Schlüsselpoolpuffer (normalerweise 100 Adressen) erschöpft ist. Deterministische Brieftaschen können eine unbegrenzte Anzahl von Adressen im laufenden Betrieb generieren und leiden daher nicht unter diesem Problem. Da die Adressen in einer bekannten Weise und nicht zufällig generiert werden, können einige Kunden auf mehreren Geräten ohne das Risiko des Verlustes von Geldmitteln verwendet werden. Benutzer können bequem eine einzige Sicherungskopie des Seeds in einem für Menschen lesbaren Format erstellen, das die Lebensdauer der Brieftasche verlängert, ohne dass die Sorge besteht, dass diese Sicherung veraltet wird.
Bestimmte Arten von deterministischen Brieftaschen (BIP0032, Armoury, Coinkite und Coinb.in) ermöglichen zusätzlich die vollständige Trennung der privaten und öffentlichen Schlüsselerzeugung für mehr Sicherheit und Bequemlichkeit. In diesem Modell kann ein Server so eingerichtet werden, dass er nur den Master Public Key einer bestimmten deterministischen (HD) Brieftasche kennt. Dadurch kann der Server so viele öffentliche Schlüssel erstellen, wie für das Empfangen von Geldmitteln erforderlich sind. Aber ein Kompromiss des MPK wird einem Angreifer nicht erlauben, aus dem Geldbeutel auszugeben. Sie können alternativ in Electrum und Armoury eingesetzt werden, um Offline-Speicher und Ausgaben komplett zu ermöglichen, wobei ein Offline-Computer den privaten Schlüssel kennt und ein Online-Rechner nur den MPK kennt. Transaktionen, die Münzen ausgeben, werden zwischen den beiden Computern über einen USB-Speicher transportiert, wodurch der Offline-Computer keinem netzwerkbasierten Angriff ausgesetzt wird.
Deterministische Geldbörsen, die durch Hardware-Wallets implementiert werden, halten die generierten privaten Schlüssel offline und setzen sie dem Computer auch dann nicht aus, wenn sie Münzen ausgeben.
Arten von Brieftaschen
Typ 1 deterministische Brieftasche
Eine deterministische Brieftasche vom Typ 1 ist eine einfache Methode zum Erzeugen von Adressen aus einer bekannten Startzeichenfolge. Erweiterte Funktionen wie ein öffentlicher Master-Schlüssel sind nicht zulässig. Um einen privaten Schlüssel zu generieren, nehmen Sie SHA-256 (String + n), wobei n eine ASCII-codierte Zahl ist, die bei 1 beginnt und inkrementell als zusätzliche Schlüssel benötigt wird.
Diese Art von Brieftasche kann von Casascius Bitcoin Address Utility erstellt werden.
Typ 2 hierarchische deterministische Brieftasche
Dieser Wallet-Typ wird in BIP 0032 beschrieben und ist vollständig in Trezor, Electrum und Carbon Wallet implementiert. Der Seed ist ein zufälliger 128-Bit-Wert, der dem Benutzer als 12-Wort-Mnemonik unter Verwendung gebräuchlicher englischer Wörter präsentiert wird. Der Seed wird nach 100.000 Runden SHA-256 verwendet, um Angriffe gegen schwache vom Benutzer gewählte Strings zu verlangsamen.
Die ursprüngliche Beschreibung und Funktionsweise dieses Brieftasche-Typs wird Gregory Maxwell zugeschrieben.
Armoury deterministische Brieftasche
Armory verfügt über ein eigenes deterministisches Brieftaschenformat vom Typ 2, das auf einem “Stammschlüssel” und einem “Kettencode” basiert. Frühere Versionen von Armory mussten sowohl den “root key” als auch den “chaincode” sichern, während neuere Versionen den Chaincode vom privaten Schlüssel auf nicht reversible Weise ableiten. Diese neueren Armory-Wallets (0.89+) benötigen nur den einzelnen 256-Bit-Root-Key. Dieses ältere Format soll zugunsten des Standard-BIP0032-Formats auslaufen.