Simple Payment Verification (SPV) è un metodo leggero per verificare le transazioni Bitcoin senza scaricare l'intera blockchain. Questa tecnica, originariamente descritta nel whitepaper Bitcoin di Satoshi Nakamoto, consente a Electrum di funzionare in modo efficiente come client leggero.
Aspetti chiave della SPV:
- Verifica della leggerezza: I client SPV come Electrum scaricano solo le intestazioni dei blocchi, non i blocchi completi. In questo modo si riducono notevolmente i requisiti di archiviazione dei dati e di larghezza di banda.
- Prove di Merkle: Per verificare una transazione, il cliente richiede al server una prova di inclusione sotto forma di ramo Merkle.
- Vantaggio di sicurezza: L'SPV offre una maggiore sicurezza rispetto ai portafogli web. Sebbene si affidi ai server per alcune informazioni, non ha bisogno di affidare a questi server i dati sensibili.
- Efficienza: Utilizzando l'SPV, Electrum può verificare rapidamente le transazioni senza richiedere le risorse di un nodo completo.
Come funziona:
- Electrum scarica e memorizza le intestazioni dei blocchi.
- Quando verifica una transazione, richiede una prova Merkle a un server.
- Utilizzando questa prova, Electrum può confermare l'inserimento della transazione nella blockchain senza scaricare l'intero blocco.
Questo approccio permette a Electrum di bilanciare sicurezza ed efficienza, fornendo una soluzione di portafoglio robusta senza la necessità di grandi risorse computazionali.
Riferimento: "Bitcoin: un sistema di contanti elettronici Peer-to-Peer" di Satoshi Nakamoto.