Zum Hauptinhalt springen

Was ist eine Software-Wallet?

Heute aktualisiert

Konzept einer Software-Wallet

Eine Software-Wallet verwendet eine Zufallszahl, um einen Master-Privatschlüssel zu erzeugen.

Anschließend erzeugt ein deterministischer, irreversibler Algorithmus auf Basis des Master-Privatschlüssels eine beliebige Anzahl von Unter-Privatschlüsseln.

Warum benötigen wir einen "deterministischen, irreversiblen" Algorithmus? Weil "deterministisch" gewährleistet, dass alle Unter-Privatschlüssel aus einem Master-Privatschlüssel erzeugt werden können, während "irreversibel" sicherstellt, dass aus einem Unter-Privatschlüssel nicht auf den Master-Privatschlüssel zurückgeschlossen werden kann.

Der Grund, weshalb sie hierarchisch deterministische Wallet genannt wird, ist, dass die Ableitungsstruktur eines Privatschlüssels eine baumartige Struktur ist, in der ein Elternschlüssel aus einer Reihe von Kindschlüsseln abgeleitet werden kann, und jeder Kindschlüssel wiederum aus einer Reihe von Enkelkindschlüsseln abgeleitet werden kann, und so weiter, ins Unendliche.

Wenn wir eine HD-Wallet erstellen oder ein Wallet sichern, wird ein Hilfswort erzeugt. Das Hilfswort ist eine Folge englischer Wörter, und diese Wortfolge erzeugt den Seed, der wiederum alle Privatschlüssel erzeugt. Die Wortfolge ist außerdem das Backup der Wallet, mit dem sie wiederhergestellt werden kann. Und der Seed entspricht der Zufallszahl aller deterministischen Wallets.

Der Vorteil von HD-Wallets besteht darin, dass nur der Master-öffentliche Schlüssel benötigt wird, um beliebig viele untergeordnete öffentliche Schlüssel zu erzeugen. Mit anderen Worten: Neue (öffentliche) Adressen können auf Basis des Master-öffentlichen Schlüssels erzeugt werden, ohne dass die privaten Schlüssel (weder Master- noch Unter-Privatschlüssel) eingreifen müssen, und diese Adressen können tatsächlich vom Master-Privatschlüssel kontrolliert werden.

Es gibt Vor- und Nachteile: Wenn wir das Hilfswort preisgeben, ist das gleichbedeutend damit, alle Privatschlüssel herauszugeben, und die Sicherheit Ihrer digitalen Vermögenswerte ist gleich null.

Warum benötigen Sie so viele Privatschlüssel

Der Grund, warum ein Nutzer so viele Privatschlüssel benötigt, wird durch den Change-Mechanismus einer Bitcoin-Transaktion veranschaulicht.

Eine Bitcoin-Transaktion ist eine Datenstruktur, die einen Eingabewert und einen Ausgabewert enthält. Diese Datenstruktur enthält Informationen über den Code, der einen Betrag von seinem Ausgangspunkt (den Eingabewert) zur Zieladresse (den Ausgabewert) bewegt.

Bei Bitcoin-Transaktions-Eingaben und -Ausgaben ist es wichtig, den Begriff UTXO (Unspent Transaction Output) zu verstehen: Er ist die Grundeinheit einer Bitcoin-Transaktion und ein ungenutzter Transaktionsausgang. Ein einzelner Bitcoin verteilt sich als UTXO über Hunderte von Transaktionen und Hunderte von Blöcken. In Wirklichkeit gibt es keinen Ort, an dem die Adresse oder der Kontostand einer Einheit gespeichert wird; es existieren nur dezentrale UTXOs, die vom Besitzer gesperrt sind.

Ein UTXO kann jeden Wert haben, aber sobald es erstellt ist, ist es so unteilbar wie eine Münze, die nicht halbiert werden kann. Wenn ein UTXO größer ist als der Bedarf einer Transaktion, wird es trotzdem vollständig verbraucht, aber in der Transaktion als Rückgeld wieder neu erzeugt.

Hier ein Beispiel, was das bedeutet. Wenn Sie ein UTXO von 20 Rupiah haben und 1 Rupiah zahlen wollen, muss Ihre Transaktion das gesamte 20-Rupiah-UTXO verbrauchen und zwei Ausgänge erzeugen: einen, der 1 Rupiah an den Empfänger zahlt, und einen anderen, der 19 Rupiah als Wechselgeld an Ihre Wallet zahlt. In diesem Fall erzeugen die meisten Transaktionen Wechselgeld.

Es stellt sich die Frage, ob das Wechselgeld an die ursprüngliche Adresse oder an eine neue Adresse zurückgegeben werden sollte. Als Satoshi Nakamoto Bitcoin entwarf, verwendete er einen Null-Rückgabe-Mechanismus, der für jede Transaktion eine neue Adresse erzeugt. Der Vorteil dieses Designs besteht darin, die Privatsphäre des Transaktionsnutzers zu schützen und einige Sicherheitsrisiken zu vermeiden.

Im wirklichen Leben ist es, als würde man mehrere Bankkonten bei verschiedenen Banken mit unterschiedlichen Namen und Ausweisen eröffnen. Selbst wenn jemand den Geldfluss auf jedem Konto kennt, kann er den Geldfluss nicht auf den tatsächlichen Besitzer der digitalen Währung zurückverfolgen, was die sogenannte Anonymität von Bitcoin ausmacht.

Deshalb sollten Sie verstehen, warum ein Wallet-Nutzer so viele Privatschlüssel benötigt: Öffentliche und private Schlüssel treten immer paarweise auf, jede Transaktion kann eine Wechselgeldadresse erzeugen, und die Speicherung sowie Sicherung der zu diesen Adressen gehörenden Privatschlüssel ist zu einem technischen Problem digitaler Transaktionen geworden. Eine HD-Wallet kann aus einem öffentlichen Schlüssel beliebig viele untergeordnete öffentliche Schlüssel erzeugen, was das Problem schwer handhabbarer digitaler Wallets erheblich löst.

Hat dies deine Frage beantwortet?