Cos'è il multisig 2-of-2?

·9 min di lettura·Di SSP Editorial Team
Diagramma di un wallet multisig 2-of-2 che mostra due firmatari che approvano una transazione

Se hai mai posseduto criptovalute, hai quasi certamente sentito lo stesso avvertimento: «proteggi la tua seed phrase». Dodici o ventiquattro parole, scritte su carta, che chiunque le trovi può usare per svuotare il tuo wallet da qualsiasi parte del mondo. Quella singola sequenza di parole è l'intero modello di sicurezza dietro la maggior parte dei wallet self-custody — ed è proprio questo il problema. Perdila, e i tuoi fondi sono persi. Lascia che qualcuno la copi, e i tuoi fondi sono persi. Un errore, un attimo di disattenzione, un sito di phishing convincente, e il risultato è lo stesso.

Il multisig 2-of-2 è la risposta più accessibile a questa fragilità. Divide le chiavi del tuo wallet su due dispositivi, in modo che nessuna singola seed, schermata o firma possa muovere le tue monete da sola. Questo articolo spiega come funziona, perché è importante e quali tipi di attacchi blocca — e quali no.

La modalità di guasto della seed singola

La maggior parte dei wallet di criptovalute — siano essi sul telefono, in un'estensione del browser o su un dispositivo hardware — sono costruiti attorno a un unico segreto. Quel segreto è una seed phrase: una sequenza di parole generata quando configuri il wallet per la prima volta, dalla quale ogni chiave privata di quel wallet viene derivata matematicamente. Chiunque possieda la seed phrase ha il controllo totale e irrevocabile di ogni moneta in quel wallet, su ogni blockchain coperta.

È meravigliosamente comodo. Ma è anche un singolo punto di guasto.

Pensa a tutto ciò che quel segreto deve sopravvivere durante gli anni in cui intendi conservare le tue monete. Deve sopravvivere a un ladro che entra in casa tua e trova il foglietto nel cassetto. Deve sopravvivere a un incendio domestico, a un'alluvione o a un bambino curioso. Deve sopravvivere al tuo laptop infettato da malware che scansiona gli appunti e fa screenshot. Deve sopravvivere a ogni email di phishing, a ogni finto pop-up del browser, a ogni chiamata di un falso «supporto» che ti chiede di digitare le parole in un modulo di «verifica». Deve sopravvivere ai tuoi stessi errori futuri, quelli che oggi non puoi prevedere.

Nel 2022 l'FBI ha stimato che i soli consumatori statunitensi hanno perso oltre 2,5 miliardi di dollari a causa di furti e frodi legati alle criptovalute, e la stragrande maggioranza di queste perdite era riconducibile a un singolo segreto compromesso. Mt. Gox, Bitfinex, il bridge Ronin — ogni catastrofe crypto entrata nella cronaca ha la stessa forma: un segreto, una violazione, un trasferimento irreversibile.

Una configurazione 2-of-2 è un modo per dire: le mie monete non dovrebbero essere a un post-it rubato dalla scomparsa.

Multisig M-of-N, in breve

Il multisig — abbreviazione di «multi-signature» — è un wallet che richiede più di una firma per inviare una transazione. La forma generale si chiama M-of-N: ci sono N chiavi totali, e M di esse devono firmare prima che le monete possano muoversi.

<span id="signer"></span>Un firmatario è un dispositivo o una parte che detiene una di quelle N chiavi. In pratica, un firmatario è solitamente un componente hardware o software separato: il tuo telefono, un hardware wallet sulla scrivania, un laptop, un servizio di co-firmatario o persino un amico fidato. La proprietà importante è che i firmatari siano indipendenti — compromettere uno di essi non dovrebbe dare a un attaccante l'accesso agli altri.

<span id="threshold"></span>La soglia (M) è il numero di firme richieste per spendere. Se la soglia è 2, allora due degli N firmatari devono ciascuno approvare e firmare crittograficamente prima che la blockchain accetti la transazione come valida. Un wallet 2-of-3 ha tre firmatari e ne richiede due qualsiasi. Un wallet 3-of-5 ha cinque firmatari e ne richiede tre qualsiasi. La soglia viene fissata al momento della creazione del wallet ed è imposta dalla blockchain stessa, non da alcuna azienda.

La soglia e il numero di firmatari insieme definiscono il modello di sicurezza di un wallet: quante cose devono andare bene perché tu possa spendere, e quante dovrebbero andare male, simultaneamente, perché un ladro possa farlo.

Il modello specifico 2-of-2

<span id="2-of-2"></span>Nel multisig 2-of-2, la soglia è uguale al numero totale di firmatari: ci sono esattamente due chiavi, ed entrambe devono firmare ogni spesa. Non c'è una chiave di riserva, nessun firmatario di backup, nessun quorum su cui ripiegare. O entrambi i dispositivi approvano una transazione, oppure non avviene.

Questa è la configurazione multisig più semplice che offre comunque una protezione significativa. Rispetto al 2-of-3, è più facile da configurare — gestisci solo due firmatari, non tre — e non richiede di scegliere una terza parte o un luogo per custodire la chiave di riserva. Il compromesso è che il 2-of-2 non ha un percorso di ripristino integrato: se uno dei due firmatari viene perso o distrutto definitivamente, non puoi più spendere le monete da quell'indirizzo. Il ripristino nel 2-of-2 si gestisce eseguendo backup separati della seed di ciascun firmatario, tipicamente su carta sigillata o supporto in acciaio conservato separatamente dal dispositivo stesso.

Per un utente self-custody, l'abbinamento 2-of-2 più comune è «telefono più chiave hardware» o «telefono più un secondo dispositivo sigillato». L'utente firma su entrambi, ogni volta.

Come il wallet trova il suo indirizzo: BIP48

<span id="bip48"></span>BIP48 — Bitcoin Improvement Proposal 48 — è lo standard tecnico che indica ai wallet multisig come derivare le loro chiavi pubbliche e i loro indirizzi dalla seed phrase di ciascun firmatario, in un modo che sia portabile tra fornitori software diversi. È il motivo per cui un wallet 2-of-2 creato in un'applicazione può essere riaperto, controllato o ripristinato in un'altra applicazione compatibile anni dopo.

La versione semplificata: la seed phrase di ciascun firmatario viene trasformata in una gerarchia di chiavi seguendo un percorso deterministico. BIP48 specifica il percorso esatto per i wallet multisig — incluso uno slot che registra se il wallet utilizza indirizzi legacy, SegWit o native SegWit — e uno slot per quale «account» all'interno della seed viene utilizzato. Quando due firmatari derivano ciascuno la propria chiave pubblica lungo lo stesso percorso BIP48, il wallet combina queste due chiavi pubbliche in un unico indirizzo multisig. Le monete inviate a quell'indirizzo possono essere sbloccate solo dalle firme di entrambe le seed originali.

Perché lo standard è importante? Perché senza di esso, un wallet multisig sarebbe una scatola nera. Se il fornitore sparisse, avresti due seed phrase e nessun modo portabile di ricostruire l'indirizzo che proteggono. BIP48 rende l'indirizzo una pura funzione delle seed e del percorso — chiunque abbia lo standard e le seed può ricostruire il wallet, per sempre, senza fiducia in alcuna azienda.

Ethereum e le catene EVM utilizzano un meccanismo diverso (wallet smart contract ed ERC-4337) ma il modello visibile all'utente è lo stesso: due firmatari, un indirizzo, entrambi richiesti.

Cosa ferma realmente il 2-of-2

Il modo più chiaro per vedere il valore del 2-of-2 è esaminare attacchi specifici e chiedersi: cosa cambia quando l'attaccante deve compromettere due dispositivi indipendenti invece di uno?

Phishing. Un utente clicca su un convincente link di «migrazione del wallet» e digita una delle sue seed phrase su una pagina falsa. Con un wallet a seed singola, i fondi spariscono in pochi minuti — l'attaccante importa la seed e trasmette un trasferimento. Con il 2-of-2, l'attaccante ora possiede solo metà del wallet. Non può muovere una singola moneta senza rubare anche la seconda seed, che vive su un dispositivo diverso che l'utente non ha mai digitato sulla pagina di phishing. Il tentativo di phishing è passato da catastrofico a meramente preoccupante.

Malware su un telefono o un laptop. Un malware che dirotta gli appunti o un info-stealer compromette un dispositivo firmatario. Su un wallet a chiave singola, nel momento in cui quel dispositivo tenta una transazione, il malware può sostituire l'indirizzo di destinazione e l'utente la firma da sé. Sul 2-of-2, il secondo dispositivo mostra all'utente i veri dettagli non modificati della transazione su uno schermo che il malware non controlla. L'utente vede la discrepanza e rifiuta di co-firmare.

Dispositivo perso. Il telefono di un utente viene rubato su un treno. Su un wallet hot a firma singola protetto solo da un PIN, un attaccante determinato può estrarre la seed in poche ore. Sul 2-of-2, il telefono perso è uno dei due firmatari — inutile da solo. L'utente ha il tempo di spostare i fondi su un nuovo indirizzo usando il firmatario sopravvissuto più il backup della seed del telefono.

Coercizione («attacco con chiave inglese da 5 $»). Qualcuno con accesso fisico esige la seed phrase dell'utente. Con una singola seed, la cooperazione significa perdita totale. Con un 2-of-2 in cui i due firmatari risiedono in luoghi fisici diversi — per esempio, uno a casa, uno in una cassetta di sicurezza in banca o uno detenuto da un servizio di co-firmatario fidato — l'utente genuinamente non può completare un trasferimento sul posto. All'attaccante viene negato il guadagno immediato che rende questo tipo di attacchi degno di essere tentato.

In ogni caso, il principio sottostante è lo stesso: due compromissioni indipendenti nella stessa breve finestra temporale è un problema molto più difficile di una sola.

Da cosa il 2-of-2 non protegge

Il multisig non è magia. Non protegge dal firmare deliberatamente una transazione malevola — se entrambi i tuoi dispositivi mostrano lo stesso indirizzo di destinazione sbagliato e tu lo approvi comunque, la blockchain non ha modo di saperlo. Non protegge dalla perdita di entrambi i backup nello stesso incendio o alluvione, motivo per cui i due backup dovrebbero risiedere in luoghi fisicamente separati. Non protegge dai bug nel software del wallet stesso, sebbene la natura open source e portabile BIP48 di questi wallet significhi che tali bug possono essere controllati e aggirati in modo impossibile in un sistema custodial chiuso. E non protegge dall'utente stesso che, volontariamente, firma la cessione delle sue monete su entrambi i dispositivi in risposta a una truffa sufficientemente convincente. La soglia alza l'asticella; non rimuove l'utente dal circuito.

Provalo tu stesso

Il modo più utile per interiorizzare il multisig 2-of-2 è configurarne uno e osservare una vera transazione che richiede due approvazioni prima di essere trasmessa. SSP Wallet è progettato attorno a questo modello fin dall'inizio — il tuo telefono e il tuo browser agiscono come i due firmatari, e non esiste alcuna modalità a seed singola nascosta dietro le quinte.

Configurare il tuo primo wallet SSP ti guida passo dopo passo attraverso l'abbinamento, il backup e la prima transazione firmata.

Condividi questo articolo

Articoli correlati