Cos'è il seed?

1. Cos’è la Seed phrase?

La frase seed (in inglese “seed recovery phrase o “backup seed phrase”) è una lista di parole che memorizza tutte le informazioni necessarie, il “seed” (dall’inglese, “seme”) per recuperare un portafoglio Bitcoin. Solitamente, il wallet genera una seed-phrase e consiglia all'utente di scriverlo su carta: se il computer dell'utente si rompesse o il suo disco rigido si danneggiasse, tramite la seed-phrase potrebbe recuperare i propri bitcoin della blockchain. Il seed quindi non è una rappresentazione mnemonica di una chiave privata, ma qualcosa di molto simile ad essa, che da al possessore di tali dati il completo controllo sui vostri fondi: è importante non confondere ciò che effettivamente è il seed con la sua rappresentazione.

2. Cos’è una chiave privata?

Una chiave privata è un numero a 256 bit, una sequenza (pseudo) casuale di 0 e 1, che rappresenta la parte "privata" di una coppia di chiavi, che insieme alla corrispondente chiave pubblica, viene generalmente considerata l’elemento che determina il possesso dei fondi sulla blockchain e la loro completa gestione. Solitamente non lavorerai mai direttamente con questa sequenza, poiché sarà tradotta in qualche altro formato prima che di essere visualizzata e utilizzata.

3. Cos’è il seed?

Un seed è numero di 128 bit che viene usato come misura di casualità: questa entropia è utilizzata in uno schema matematico specifico che genera un sottoinsieme di tutti i numeri in uno spazio numerico a 256 bit. Nel caso d'uso di Bitcoin, tutti i numeri nel sottoinsieme risultante sono le chiavi private, generate da quel seme. Quindi un seme ti permette di creare un vasto numero di chiavi private apparentemente indipendenti, apparentemente casuali, ma che possono essere ricreate tutte purché tu conosca il valore del seme e lo schema utilizzato per generare il sottoinsieme di chiavi private.

4. Che differenza c’è tra seed e chiave privata?

Come avrete intuito, sia le chiavi private che i seed, nella loro natura sono la stessa cosa: numeri. Scendendo nei dettagli troviamo però, come già sappiamo, una differenza sia nelle dimensioni massime specifiche che nello scopo: il seed infatti è ciò che il wallet utilizza per generare le chiavi private per i tuoi indirizzi; se conservi il tuo seed e il tuo "percorso di derivazione", puoi essere sicuro di poter accedere ai tuoi fondi in futuro, anche quando il portafoglio che hai utilizzato originariamente non esisterà più o il tuo PC sarà distrutto. I “seed” e il percorso di derivazione sono tutto ciò di cui hai bisogno. È possibile che un portafoglio non utilizzi affatto i seed e generi semplicemente chiavi private totalmente casuali, in quel caso dovrete necessariamente archiviare quelle chiavi da qualche parte perché perdendole, non avrete modo di accedervi di nuovo. I seed sono stati inventati proprio per semplificarti la vita in modo da non dover eseguire manualmente il backup dei file con le tue chiavi private.

5. Cos’è la chiave pubblica?

Come accennato, abbiamo anche una chiave pubblica. Ciò causa un po 'di confusione, poiché alcune persone presumono che un “indirizzo bitcoin” e la chiave pubblica siano la stessa cosa: le cose non stanno così, ma ad ogni modo sono matematicamente correlati. Un indirizzo di portafoglio bitcoin è una hashed-versione della tua chiave pubblica: questo indirizzo potremmo ora considerarlo l’equivalente di un indirizzo fisico o di una e-mail poiché è’ la sola informazione che occorre fornire per farsi inviare criptovalute, come quando ad esempio usiamo Paypal e forniamo la nostra mail.

6. Che differenza c’è tra indirizzo di ricezione (“recieving”) e di cambio (“change”)?

Innanzitutto dobbiamo considerare che gli indirizzi Bitcoin non sono analoghi ai conti bancari in cui possiedi un importo totale e puoi trasferirne una parte. Quello che realmente possediamo sono proposizioni che ci attestano il possesso di una determinata quantità di criptovaluta, spesso indicata come "output di transazione non speso” (UTXO). Questa determinata quantità rappresentata dalla relativa chiave pubblica, ad esempio 0.35 BTC, può essere riscattata con una chiave privata specifica (o in altri casi tramite uno script più complesso, come uno “smart contract”): non sarà mai possibile riscattare solo una parte di quella quantità: quindi, se vorrai effettuare una transazione per 0,15 BTC, dovrai necessariamente dividere quella quantità in due, una parte del valore di 0.15 BTC, che accrediterai all'indirizzo “recieving” del ricevente e la restante parte che andrà al tuo indirizzo di “change”, e risulterà come output non speso. La maggior parte dei software wallet compie queste operazioni in automatico.

7. Cosa sono i wallet deterministici o HD?

HD è l'abbreviazione di Hierarchical Deterministic: questi wallet sono dei software specifici utilizzati per gestire i fondi attraverso il seed, generando una struttura gerarchica di coppie di chiavi pubbliche e private. A differenza dei wallet “vecchio stile”, che generano nuovi indirizzi bitcoin e chiavi private in modo casuale secondo necessità, in un portafoglio deterministico tutti i dati vengono generati utilizzando un algoritmo specifico, partendo da un singolo “seme”: questo significa che attraverso il tuo seed, in caso di danneggiamento del tuo disco rigido o software wallet non disponibile, potrai tranquillamente creare un nuovo portafoglio usando lo stesso seed, rientrando così in possesso di tutti gli indirizzi e le chiavi private dal tuo vecchio wallet.