Simple Payment Verification (SPV) é um método leve para verificar transacções Bitcoin sem descarregar toda a blockchain. Esta técnica, originalmente descrita no whitepaper Bitcoin de Satoshi Nakamoto, permite que a Electrum funcione eficientemente como um cliente leve.
Aspectos fundamentais do SPV:
- Verificação de leveza: Os clientes SPV, como o Electrum, apenas descarregam cabeçalhos de blocos e não blocos completos. Isto reduz significativamente os requisitos de armazenamento de dados e de largura de banda.
- Provas de Merkle: Para verificar uma transação, o cliente solicita ao servidor uma prova de inclusão sob a forma de um ramo Merkle.
- Vantagem de segurança: A SPV oferece maior segurança em comparação com as carteiras electrónicas. Embora dependa dos servidores para obter algumas informações, não precisa de confiar dados sensíveis a esses servidores.
- Eficiência: Ao utilizar o SPV, a Electrum pode verificar rapidamente as transacções sem as exigências de recursos de um nó completo.
Como funciona:
- A Electrum descarrega e armazena cabeçalhos de blocos.
- Ao verificar uma transação, solicita uma prova de Merkle a um servidor.
- Utilizando esta prova, a Electrum pode confirmar a inclusão da transação na cadeia de blocos sem descarregar o bloco inteiro.
Esta abordagem permite à Electrum equilibrar segurança e eficiência, fornecendo uma solução de carteira robusta sem a necessidade de recursos computacionais extensos.
Referência: "Bitcoin: Um sistema de dinheiro eletrónico peer-to-peer" de Satoshi Nakamoto.