Principianti

Wallet, seed e indirizzi

Cosa contiene davvero un wallet Monero e perché ha due chiavi

In breve

Un wallet Monero non contiene monete ma chiavi. Tutto parte da un unico numero casuale, trascritto come seed phrase di 25 parole. Da esso derivano due chiavi segrete: la chiave di spesa (spend key, può spendere) e la chiave di visualizzazione (view key, può solo vedere i pagamenti in entrata). Da queste deriva il tuo indirizzo pubblico.

Le monete non sono nel wallet

Le tue monete sono registrate sulla blockchain, un registro condiviso copiato da ogni nodo. Il wallet conserva solo il segreto che ti permette (a) di trovare nel registro gli output che ti appartengono e (b) di spenderli. Se perdi il segreto, perdi il denaro. Se qualcuno scopre il segreto, può spenderlo.

La seed phrase: 25 parole

Quando si crea un wallet, viene generato un numero casuale di 256 bit. È scomodo da trascrivere, quindi il wallet lo trasforma in 25 parole prese da un elenco: 24 parole contengono il numero stesso e la 25ª è un checksum per individuare gli errori di battitura. Queste parole sono il tuo wallet. Qualsiasi programma può ricostruire tutto il resto a partire da esse.

Alcuni wallet (ad es. Feather) usano il formato più recente Polyseed: 16 parole che codificano anche la data di creazione del wallet (così non deve scansionare la blockchain dall'inizio). L'idea è la stessa: le parole sono il tuo denaro. Maggiori dettagli in seed phrase e indirizzi.

seed phrase 25 parole spend key chiave privata di spesa hash view key chiave privata di visual. ×G ×G spesa pubblica B visual. pubblica A indirizzo 4…
Tutto deriva da un unico segreto. Le frecce vanno in una sola direzione.

Perché due chiavi?

In Bitcoin una sola chiave segreta fa tutto. In Monero i compiti sono divisi:

ChiaveCosa può fareA chi puoi darla
view keyTrovare i pagamenti in entrata e vederne gli importiUn commercialista, un revisore, un wallet "di osservazione" sul server di un negozio
spend keySpendere il denaro (e, indirettamente, vedere i pagamenti in uscita)A nessuno

Questa divisione esiste perché un wallet Monero non può semplicemente "chiedere alla blockchain il saldo di un indirizzo": l'indirizzo non è sulla blockchain. Il wallet deve scansionare ogni nuova transazione e controllare: è per me? Per questo controllo basta la view key. Così la scansione si può delegare a un server senza dargli il diritto di spendere.

La view key non vede tutto

Con la sola view key, un wallet vede i pagamenti in entrata ma non può sapere con certezza quali siano stati spesi: per farlo serve calcolare la key image, che richiede la spend key. Per questo un wallet in sola visualizzazione mostra un saldo gonfiato finché non vi si importano le key image. Carrot (in arrivo con FCMP++) aggiunge una chiave separata a questo scopo.

Indirizzo principale e subaddress

L'indirizzo principale inizia con 4 ed è lungo 95 caratteri. Condividerlo con tutti, però, non è l'ideale: le persone a cui hai dato lo stesso indirizzo possono capire che due pagamenti sono andati alla stessa persona (per esempio, se due piattaforme confrontano gli indirizzi di pagamento).

Per questo i wallet Monero possono creare dei subaddress (sottoindirizzi), che iniziano con 8. Puoi crearne quanti vuoi, appartengono tutti a un solo wallet e i subaddress in sé non rivelano alcun legame tra loro. Buona abitudine: un nuovo subaddress per ogni pagatore.

Tipi di wallet

  • Nodo completo + wallet (GUI/CLI ufficiale con il tuo monerod): massima privacy, scarichi e verifichi la blockchain da solo.
  • Wallet con nodo remoto (Feather, Cake, Monerujo, ecc.): il wallet scarica i blocchi dal nodo di qualcun altro ma li scansiona da sé. Il nodo non scopre le tue chiavi ma vede il tuo IP e quando invii transazioni.
  • Light wallet: la view key viene affidata a un server che scansiona per te. Comodo, ma il server vede tutti i pagamenti in entrata.
  • Hardware (Ledger, Trezor): la spend key non lascia mai il dispositivo.

Raccomandazioni concrete sono nella pagina wallet. Vuoi vedere come funziona all'interno? Apri il generatore di chiavi: esegue nel tuo browser ogni passaggio del diagramma qui sopra.