Por que dinheiro em arquivo não funciona
Quando, no fim do século XX, o dinheiro virou de vez um registro no computador, esse registro revelou uma característica desagradável: ele pode ser copiado. Uma música ou um livro em formato eletrônico são reenviados sem fim, o remetente continua com o seu, o destinatário recebe um igual, e não dá para distinguir a cópia do original. Com uma música, isso é um desastre para as gravadoras. Com dinheiro, é o fim do dinheiro. Se a moeda é um arquivo, o dono pode mandar o mesmo arquivo a dois vendedores e pagar duas vezes (capítulo “Uma pedra no fundo do mar”).
Os programadores chamaram isso de problema do gasto duplo. Dá para ver como funciona no experimento “Uma moeda, dois vendedores”: primeiro você paga os dois vendedores com uma moeda em forma de arquivo, depois tenta o mesmo por meio de um contador que mantém a lista comum.
A solução do intermediário
Durante muitos anos o problema teve uma única solução. É preciso alguém no meio que mantenha a lista comum e risque a moeda gasta antes de aceitá-la do próximo. Ou seja, o mesmo banco, só que no computador. Toda moeda digital sem contador central batia nesse muro, e toda que aceitava um virava mais um banco (mesmo capítulo).
Até a solução mais elegante antes do bitcoin funcionava assim. Em 1982 David Chaum apresentou a assinatura cega: o banco assina a moeda sem ver o número, e quando ela volta confere na lista se ninguém gastou esse número ainda. O gasto duplo estava vencido, e o banco não conseguia ligar a moeda a quem pagou. Mas quem emitia o dinheiro continuava sendo um banco, e em 1998 a empresa de Chaum, a DigiCash, faliu (capítulo “O espectro da criptoanarquia”). O e-gold e o Liberty Reserve também tinham dono, servidor e endereço, e portanto havia quem prender e o que desligar (mesmo capítulo).
Como Satoshi resolveu
Satoshi Nakamoto entregou a lista comum a todos ao mesmo tempo. Cada participante guarda o mesmo livro de pagamentos desde o início. Os pagamentos novos são reunidos num bloco, e para colá-lo ao livro é preciso resolver um problema computacional pesado. Cada bloco aponta para o anterior, e se dois participantes acham a solução ao mesmo tempo, a rede acaba escolhendo a cadeia em que se gastou mais trabalho (capítulo “O deus ocioso”).
Para gastar uma moeda duas vezes, um trapaceiro teria de recalcular todos os blocos depois do seu pagamento mais rápido que o resto da rede, ou seja, ter mais poder de computação que todos os participantes honestos juntos. O contador central deixou de ser necessário. No lugar dele entrou uma multidão de desconhecidos, cada um queimando eletricidade pela recompensa e, com isso, protegendo o registro de todos os outros (mesmo capítulo). Como um atacante com menos poder fica para trás da cadeia honesta está no experimento “Gasto duplo contra a cadeia mais longa”, e o problema computacional é explicado na resposta sobre a prova de trabalho.
Por que isso ainda importa
O dinheiro comum funciona com uma condição: alguém mantém o livro principal, e todos os outros confiam nele ou não têm escolha. O banco sabe quanto dinheiro você tem porque ele mesmo anotou, e ele também pode congelar a sua linha ou recusar um pagamento (capítulo “Uma pedra no fundo do mar”). Por mais de vinte anos, os criptógrafos que tentavam dispensar esse livro esbarraram no gasto duplo. Em 2010 eu olhava para a solução de Satoshi com o entusiasmo de um engenheiro diante da solução alheia em que ele mesmo poderia ter pensado, mas não pensou.
