Zum Inhalt springen
buybitcoinsmart

Glossar / Protokoll und Upgrades

MuSig2

Auch bekannt als Schlüsselaggregation, MuSig.

Was ist MuSig2?
MuSig2 ermöglicht es mehreren Unterzeichnern, ihre öffentlichen Schlüssel zu einem einzigen zusammenzufassen und eine einzelne Schnorr-Signatur mit 64 Byte zu erzeugen, sodass eine gemeinsame Ausgabe On-Chain identisch mit einer Einzelausgabe aussieht.

Spezifiziert im BIP-327.

Die Schlüsselaggregation ist der ganze Trick: Mehrere Teilnehmer halten jeweils einen privaten Schlüssel, und die Mathematik fügt ihre öffentlichen Schlüssel zu einem aggregierten Schlüssel zusammen, über den keiner von ihnen allein verfügt. BIP-327 legte das Verfahren auf zwei Kommunikationsrunden fest, statt drei beim ursprünglichen MuSig. Für eine gemeinsame Wallet bedeutet das niedrigere Gebühren und keinen öffentlichen Hinweis darauf, dass die Wallet gemeinsam genutzt wurde.

So funktioniert es

MuSig2 läuft in zwei Durchgängen über die Gruppe, und nur der zweite Durchgang muss wissen, was signiert wird.

Im ersten Durchgang erzeugt jeder Unterzeichner zwei geheime Nonces und veröffentlicht das passende Punktepaar. Der Koordinator fügt diese Paare mithilfe eines Koeffizienten, der durch Hashing des gesamten Satzes abgeleitet wird, zu einer kombinierten Nonce zusammen. Dieser Koeffizient ist das konkrete Stück Ingenieursarbeit, das es dem Verfahren ermöglichte, eine Runde einzusparen, ohne die Angriffe wieder zu eröffnen, die frühere Zwei-Runden-Entwürfe gebrochen hatten.

Im zweiten Durchgang erzeugt jeder Unterzeichner eine Teilunterschrift über den Signatur-Hash der Transaktion und gibt eine einzelne Zahl zurück. Zusammengezählt bilden diese Zahlen eine Signatur mit 64 Byte, die gegen den aggregierten Schlüssel mit 32 Byte nach den üblichen Regeln von BIP-340 verifiziert wird. Ein Node, der den Block validiert, kann nicht erkennen, wie viele Personen beteiligt waren oder dass überhaupt jemand beteiligt war.

Zwei Sicherheitseigenschaften sind es wert, ausdrücklich genannt zu werden. Die Schlüsselaggregation wendet einen Koeffizienten je Schlüssel an, damit ein Teilnehmer keinen öffentlichen Schlüssel konstruieren kann, der die aller anderen aufhebt, den Angriff mit böswilligen Schlüsseln, den die einfache Addition von Schlüsseln zulässt. Und Nonces sind streng zur einmaligen Verwendung bestimmt: Wer zwei verschiedene Nachrichten mit derselben Nonce signiert, gibt seinen privaten Schlüssel unmittelbar preis, weshalb korrekte Implementierungen die geheime Nonce löschen, sobald sie verbraucht ist, und eine zweite Signatur aus derselben Sitzung ablehnen.

Wo es zu sehen ist

MuSig2 steht hinter einer Ausgabe über den Schlüsselpfad von Taproot, sodass Sie tatsächlich eine bc1p-Adresse sehen, die sich wie jede andere verhält.

Das Größenargument ist konkret. Ein Taproot-Eingang über den Schlüsselpfad kostet 57,5 vbytes, ob eine Person oder fünf Personen ihn signiert haben, während eine Ausgabe mit einem Zwei-von-drei-Witness-Skript drei öffentliche Schlüssel und zwei Signaturen offenlegen muss und deutlich über dem Doppelten liegt. Taproot-Ausgaben wurden mit Block 709.632 am 14. November 2021 ausgebbar, die Möglichkeit liegt also seit Jahren auf der Chain, und der Engpass ist die Wallet-Software.

BIP-373 liefert die Infrastruktur und fügt PSBT-Felder für öffentliche Nonces, Teilnehmerschlüssel und Teilunterschriften hinzu, damit ein Hardware-Gerät an einer Signatursitzung teilnehmen kann, ohne dass jeder Hersteller ein eigenes Nachrichtenformat erfindet. In Consumer-Wallets ist die Verbreitung noch dünn. Die konkreteste Bereitstellung ist die Arbeit an einfachen Taproot-Kanälen im Lightning-Netzwerk, bei der die beiden Peers den Kanal in einer einzigen MuSig2-Ausgabe anlegen.

MuSig2 vs. Multisig

MuSig2 ist von der Konstruktion her alle-von-n; klassisches Multisig kann jeden beliebigen Schwellenwert haben.

Dieser Unterschied entscheidet, ob es überhaupt in die Nähe Ihrer Ersparnisse gehört. Eine skriptbasierte Zwei-von-drei-Konfiguration funktioniert weiter, wenn ein Schlüssel verloren geht, weil das Skript drei Schlüssel nennt und zwei davon verlangt. Ein aggregierter Schlüssel benötigt die Anwesenheit aller Teilnehmer, und ein Unterzeichner, der verschwindet, nimmt die Bitcoin mit, es sei denn, dieselbe Adresse ist auch an einen Skriptpfad mit einem Wiederherstellungszweig gebunden. Echte Schwellenwerte unter einem einzigen aggregierten Schlüssel erfordern ein anderes Protokoll wie FROST, das nicht das ist, was BIP-327 festlegt.

Der zweite Kompromiss ist beabsichtigt. Skript-Multisig ist für jeden mit einem Block-Explorer prüfbar, MuSig2 nicht, was ein Privatsphäre-Gewinn für einen Haushalt und ein Hindernis für einen Schatzmeister ist, der nachweisen muss, dass eine Zahlung zwei Verantwortliche erforderte.

Nicht zu verwechseln mit

Häufig gestellte Fragen

Kann MuSig2 mir eine Zwei-von-drei-Wallet geben?

Nicht allein. MuSig2 aggregiert Schlüssel für eine Alle-von-n-Signatur, sodass jeder Teilnehmer signieren muss. Echte Schwellenwerte nutzen entweder einen Skriptpfad innerhalb derselben Taproot-Adresse oder ein anderes Protokoll wie FROST.

Braucht MuSig2 einen Soft Fork?

Nein. Taproot akzeptiert bereits eine einzelne Schnorr-Signatur gegen einen einzelnen Schlüssel, und MuSig2 ändert nur, wie die Unterzeichner außerhalb der Chain zusammenarbeiten. An den Konsensregeln muss sich nichts ändern, damit es funktioniert.

Weiterlesen

Verwandte Begriffe

Mehr zum Thema Protokoll und Upgrades

Diese Seite auf Englisch lesen