Vai al contenuto
buybitcoinsmart

Glossario / Protocollo e aggiornamenti

MuSig2

Noto anche come Aggregazione delle chiavi.

Che cos'è MuSig2?
MuSig2 consente a più firmatari di combinare le proprie chiavi pubbliche in un'unica chiave e di produrre un'unica firma Schnorr da 64 byte, così una spesa di gruppo appare identica a una spesa individuale on-chain.

Specificato nel BIP-327.

L'aggregazione delle chiavi è tutto il trucco: più partecipanti detengono ciascuno una chiave privata, e la matematica somma le loro chiavi pubbliche in un'unica chiave aggregata che nessuno di loro gestisce da solo. BIP-327 ha fissato lo schema a due round di comunicazione, contro i tre del MuSig originale. Per un wallet condiviso questo significa commissioni più basse e nessuna prova pubblica che il wallet fosse condiviso.

Come funziona

MuSig2 si svolge in due passaggi sul gruppo, e solo il secondo passaggio deve sapere cosa si sta firmando.

Nel primo passaggio ogni firmatario genera due nonce segreti e pubblica la coppia di punti corrispondente. Il coordinatore somma quelle coppie in un unico nonce combinato usando un coefficiente derivato dall'hash dell'intero insieme. Quel coefficiente è il pezzo concreto di ingegneria che ha permesso allo schema di eliminare un round senza riaprire gli attacchi che avevano infranto i precedenti progetti a due round.

Nel secondo passaggio ogni firmatario produce una firma parziale sull'hash di firma della transazione e restituisce un solo numero. Sommati insieme, questi numeri formano una firma da 64 byte che si verifica con la chiave aggregata da 32 byte secondo le normali regole di BIP-340. Un nodo che valida il blocco non può sapere quante persone siano state coinvolte, né che ce ne sia stata qualcuna.

Vale la pena nominare esplicitamente due proprietà di sicurezza. L'aggregazione delle chiavi applica un coefficiente per ogni chiave, così un partecipante non può costruire una chiave pubblica che annulli quelle di tutti gli altri, l'attacco della chiave canaglia che la semplice somma delle chiavi consente. E i nonce sono rigorosamente monouso: firmare due messaggi diversi con lo stesso nonce rivela direttamente la tua chiave privata, ed è per questo che le implementazioni corrette cancellano il nonce segreto nel momento in cui viene consumato e rifiutano una seconda firma dalla stessa sessione.

Dove lo vedi

MuSig2 sta dietro a una spesa tramite percorso di chiave di Taproot, quindi quello che in realtà vedi è un indirizzo bc1p che si comporta come qualsiasi altro.

La tesi sulla dimensione è concreta. Un input Taproot tramite percorso di chiave costa 57,5 vbyte sia che l'abbia firmato una persona sia che l'abbiano firmato cinque, mentre una spesa con script witness due di tre deve rivelare tre chiavi pubbliche e due firme e arriva a ben oltre il doppio. Gli output Taproot sono diventati spendibili al blocco 709.632, il 14 novembre 2021, quindi la capacità è sulla catena da anni e il collo di bottiglia è stato il software dei wallet.

BIP-373 fornisce l'infrastruttura: aggiunge campi PSBT per i nonce pubblici, le chiavi dei partecipanti e le firme parziali, così un dispositivo hardware può unirsi a una sessione di firma senza che ogni produttore inventi un formato di messaggio. L'adozione nei wallet per i clienti al dettaglio è ancora scarsa. La realizzazione più concreta è il lavoro sui canali Taproot semplici in Lightning, dove i due peer finanziano il canale in un unico output MuSig2.

MuSig2 vs multisig

MuSig2 richiede tutti i firmatari per costruzione; il multisig classico può avere qualsiasi soglia tu voglia.

Questa differenza decide se abbia senso anche solo avvicinarlo ai tuoi risparmi. Una configurazione due di tre basata su script continua a funzionare quando una chiave va persa, perché lo script nomina tre chiavi e ne chiede due. Una chiave aggregata richiede la presenza di ogni partecipante, e un firmatario che scompare si porta via i bitcoin, a meno che lo stesso indirizzo impegni anche un percorso di script contenente un ramo di recupero. Soglie autentiche sotto un'unica chiave aggregata richiedono un protocollo diverso, come FROST, che non è quello specificato da BIP-327.

Il secondo compromesso è deliberato. Il multisig basato su script è verificabile da chiunque abbia un block explorer, e MuSig2 no, il che è un vantaggio per la privacy di una famiglia e un ostacolo per un tesoriere che deve dimostrare che un pagamento ha richiesto due dirigenti.

Da non confondere con

Domande frequenti

MuSig2 può darmi un wallet due di tre?

Non da solo. MuSig2 aggrega le chiavi per una firma che richiede tutti i firmatari, quindi ogni partecipante deve firmare. Le soglie reali usano un percorso di script all'interno dello stesso indirizzo Taproot oppure un protocollo diverso, come FROST.

MuSig2 richiede un soft fork?

No. Taproot accetta già una singola firma Schnorr su una singola chiave, e MuSig2 cambia solo il modo in cui i firmatari cooperano off-chain. Non deve cambiare nulla delle regole di consenso perché funzioni.

Leggi anche

Termini correlati

Altro in Protocollo e aggiornamenti

Leggi questa pagina in inglese