


Serie: Zero to Zero Knowledge
Le frasi seed mnemoniche sono alla base di uno degli aspetti più importanti delle criptovalute - la auto-custodia.
Oggi impariamo come una frase mnemonica viene generata e usata nei portafogli.
Le frasi di recupero sono definite dalla specifica BIP-39, il tipo di frase di recupero più comune usato oggi.
La creazione delle frasi di recupero inizia generando casualità. Più entropia significa maggiore sicurezza. 128 bit di entropia sono considerati sufficienti per la maggior parte degli utenti.

A seconda della lunghezza dell'entropia iniziale, la frase di recupero sarà lunga da 12 a 24 parole.
Iniziamo generando 128 bit di entropia.
Facciamo l'hash dell'entropia usando SHA256. I primi bit di questo hash diventano il checksum.
Questo ci dà un'impronta unica per la nostra entropia.

I 132 bit totali (128 di entropia + 4 di checksum) vengono separati in blocchi di 11 bit.
Ogni sequenza di 11 bit viene convertita in un numero decimale (0-2047).
Le wordlist BIP-39 contengono esattamente 2048 parole (inglese, spagnolo, cinese, ecc.).
Questi numeri vengono usati per trovare la parola corrispondente nella wordlist.

Risultato: ora abbiamo una frase di recupero di 12 parole, sicura e leggibile dall'uomo!
Usando la frase di recupero, un portafoglio può generare chiavi per creare indirizzi di pagamento e diversi account del portafoglio.
Le chiavi generate sono deterministiche - lo stesso input produce sempre lo stesso output.
Il seed del portafoglio viene derivato dalla frase mnemonica usando una funzione di derivazione delle chiavi (KDF):
Questo produce un seed di 64 byte (512 bit).

Il seed viene suddiviso in due sequenze da 32 byte:
Queste vengono usate nei portafogli deterministici gerarchici (HD) per la derivazione delle chiavi figlie.
In Zcash, l'autorità di visualizzazione o l'autorità di spesa possono essere delegate in modo indipendente per i sotto-alberi senza compromettere il seed master.
ZIP-32 definisce lo standard di generazione deterministica gerarchica delle chiavi adattato alle funzionalità di privacy di Zcash.
Da una chiave di spesa espansa deriviamo:
Diversi meccanismi di derivazione producono indirizzi esterni adatti a essere distribuiti ai mittenti attraverso le pool schermate (Sapling & Orchard).

Zcash supporta anche gli indirizzi interni per operazioni del portafoglio come l'Auto-Shielding.
Thread originale di ZecHub (@ZecHub)
https://x.com/ZecHub/status/1624125037945946145
Questa pagina è stata compilata a partire dal thread originale Zero to Zero Knowledge per il wiki di ZecHub.