Traditionell bedeutet die Erstellung eines n-aus-n Multisig mit CHECKMULTISIG, dass Sie den Signierern der Transaktion eine proportionale Anzahl von Signaturen und Public Keys auf der Blockchain veröffentlichen. Dieser Ansatz gibt nicht nur Aufschluss über die Gesamtzahl der an der Transaktion beteiligten Teilnehmer, sondern es fallen auch immer höhere Transaktionsgebühren an, wenn die Zahl der Signierer wächst. MuSig hingegen ermöglicht es einer Gruppe von Benutzern, gemeinsam eine einzige Signatur und einen öffentlichen Schlüssel zu generieren, um eine Transaktion zu validieren, was Vertraulichkeit bringt und die Transaktionskosten für alle beteiligten Signierer senkt.
Als MuSig 2018 zum ersten Mal eingeführt wurde, bestand sein grösstes Manko im Vergleich zu CHECKMULTISIG in der User Experience, insbesondere in der Anforderung von drei Runden interaktiver Kommunikation zwischen Signierern. Mit der Einführung von MuSig2 (BIP 327) im Jahr 2020 als Nachfolger des MuSig von 2018 (auch MuSig1 genannt) haben wir erhebliche Fortschritte beim interaktionsfreien Signieren gemacht, was uns eine lang ersehnte Benutzererfahrung beschert hat.
Wie es funktioniert
MuSig2 spiegelt die Funktionalität seines Vorgängers wider und reduziert die erforderlichen Kommunikationsrunden von drei auf zwei. Das Wallet Setup für MuSig2 beginnt mit dem Sammeln aller Extended Public Keys (xpubs) der Teilnehmer und der Erstellung von Deskriptoren durch jedes der Wallets, was alles im Einklang mit bestehenden Multisig-Praktiken steht.
Die MuSig2-Signaturphase umfasst nun:
- Erste Nachricht: Während der Wallet Einrichtung werden Nonces generiert, zu den Teilsignierten Bitcoin Transaktionen (PSBTs; Partially Signed Bitcoin Transactions) hinzugefügt und unter den anderen Signierern verteilt.
- Zweite Nachricht: Die empfangenen Nonces werden zur Erstellung einer Teilsignatur verwendet und an jeden anderen Signierer zurückgesendet.
Eine Alternative dazu, dass jeder Signierer seine Nonce und Teilsignatur jedem anderen Signierer direkt mitteilt, besteht darin, einen externen Koordinator einzusetzen, um den Kommunikationsprozess zu optimieren.
Beim Signieren besteht die Nonce jedes Signierers aus zwei Punkten einer elliptischen Kurve. Diese Punkte werden über die Teilsignierten Bitcoin Transaktionen (PSBTs) an andere Signierer übermittelt. Diese Nonces erfordern eine sorgfältige Handhabung, um Genauigkeit und Integrität im Prozess zu gewährleisten. Eine sichere Speicherung ist jedoch nicht erforderlich, da es sich nicht um vertrauliche Informationen handelt. Wenn jede einzelne Teilsignatur gültig ist, sind auch die erstellten Schnorr Signaturen gültig. Nächste Schritte zur Implementierung
MuSig2 BIP-Entwürfe
Letzten Monat haben wir zwei BIP Entwürfe vorgelegt, MuSig2 PSBTs und MuSig2 Descriptors, die einen notwendigen Schritt bei der Einführung von MuSig2 und der Wallet-Integration darstellen. Das erste BIP fügt Felder für die Nonces, Public Keys und Teilsignaturen in den PSBTs hinzu, und das zweite BIP bietet eine Methode zur Beschreibung von Transaktionsoutputs, die von einer MuSig2-Wallet gesteuert werden. Zusammen sind diese BIPs und Spezifikationen alles, was wir für die Integration von MuSig2-Wallets benötigen! Diese Standardisierung des MuSig2-Protokolls wurde von vielen Wallet-Entwicklern und kollaborativen Treuhand-Lösungen schon lange gewünscht.
Da nun die formalisierten BIPs eingerichtet sind, liegt es in den Händen der Community, zu prüfen, Feedback zu geben und Aufmerksamkeit zu schaffen. Wir bei Blockstream freuen uns darauf, an den öffentlichen Diskussionen teilzunehmen und den formellen BIP Überprüfungsprozess beginnen zu lassen.
Dieser Artikel wurde ursprünglich hier im Bitcoin Magazine veröffentlicht.