Glossar / Adressen und Schlüssel
Schlüsselpaar
- Was ist ein Schlüsselpaar?
- Ein Schlüsselpaar besteht aus einem privaten Schlüssel zusammen mit dem einzigen öffentlichen Schlüssel, den er erzeugt; ein Schlüsselpaar ist die Einheit des Eigentums, in der jede Bitcoin-Signatur und jedes Multisig-Quorum gezählt wird.
Die Paarung ist wichtig, weil die beiden Hälften entgegengesetzte Aufgaben erfüllen: Die eine erzeugt eine Signatur, die andere ermöglicht Fremden deren Prüfung. Die Verbindung verläuft nur in eine Richtung, das Veröffentlichen der öffentlichen Hälfte gefährdet die geheime Hälfte also nie. Das Zählen von Paaren ist der Weg, eine Einrichtung zu dimensionieren, denn ein 2-von-3-Multisig-Tresor besteht aus drei Schlüsselpaaren an drei Orten, von denen zwei beliebige ausgeben können.
So funktioniert es
Ein privater Schlüssel ergibt genau einen öffentlichen Schlüssel, und diese Zuordnung ändert sich nie. Geben Sie dasselbe 32-Byte-Geheimnis auf jedem Gerät, in jeder Wallet und mit zehn Jahren Abstand in dieselbe Kurvenarithmetik, und es kommt derselbe öffentliche Schlüssel heraus. Diese Determiniertheit ist der Grund, warum eine Wallet überhaupt aus einer Sicherung wiederhergestellt werden kann, und warum niemand öffentliche Schlüssel speichern muss: Sie werden bei Bedarf neu berechnet.
Das Paar teilt sich die Arbeit jeder Ausgabe. Ihr Gerät nutzt die private Hälfte, um eine Signatur zu erzeugen, die sich auf die genau zu signierende Transaktion bezieht, und Tausende Nodes nutzen die öffentliche Hälfte, um zu bestätigen, dass die Signatur sowohl zum Schlüssel als auch zu dieser Transaktion passt. Ändern Sie einen Output um einen einzigen Satoshi, und die Signatur verifiziert nicht mehr. Die Signaturgrößen unterscheiden sich je nach Verfahren: Eine Schnorr-Signatur nach BIP-340 ist genau 64 Byte groß, während die älteren DER-kodierten ECDSA-Signaturen 71 oder 72 Byte erreichen, was mit dazu beiträgt, dass Taproot-Ausgaben günstiger sind.
Hierarchisch deterministische Wallets machen aus einem einzigen Geheimnis einen unbegrenzten Vorrat an Paaren. Die Ableitung nach BIP-32 bietet 2.147.483.648 gewöhnliche Kind-Indizes auf jeder Ebene des Baums, dazu noch einmal dieselbe Zahl gehärteter Indizes, alle aus einem einzigen Seed reproduzierbar. Ihre Wallet gibt aus diesem Vorrat für jede Zahlung ein frisches Paar aus, und genau das macht den Adresswechsel praktikabel und nicht zu einem Buchhaltungsalbtraum.
Wo Sie es sehen
Das Paar wird sichtbar, sobald eine Wallet etwas nachweisen muss, statt einfach nur auszugeben. Das Signieren von Nachrichten ist der einfachste Fall: Sie wählen eine Adresse, die Wallet signiert eine Textaufforderung mit der privaten Hälfte, und jeder kann sie gegen die öffentliche Hälfte prüfen. Börsen nutzen genau das, um zu bestätigen, dass eine Auszahlungsadresse Ihnen gehört, und es bewegt überhaupt keine Coins.
Bei Multisig beginnt das Zählen von Paaren eine Rolle zu spielen. Ein 2-von-3-Tresor wird aus drei unabhängigen Paaren gebaut, die üblicherweise auf drei getrennten Geräten erzeugt werden, und das Redeem-Skript nennt alle drei öffentlichen Hälften, während zwei beliebige private Hälften zum Ausgeben genügen. Der Verlust eines Geräts kostet Sie nichts; der Verlust von zwei kostet Sie alles. Diese Arithmetik, nicht die Marke der Hardware, bestimmt, wie ein Tresor versagt.
Gemeinsames Signieren zeigt dieselbe Struktur. Eine teilweise signierte Bitcoin-Transaktion, definiert in BIP-174, wandert zwischen Geräten und sammelt eine Signatur pro Paar, bis das Quorum erreicht ist. Jeder Unterzeichner berührt nur seine eigene private Hälfte und sieht die öffentlichen Hälften aller anderen, genau die Trennung, für die das Paar entworfen ist.
Schlüsselpaar vs. erweiterter Schlüssel
Ein Schlüsselpaar ist ein Blatt, ein erweiterter Schlüssel ist ein Zweig. Ein erweiterter Schlüssel, geschrieben als xprv oder xpub, ist ein Schlüssel zusammen mit einem 32-Byte-Chaincode, und dieses zusätzliche Material ermöglicht ihm die Ableitung von Kindern. Ein bloßes Schlüsselpaar leitet nichts ab: Es verfügt über die Coins, die darauf gesperrt wurden, und damit endet es. Der Unterschied wirkt sich praktisch deutlich aus. Das Offenlegen eines einzelnen öffentlichen Schlüssels gibt eine Adresse preis, während das Offenlegen eines xpub jede Adresse preisgibt, die der darunterliegende Zweig jemals erzeugen wird.