Glossario / Wallet e custodia
Backup Shamir
Noto anche come SLIP39, Shamir secret sharing.
- Che cos'è il backup Shamir?
- Il backup Shamir divide un segreto del wallet in diverse liste di parole e richiede un numero qualsiasi di esse, scelto in anticipo, per ricostruirlo, così nessun singolo foglio di carta basta.
La matematica deriva dall'articolo di Adi Shamir del 1979 sulla condivisione di un segreto, e l'implementazione per bitcoin è SLIP-39, pubblicata da SatoshiLabs. Una configurazione due su tre produce tre liste di 20 parole, due qualsiasi delle quali ripristinano il wallet, mentre una sola non rivela nulla. Risponde al furto e alla perdita con lo stesso backup, cosa che una singola frase non può fare.
Come funziona
La condivisione a soglia non è cifratura e non è spezzare una frase in pezzi. Il segreto è trattato come un punto su un polinomio di grado inferiore di uno rispetto alla soglia, e ogni parte è un altro punto su quella curva. Due punti definiscono una retta, tre definiscono una parabola, e così via, quindi raccogliere il numero di parti pari alla soglia ricostruisce la curva e permette di leggere il valore originale. Sotto la soglia non c'è alcuna informazione parziale: con una parte di un due su tre, ogni segreto possibile resta probabile esattamente quanto prima, il che è una garanzia più forte di "computationally hard".
SLIP-39 racchiude questa idea in un formato pensato per la scrittura a mano. La sua lista di parole contiene 1.024 parole invece delle 2.048 di BIP-39, ciascuna tra quattro e otto lettere e identificata in modo univoco dalle prime quattro. Una parte è di 20 parole per un segreto principale di 128 bit e di 33 parole per uno di 256 bit, con ogni parola che porta 10 bit, più dati di identificatore, soglia e checksum perché un wallet sappia a quale gruppo appartiene una parte. Lo schema prevede due livelli: fino a 16 gruppi, ciascuno con fino a 16 parti, con una soglia sui gruppi e una all'interno di essi.
Due limiti decidono se fa per te. La ricostruzione avviene su un solo dispositivo in un solo momento, quindi quel dispositivo e quel momento sono un unico punto di compromissione, per quanto con cura siano state distribuite le parti. E SLIP-39 non è intercambiabile con BIP-39: una frase esistente di 12 o 24 parole non può essere convertita in parti, e le parti non possono essere digitate in un wallet che comprende solo i mnemonic.
Dove lo vedi
Trezor ha introdotto il backup Shamir sul Model T con il firmware 2.1.3 ad agosto 2019, ha aggiunto il "super Shamir" multi-gruppo nella versione 2.1.6 in ottobre dello stesso anno, e i suoi attuali dispositivi Safe portano avanti la funzione. Il supporto altrove è scarso, ed è l'argomento pratico più forte contro di esso: il tuo backup si ripristina sull'hardware di un solo produttore o tramite l'implementazione di riferimento open source python-shamir-mnemonic, e da nessun'altra parte. Chi pianifica un backup destinato a durare un decennio dovrebbe valutarlo rispetto a BIP-39, che ogni wallet legge.
Le configurazioni in cui si guadagna il suo posto sono geografiche e sociali. Le parti in tre città sopravvivono a un incendio domestico senza che nessuna singola località basti a un ladro. Un tre su cinque distribuito tra familiari e un avvocato dà a un patrimonio una via praticabile senza affidare a nessuno il controllo unilaterale finché sei in vita. Entrambi i casi richiedono che la prova di recupero sia esercitata almeno una volta, perché uno schema a soglia fallisce in silenzio: scopri che una parte è corrotta solo quando provi a usarla.
Se la forma dell'idea ti piace ma vuoi un supporto più ampio negli strumenti, codex32 è l'altra opzione che vale la pena conoscere. Specificato come BIP-93, definisce un formato di parte il cui checksum può essere verificato a mano sulla carta, senza alcun computer.
Backup Shamir vs multisig
Shamir divide un segreto; il multisig usa diverse chiavi realmente indipendenti. Quella sola differenza determina tutto il resto. Le parti Shamir devono essere riunite su una macchina per spendere, quindi un attaccante che coglie quel momento ottiene tutto, mentre le firme del multisig sono prodotte su dispositivi separati e le chiavi non si incontrano mai. Il multisig è visibile sulla catena, costa di più in commissioni di transazione e richiede che il descriptor del wallet sia salvato insieme ai seed. Shamir è invisibile a tutti, non costa nulla in più per spendere e non aggiunge complessità on-chain. Per l'eredità e la protezione antincendio, Shamir è più semplice. Per difendersi da un dispositivo compromesso o da un singolo partecipante disonesto, il multisig è quello che aiuta davvero.