Construindo o Ergo: segurança SPV
1 de maio de 2020

Existe frequentemente uma tensão no mundo cripto entre segurança e conveniência. Essa troca é inaceitável se quisermos que essas tecnologias sejam amplamente utilizadas. Aqui está como o Ergo aborda um problema comum e muito importante.
Todos nós sabemos que a maneira mais segura de usar Bitcoin, ou qualquer cripto, é baixar uma cópia da blockchain e executar um nó completo você mesmo. Dessa forma, toda vez que você ou qualquer outra pessoa faz uma transação, seu cliente verifica a blockchain para garantir que é válida. Você não precisa confiar em mais ninguém.
Um nó completo de Bitcoin verifica todos os blocos na blockchain (usando cabeçalhos) e se certifica de que não há transações fraudulentas. É uma maneira muito segura de usar cripto – mas há um problema. Isso requer largura de banda, armazenamento e poder de processamento significativos. Esse tipo de hardware comum é caro, e usar um nó completo para validar e fazer transações é, de qualquer forma, inadequado para dispositivos móveis. Isso é particularmente verdadeiro para o Bitcoin, onde a blockchain tem mais de 270 GB e contando.
SPV
A Verificação de Pagamento Simplificada (SPV) foi projetada para resolver esse problema, conforme descrito no white paper do Bitcoin:
- É possível verificar pagamentos sem executar um nó de rede completo. Um usuário só precisa manter uma cópia dos cabeçalhos de bloco da cadeia de prova de trabalho mais longa, que ele pode obter consultando nós da rede até que esteja convencido de que possui a cadeia mais longa, e obter o ramo Merkle ligando a transação ao bloco em que está timestampado. Ele não pode verificar a transação por conta própria, mas ao ligá-la a um lugar na cadeia, ele pode ver que um nó da rede a aceitou, e blocos adicionados depois disso confirmam ainda mais que a rede a aceitou.
Satoshi observa que esta não é uma solução perfeita e é vulnerável a um atacante que sobrecarrega a rede e engana os usuários de SPV.
Além disso, enquanto o modo SPV é destinado a dispositivos com recursos limitados, mesmo essa abordagem ‘lite’ nem sempre é viável. Os cabeçalhos do Ethereum sozinhos totalizam cerca de 5 GB para baixar. Assim, os clientes móveis do Ethereum não validam a validade da cadeia e, portanto, têm que confiar cegamente em terceiros.
Existem propostas para reduzir os requisitos para o modo SPV verificando apenas alguns cabeçalhos aleatórios, em vez de todos eles. Mas é difícil fazer isso de forma segura.
SPV Eficiente
Vários anos foram gastos pesquisando e desenvolvendo protocolos seguros que permitem clientes SPV eficientes. Os dois protocolos mais conhecidos e confiáveis são NiPoPoWs e FlyClient.
O Ergo implementa NiPoPoWs, ou Prova Não Interativa de Prova de Trabalho. Esta tecnologia pode ser explorada em sua totalidade neste site dedicado: https://nipopows.com:
-
Provas Não Interativas de Prova de Trabalho (NIPoPoWs) são strings curtas autônomas que um programa de computador pode inspecionar para verificar que um evento ocorreu em uma blockchain baseada em prova de trabalho sem se conectar à rede blockchain e sem baixar todos os cabeçalhos de bloco. Por exemplo, essas provas podem ilustrar que um pagamento em criptomoeda foi feito.
-
NIPoPoWs permitem a criação de carteiras móveis muito eficientes. Carteiras SPV já são muito leves em comparação com nós completos porque exigem apenas o download de cabeçalhos de bloco, não de toda a blockchain. Carteiras NIPoPoW precisam baixar apenas uma pequena amostra de cabeçalhos de bloco, cerca de 250, quando clientes SPV precisam baixar meio milhão de cabeçalhos de bloco. A amostra necessária muda, mas não cresce muito em tamanho à medida que a blockchain cresce ao longo dos anos, mesmo após décadas de dados terem sido acumulados.
Isso nos permite construir um cliente SPV móvel que requer cerca de apenas 100KB de cabeçalhos de bloco para ser baixado.
Uma carteira Ergo super eficiente com segurança SPV está em desenvolvimento, então fique atento para mais atualizações!
Share post
13 de agosto de 2025
12 de agosto de 2025
9 de julho de 2025
12 de maio de 2025

7 de abril de 2022

8 de março de 2022


















