Unterstützung für Taproot-Multisig-Deskriptoren

Ich versuche, den aktuellen Stand der Deskriptorunterstützung für Taproot zu verstehen, mit besonderem Fokus auf Multisig-Wallets (Wenn ich „Multisig“ sage, meine ich k-von-n-Schwellensignaturen und nicht eine Schnorr-Multisignatur). Ich habe diese PR gefunden, die Taproot-Deskriptoren in Core einführte: https://github.com/bitcoin/bitcoin/pull/22051 und es hieß, dass die Unterstützung für interessantere Skripte noch nicht implementiert worden sei. Ist das immer noch der Fall, oder kennt jemand Dokumente oder Beispiele für einen Multisig-Wallet-Deskriptor?

Danke!

Es gibt zwei Dokumente im Core-Repository, die sich auf Multisig beziehen und Deskriptoren in Beispielen verwenden

Antworten (1)

Zum Zeitpunkt des Schreibens (Januar 2022) war kein Deskriptor für Schnorr/Taproot Multisig (unter Verwendung des neuen OP_CHECKSIGADD-Opcodes, der in BIP 342 angegeben ist ) oder für die Verwendung des Schlüsselaggregationsschemas MuSig angegeben.

(Wenn ich „Multisig“ sage, meine ich k-von-n-Schwellensignaturen und nicht eine Schnorr-Multisignatur)

Eine Klarstellung zur Terminologie. In Bitcoin verwenden wir im Allgemeinen „Multisig“, um auf n-aus-n (n=n) zu verweisen, und „Schwellenwert“, um auf k-aus-n (k<n) zu verweisen. MuSig(2) bezieht sich auf ein Schlüsselaggregationsschema, bei dem nur ein Schlüssel und eine Signatur in die Kette gehen, obwohl mehrere Schlüssel außerhalb der Kette beteiligt sind. Schwellenäquivalente von MuSig(2) werden bearbeitet, zB FROST, sind aber noch nicht fertiggestellt oder so ausgereift wie MuSig(2). Weder MuSig(2) noch FROST haben zum Zeitpunkt des Schreibens Deskriptoren angegeben.

Wenn Sie also einen Multisig- oder Schwellenwert-Signatur-Deskriptor verwenden möchten, würden Sie einen vorhandenen verwenden, z. B. multioder sortedmultider kein Schnorr/Taproot-Multisig unterstützt. Etwas verwirrenderweise multiunterstützt der Deskriptor sowohl Multisignatur- als auch Schwellensignaturen gemäß den obigen Definitionen, jedoch nicht für Schnorr/Taproot.

Nicht im Zusammenhang mit der Frage, also in den Kommentaren, aber Miniscript unterscheidet zwischen Multisig und Threshold Sig ( multiund thresh), aber Deskriptoren ermöglichen es Ihnen, sowohl Multisig als auch Threshold Sig mit dem multiDeskriptor zu machen. Das wird verwirrend sein, wenn MIniscript mit Deskriptoren integriert wird :)
Ich denke, traditionell bezieht sich "Multisig" in Bitcoin auf k-of-n mit OP_CHECKMULTISIG (also mit mehreren Signaturen und mehreren Schlüsseln). In der Kryptographie im Allgemeinen bezieht sich „Multisignatur“ auf eine einzelne Signatur mit mehreren Schlüsseln (die musig/musig2/musig-dn und andere Schemata erreichen), und „Schwellensignatur“ bezieht sich auf eine einzelne Signatur, die einer k-aus-n-Kombination entspricht von mehreren Schlüsseln (wie FROST bewerkstelligt).
@PieterWuille: Ok, vielleicht haben Sie Ihre Definitionen seit btctranscripts.com/lets-talk-bitcoin-podcast/… geändert :) „k-of-n ist sagen wir 2 von 3, wobei k sich von n unterscheidet“ und „When we talk über k-von-n oder Schwellen"
das sagt das gleiche?
Danke für die Antwort. Ich dachte, innerhalb von Bitcoin beziehe sich „Multisig“ traditionell auf Schwellenwertsignaturen, zum Beispiel: github.com/bitcoin/bitcoin/blob/master/doc/… . Auf jeden Fall ist die Aufklärung hilfreich :)