Blockchain/Nível I · Dinheiro/1.2 O caminho cypherpunk/Lição 7
O problema de gasto duplo e os generais bizantinos
O problema de confiança que precedeu a solução
MateriaisInterface de explorador de blocos (por exemplo, mempool.space ou blockchain.com)O documento técnico de Nakamoto, Seção 4Lamport et al., ‘O Problema dos Generais Bizantinos’ (1982)
Curiosidade
- Se um arquivo digital pode ser copiado perfeitamente e instantaneamente, o que impede que seja usado duas vezes?
- Como um grupo de estranhos sem identidade em comum pode concordar sobre uma única história sem um líder para arbitrar disputas?
- O que torna um voto em uma rede aberta mais valioso do que a palavra de outra pessoa?
Explorar
- Um token digital é meramente um arquivo. Diferentemente do dinheiro físico, ele pode ser duplicado bit a bit sem custo algum e sem perda de qualidade. Se Alice enviar dez unidades para Bob, ela mantém o arquivo original e pode enviar essas mesmas dez unidades para Charlie simultaneamente. Até 2008, todo sistema digital de dinheiro funcional dependia de um emissor confiável: os sistemas online verificavam cada pagamento de forma centralizada, enquanto os sistemas offline só conseguiam identificar quem fazia gastos duplicados após o fato.
- O DigiCash de David Chaum exigia que cada beneficiário depositasse moedas no banco, o qual verificava cada número de série em relação à sua lista de moedas já utilizadas. As Provas Reutilizáveis de Trabalho de Hal Finney dependiam de um único servidor que executava código de fonte aberta em hardware seguro para rastrear os tokens já usados. O b-money de Wei Dai propunha servidores responsáveis por registrar os depósitos, e esses servidores poderiam ser multados em caso de fraude, mas nunca foi desenvolvido. Cada um desses projetos tinha como ponto central uma parte confiável ou um grupo conhecido.
- Em 1982, Leslie Lamport, Robert Shostak e Marshall Pease formalizaram o Problema dos Generais Bizantinos em ACM Transactions on Programming Languages and Systems. Os generais que cercam uma cidade precisam concordar se devem atacar ou recuar, mas alguns deles são traidores que enviam mensagens conflitantes; os próprios mensageiros são confiáveis. Com mensagens não assinadas, um consenso só é possível se menos de um terço dos generais for traidor (n ≥ 3f+1); com um terço ou mais, nenhum protocolo pode garantir isso.
- Protocolos clássicos tolerantes a falhas, como o PBFT, exigem um conjunto fixo e conhecido de participantes. Isso funciona para os livros-razão internos dos bancos, mas falha em redes abertas onde qualquer pessoa pode se juntar. John Douceur identificou o ataque Sybil em 2002: um adversário pode gerar identidades falsas ilimitadas para diluir votos honestos ou controlar os quóruns. Em uma rede peer-to-peer aberta, a identidade é barata e infinita, portanto qualquer esquema que conte identidades pode ser dominado por um único agente.
- O whitepaper de Satoshi Nakamoto abordou isso diretamente. Seu resumo apresenta o bitcoin como uma solução para o problema do gasto duplo sem a necessidade de um terceiro confiável. Em vez de depender da identidade ou da confiança institucional, o sistema vincula cada bloco a uma prova cumulativa de trabalho (PoW). Os votos são ponderados pelo poder computacional, que não pode ser multiplicado inventando identidades; um atacante precisa superar em capacidade de cálculo toda a rede honesta para reescrever a história.
- O resultado é a finalização probabilística. Uma transação não é permanentemente final no sentido matemático, mas torna-se cada vez mais segura à medida que cada novo bloco estende a cadeia. Enquanto um atacante controlar menos da metade do poder de hashing, a chance de reversão diminui exponencialmente a cada confirmação. Esse trade-off aceita a possibilidade teórica de reversão para obter imutabilidade prática sem controle centralizado. Abra um explorador de blocos e observe como o trabalho acumulado cresce com a altura de cada bloco; esse custo acumulado é o que ancora o livro-razão à realidade física.
Fatos-chave
- Lamport, Shostak e Pease publicaram 'The Byzantine Generals Problem' na ACM TOPLAS em 1982.
- O consenso com mensagens não assinadas requer que mais de dois terços dos participantes sejam honestos (n ≥ 3f+1).
- John Douceur descreveu o ataque Sybil em 2002, demonstrando que identidades ilimitadas quebram os quóruns tradicionais.
- Todo sistema de dinheiro digital anterior a 2008 dependia de um emissor confiável para lidar com o gasto duplo.
- O Bitcoin alcança consenso ao aceitar a cadeia com a maior prova de trabalho cumulativa.
- Em novembro de 2008, Satoshi Nakamoto explicou sua solução em termos semelhantes aos dos “generais bizantinos” na lista de e-mails sobre criptografia.
Exercício nove, seis, três, um
9ReunirListe 9 sistemas ou protocolos distribuídos que exigem que várias partes concordem sobre um estado. Indique quem tem a palavra final e o que acontece se uma das partes mentir.
6AgruparAgrupe os 9 em 6 categorias com base no modelo de confiança: autoridade central, quórum fixo, prova de trabalho (PoW) permissionless, prova de stake permissioned, consenso social ou outro.
3DestilarReduza os 6 grupos a 3 trade-offs fundamentais entre segurança, descentralização e escalabilidade.
1CristalizarEscreva 1 frase explicando por que um 'voto' ponderado pelo gasto de energia é mais difícil de falsificar do que um voto ponderado pela identidade.
Verificação de fatos
Datas, números e afirmações verificados com as fontes publicadas listadas abaixo.