31 / 736M-of-N

Multisig

eine Zahlung mit mehreren Schlüsseln freigeben

Eine Zahlung muss nicht von einem einzigen Schlüssel abhängen. Multisig kann beispielsweise verlangen, dass beliebige zwei von drei unabhängigen Schlüsseln signieren.

Multisig schützt Bitcoin, indem zum Ausgeben Signaturen mehrerer festgelegter Schlüssel erforderlich sind. Bei einer 2-von-3-Regel genügen beliebige zwei von drei verschiedenen Schlüsseln. Der Verlust eines Schlüssels muss daher nicht den Verlust des Geldes bedeuten; einem Dieb reicht ein Schlüssel allein nicht. Voraussetzung sind geeignete Backups und tatsächlich getrennte Schlüssel.

Multisig: Simulator für die SignaturschwellePrüfe, ob die verbleibenden Schlüssel in einem m-von-n-Modell die Signaturschwelle erreichen. Das Ergebnis beschreibt die Verfügbarkeit von Signaturen, nicht die Sicherheit oder vollständige Wiederherstellbarkeit der Wallet.

Alice möchte ihre gesamten Ersparnisse nicht von einem Gerät abhängig machen. Sie richtet eine 2-von-3-Wallet mit den unabhängigen Schlüsseln A, B und C ein. Eine Zahlung lässt sich mit A + B, A + C oder B + C freigeben. Jede Signatur ist eine mathematisch überprüfbare Zustimmung, die mit dem jeweiligen privaten Schlüssel erzeugt wird; der Schlüssel selbst wird nicht ins Netzwerk gesendet. Verliert Alice A, kann sie weiterhin B und C verwenden, sofern sie auch die nötigen Wallet-Daten besitzt. Wer nur A stiehlt, kann das Geld nicht allein versenden. Die Bitcoin werden dabei nicht in drei Häufchen aufgeteilt: Die gemeinsame Regel schützt die betreffenden Mittel insgesamt. Drei Personen können die Schlüssel halten, aber ebenso eine Person auf getrennten Geräten. Drei Kopien derselben Seed Phrase, also derselben Sicherungswörter, erzeugen keine drei unabhängigen Schlüssel. [1] [2]

Alice gibt Empfängeradresse und Betrag in einer App ein. Als Koordinator bereitet die App einen Transaktionsvorschlag vor und reicht ihn an die signierenden Geräte weiter. Häufig nutzt sie dafür PSBT, ein Format für Zahlungsdaten und nach und nach ergänzte Signaturen. Die Geräte müssen deshalb weder gleichzeitig verbunden noch am selben Ort sein; die privaten Schlüssel bleiben getrennt. Vor dem Signieren prüft Alice Empfänger, Betrag und Gebühr auf dem vertrauenswürdigen Display jedes verwendeten Geräts. Anhand der überprüften Wallet-Regel sollte das Gerät auch den Ausgang erkennen, der das Wechselgeld an Alice zurückgibt. Zwei Signaturen unter einer manipulierten Zahlung würden sie nicht schützen. Der Koordinator kann eine fehlende Signatur nicht erfinden, wohl aber einen falschen Vorschlag präsentieren. Erst mit den erforderlichen Signaturen und nach Fertigstellung der Transaktion sendet die App sie ins Netzwerk. [5]

Jeder unabhängige Schlüssel braucht ein eigenes sicheres Backup. Für die Wiederherstellung der gesamten Wallet genügen aber nicht automatisch zwei Sätze Sicherungswörter. Benötigt wird auch die gemeinsame Konfiguration: die Zahl erforderlicher Signaturen, die öffentlichen Angaben zu allen drei Schlüsseln, ihre Reihenfolge und die Art der Adresserzeugung. Ein Output Descriptor, eine genaue technische Beschreibung der Wallet, oder ein gleichwertiger Konfigurationsexport kann diese Informationen festhalten. Ein öffentlicher Descriptor ohne private Schlüssel kann allein keine Zahlung signieren, aber Adressen und Geldbewegungen offenlegen. Auch er sollte deshalb privat bleiben. Alice testet Empfang, Versand und Wiederherstellung zunächst mit einem kleinen Betrag. Verliert sie später A oder vermutet einen Schlüsseldiebstahl, ändert das Entfernen des Geräts aus der App nichts an der alten Regel. Sie muss mit den verbleibenden Schlüsseln die Mittel an neu überprüfte Adressen mit einem neuen Schlüsselsatz übertragen. [4] [6]

Eine 2-von-3-Regel verkraftet den Verlust eines Schlüssels; eine 2-von-2-Regel keinen. Bei der ersten Regel kann zugleich jedes Paar ausgeben, auch zwei Personen, die sich ohne die dritte einigen. Die passende Einrichtung hängt daher davon ab, wessen Geld sie schützt und welchen Ausfällen sie standhalten soll. Bewahrt Alice sämtliche Geräte und Backups in derselben Schublade auf, kann ein Diebstahl oder Brand den Vorteil der Trennung zunichtemachen. Auch Zahlungsprüfung, Wallet-Kompatibilität und Wiederherstellung werden aufwendiger. Die Ausgabebedingungen werden dabei in einem Skript festgehalten, also einem kurzen Programm. Eine übliche skriptbasierte Multisig-Transaktion benötigt meist mehr Platz als eine vergleichbare Transaktion mit nur einer Signatur und kostet bei gleicher Gebührenrate entsprechend mehr. Für Einsteiger kann eine einfache, gut verstandene Wallet sicherer sein als eine komplizierte Einrichtung, die sie nicht beherrschen. [1] [2]

Der allgemeine Ausdruck m von n bedeutet, dass m gültige Signaturen von n festgelegten Schlüsseln benötigt werden. Bei klassischem skriptbasiertem Multisig gehören die öffentlichen Schlüssel und dieser Schwellenwert zur Ausgabebedingung. Ein Transaktionsausgang legt sie direkt fest oder bindet sich kryptografisch an das entsprechende Skript. Beim Ausgeben prüfen die Nodes, also Computer, die Bitcoins Regeln kontrollieren, die erforderlichen Signaturen und Skriptdaten; eine bloße Freigabe durch die App reicht nicht. In Deskriptoren behält multi die vorgegebene Reihenfolge der öffentlichen Schlüssel, während sortedmulti sie nach einer genau festgelegten Regel sortiert. Ein Ableitungspfad legt fest, welche konkreten Schlüssel die Wallet aus ihrem Ausgangsmaterial berechnet. Eine falsche Reihenfolge oder andere Ableitungspfade können andere Adressen ergeben. Der Descriptor ermöglicht es der Wallet, diese Bedingungen zu rekonstruieren; er wird nicht selbst als Konfigurationsdatei in der Blockchain gespeichert. Diese Erklärung betrifft herkömmliches skriptbasiertes Multisig. Andere Konstruktionen können mehrere Beteiligte hinter einer gemeinsamen Signatur vereinen und haben eigene Regeln. [3] [4] [7]

Beispiel · M-of-N

Eine 2-von-3-Regel

Multisig mit drei verschiedenen Schlüsseln verlangt gültige Signaturen von beliebigen zwei. Ein gestohlener Schlüssel allein reicht nicht; nach Verlust eines Schlüssels können die anderen zwei ausgeben, sofern die nötigen Skriptdaten vorhanden sind. Trennen Sie Schlüssel und Backups und bewahren Sie den vollständigen Output Descriptor oder eine gleichwertige Wallet-Regel auf.

Für ein möglichst vollständiges Bild lies diesen Eintrag zusammen mit Private Key, Wallet, PSBT. Auf diesen Eintrag verweisen außerdem HD Wallet, Cold Storage, Watch-only Wallet, Change Address.

01Ist Multisig automatisch sicherer als eine Hardware Wallet?

Nein. Richtig getrennte Schlüssel und Backups können einen einzelnen Ausfallpunkt entschärfen, aber mehr Beteiligte erhöhen die betriebliche Komplexität. Eine geprüfte Wallet-Regel und getestete Wiederherstellung sind nötig; ein kompromittierter gemeinsamer Koordinator kann allen dieselbe falsche Zahlung vorlegen.

02Müssen alle Multisig-Schlüssel zum Signieren am selben Ort sein?

Nein. PSBT ermöglicht den getrennten Austausch von Daten und Signaturen, ohne private Schlüssel zu sammeln. Jeder Signierer sollte Empfänger, Beträge und Gebühr prüfen. Vor der Übertragung muss die Transaktion mit den nötigen gültigen Signaturen fertiggestellt werden und alle weiteren Eingangsbedingungen erfüllen.

DOC · 001Bitcoin Developer Guide — P2SH MultisigDokumentation DOC · 002BIP 11 — M-of-N Standard TransactionsPrimärquelle DOC · 003BIP 67 — Deterministic key sortingPrimärquelle DOC · 004BIP 383 — Multisig output descriptorsPrimärquelle DOC · 005BIP 174 — Partially Signed Bitcoin Transaction FormatPrimärquelle DOC · 006BIP 380 — Output Script DescriptorsPrimärquelle DOC · 007BIP 327 — MuSig2Primärquelle
Überarbeitet: Quellenbasiert · Keine Anlageberatung