Sapling
Sapling è stato attivato sulla mainnet di Zcash al blocco 419.200 (29 ottobre 2018, 02:15 UTC).
Cosa imparerai: Sapling ha reso i pagamenti privati su Zcash abbastanza veloci e leggeri da poter funzionare su un telefono o su un portafoglio hardware.
Sapling è stato il secondo importante aggiornamento di rete di Zcash, attivato nel secondo anniversario di Zcash. È stato un hard fork di consenso che ha ricostruito il modo in cui vengono assemblate le transazioni schermate (private). L'implementazione è definita da ZIP 205, le nuove regole di firma delle transazioni da ZIP 243, ed entrambe si basano su ZIP 200, il meccanismo di aggiornamento di rete. Tutti i dettagli completi si trovano nella Zcash Protocol Specification. Electric Coin Company ha realizzato l'aggiornamento e ha distribuito la prima versione che lo supportava, zcashd 2.0.0, nell'agosto 2018. On-chain, la rete identifica le regole di Sapling tramite il suo consensus branch id.
Perché è importante. Prima di Sapling, effettuare un pagamento davvero privato significava aspettare minuti mentre il tuo computer elaborava gigabyte di memoria per costruire la prova. Era troppo lento e troppo pesante per la maggior parte delle persone, quindi molti utenti, gli exchange e i negozi evitavano le transazioni schermate e inviavano invece ZEC in chiaro. Sapling ha ridotto il lavoro a pochi secondi e a circa 40 megabyte di memoria. Questo singolo cambiamento è ciò che ha reso gli ZEC schermati pratici da usare nella vita quotidiana, su normali telefoni e su portafogli hardware.
Cosa è cambiato
Il cuore di Sapling è un modo più veloce per costruire la prova a conoscenza zero che mantiene privata una transazione schermata. Il design originale di Sprout usava un unico circuito di proving (il circuito JoinSplit), che era lento e richiedeva molta memoria. Sapling lo ha sostituito con due circuiti progettati appositamente, un circuito Spend e un circuito Output, descritti nella Zcash Protocol Specification. Il risultato è un grande calo dei costi. Secondo Electric Coin Company, una transazione schermata può essere costruita in appena pochi secondi usando circa 40 megabyte di memoria. Il riferimento pre-Sapling di Sprout era molto più pesante, nell'ordine di minuti e diversi gigabyte di memoria (queste cifre lato Sprout sono il riferimento approssimativo più citato).

Nuove chiavi
Sapling ha anche introdotto un nuovo insieme di indirizzi e chiavi schermati. Una chiave può derivare molti indirizzi diversificati, che sono indirizzi di pagamento separati che un osservatore esterno non può collegare tra loro. Sapling ha aggiunto anche le chiavi di visualizzazione: una chiave di visualizzazione completa o in ingresso ti permette di condividere la possibilità di vedere i dettagli delle transazioni di un portafoglio senza cedere la possibilità di spendere i suoi fondi. Questo è utile per audit, contabilità o semplicemente per dimostrare che un pagamento è stato effettuato.
Un cambiamento correlato è che Sapling ha separato il compito di costruire la prova da quello di firmare la transazione. Il dispositivo che costruisce la prova a conoscenza zero non deve più essere il dispositivo che detiene l'autorizzazione di spesa. Questo disaccoppiamento è ciò che consente a un portafoglio hardware di mantenere isolate le tue chiavi di spesa mentre un dispositivo separato esegue il lavoro di proving più pesante.

Il trusted setup
I circuiti di Sapling si basano su un insieme di parametri pubblici che dovevano essere generati con attenzione. Se una singola parte li avesse prodotti da sola e avesse conservato i dati segreti residui (i "toxic waste"), quella parte avrebbe potuto falsificare le proof. Per evitarlo, i parametri sono derivati da una cerimonia in due fasi e multi-party. La fase 1, chiamata Powers of Tau, era indipendente dai circuiti, cioè non era legata ai circuiti specifici di Sapling. La fase 2, la Sapling MPC, era specifica per il circuito. Ogni fase rimane sicura finché almeno un partecipante è stato onesto e ha distrutto i propri toxic waste, quindi la cerimonia fallisce solo se ogni singolo partecipante collude.
Come si è attivato
Sapling ha seguito Overwinter, l'aggiornamento del giugno 2018 che ha preparato il meccanismo di aggiornamento della rete. Electric Coin Company ha fissato l'altezza di attivazione su mainnet in zcashd 2.0.0, rilasciato nell'agosto 2018, e la rete è passata alle regole di Sapling quando è stato minato il blocco 419.200. On-chain, quel momento è contrassegnato dal consensus branch id di Sapling.

Glossario
| Termine | Significato in parole semplici |
|---|
| Shielded transaction | Una transazione schermata di Zcash che nasconde il mittente, il destinatario e l'importo. |
| Sprout | Il protocollo schermato originale con cui è stato lanciato Zcash, più lento e pesante di Sapling. |
| Spend and Output circuits | I due nuovi circuiti di proving di Sapling che hanno sostituito l'unico circuito JoinSplit di Sprout. |
| Diversified address | Uno dei molti indirizzi di pagamento non collegabili che puoi derivare da una singola chiave. |
| Viewing Key | Una chiave che permette a qualcuno di vedere le transazioni di un portafoglio senza poter spendere da esso. |
| Consensus branch id | Un codice breve che indica alla rete quali regole di aggiornamento segue una transazione. |
FAQ
Sapling ha cambiato la quantità di ZEC che possiedi? No. Sapling ha cambiato il modo in cui vengono costruite le transazioni schermate, non la quantità di ZEC posseduta da qualcuno né l'offerta totale. Il tuo saldo non è stato influenzato.
Il mio ZEC è ancora privato dopo Sapling? Sì, ed è più utilizzabile. Sapling ha mantenuto la forte privacy delle transazioni schermate e le ha rese abbastanza veloci ed economiche da essere davvero usate. I fondi schermati restano nascosti nello stesso modo.
Devo fare qualcosa? Non è richiesta alcuna azione da parte tua come holder. Sapling è stato un aggiornamento di rete adottato dal software dei portafogli e dei nodi. I portafogli moderni supportano già gli indirizzi Sapling.
Qual è la differenza tra Sprout e Sapling? Sprout è stato il primo protocollo schermato e usava un solo circuito di proving lento e pesante in termini di memoria. Sapling lo ha sostituito con i più veloci circuiti Spend e Output, ha aggiunto le chiavi di visualizzazione e gli indirizzi diversificati, e ha reso le transazioni schermate abbastanza leggere per telefoni e portafogli hardware.
Perché alcune fonti dicono 28 ottobre e altre 29 ottobre? L'altezza di attivazione era stata fissata in anticipo con l'obiettivo del 28 ottobre 2018. Il blocco che ha effettivamente attivato il cambiamento, il blocco 419.200, è stato minato nelle prime ore del 29 ottobre UTC. In molti fusi orari locali era ancora il 28 ottobre. In entrambi i casi si tratta dello stesso blocco e dello stesso momento.
Che cos'è una chiave di visualizzazione? Una chiave di visualizzazione ti permette di condividere l'accesso in lettura a un portafoglio schermato. Chi possiede una chiave di visualizzazione completa o in ingresso può vedere i dettagli delle transazioni del portafoglio ma non può spendere i suoi fondi. Vedi Chiavi di visualizzazione per saperne di più.
Verifica la tua comprensione
Perché, con Sprout, così tante persone evitavano le transazioni schermate, e in che modo Sapling ha risolto il problema?
Risposta
Con Sprout, costruire una transazione schermata richiedeva minuti e usava gigabyte di memoria, quindi era troppo lenta e pesante per la maggior parte degli utenti, degli exchange e dei negozi. Sapling ha introdotto i più veloci circuiti Spend e Output, che hanno ridotto il lavoro a pochi secondi e circa 40 megabyte, rendendo pratiche le transazioni schermate su telefoni di tutti i giorni e portafogli hardware.
Risorse
Vedi anche
- Pool schermate
- Chiavi di visualizzazione
- zk-SNARKs
- Aggiornamenti di rete di Zcash
- Portafogli
- Electric Coin Company
Serie: Indice degli aggiornamenti di rete · Precedente: Overwinter · Successivo: Blossom