Um probleminha contra o spam
Em 1997, o criptógrafo britânico Adam Back inventou o Hashcash, um jeito de combater o spam. Antes de enviar um e-mail, o computador do remetente tinha de passar alguns segundos resolvendo um probleminha matemático sem sentido e anexar a solução. Para uma pessoa comum, alguns segundos por e-mail não custam nada, mas para um spammer que envia milhões de mensagens esse trabalho exigiria uma fazenda inteira de computadores. O destinatário conferia a solução na hora. Foi assim que surgiu a prova de trabalho (capítulo “O espectro da criptoanarquia”).
Dá para testar o probleminha de Back no próprio navegador, no experimento “Um selo Hashcash”. O navegador vai aumentando um contador até o hash da mensagem começar com o número certo de zeros, e isso leva tempo, enquanto conferir o selo pronto exige um único hash.
Do Hashcash ao bitcoin
As outras peças os cypherpunks foram pondo na mesa uma por uma. Em 1998, Wei Dai descreveu o b-money, um dinheiro mantido por todos os participantes ao mesmo tempo, em que as moedas novas iam para quem resolvesse um problema computacional. Quase ao mesmo tempo, Nick Szabo criou o Bit Gold, em que a solução do problema virava ela mesma um valor, como ouro tirado da terra, e cada solução nova se prendia à anterior. Em 2004, Hal Finney transformou a ideia de Back no RPOW, um servidor em que provas de trabalho passavam de mão em mão, só que o servidor pertencia ao próprio Finney (mesmo capítulo).
Nenhum desses esquemas decolou. O b-money não respondia como os participantes chegariam a um acordo sobre quem tinha razão quando os registros divergissem, e o Bit Gold ficou só na descrição (mesmo capítulo).
Como funciona no bitcoin
Satoshi Nakamoto pegou o problema de Back e o deixou muito mais pesado. Todos os participantes guardam o mesmo livro de pagamentos, os pagamentos novos são reunidos num bloco, e para colar o bloco ao livro é preciso achar uma solução. O problema é calibrado para que a solução apareça em média uma vez a cada dez minutos na rede inteira, e quem a encontra primeiro ganha moedas novas como recompensa. Vira uma loteria em que os bilhetes são comprados com eletricidade. Cada bloco aponta para o anterior, e a rede fica com a cadeia em que se gastou mais trabalho (capítulo “O deus ocioso”).
Daí vem a proteção. Para reescrever a história e gastar uma moeda duas vezes, seria preciso recalcular todos os blocos depois do seu pagamento mais rápido que o resto da rede (mesmo capítulo). Mais sobre isso na resposta sobre o gasto duplo. No verão de 2010 eu mesmo liguei a geração na carteira do meu MacBook, e o processador passou a testar números atrás daquele que serviria para o próximo bloco.
O que os moradores de Yap já sabiam
Na ilha de Yap se pagava com rodas de pedra talhadas em Palau e trazidas pelo oceano em canoas. Nos anos 1870, o capitão David O’Keefe passou a levar os ilhéus no seu navio e a dar a eles ferramentas de ferro, e as pedras se multiplicaram. Os ilhéus as avaliaram à sua maneira. Uma pedra pequena, talhada com as ferramentas antigas, valia mais que uma roda enorme trazida no porão de um navio estrangeiro, porque o preço de uma pedra era dado pelas pessoas que se afogaram para trazê-la, pelas tempestades e pelos anos gastos (capítulo “Uma pedra no fundo do mar”).
Cento e trinta anos antes de Satoshi, os moradores de Yap descobriram o que os programadores chamariam depois de prova de trabalho. Um registro vale o quanto custa falsificá-lo, e quando a extração fica mais barata, o dinheiro também fica. O bitcoin resolve isso sozinho, aumentando a dificuldade de mineração a cada duas semanas, para que novas ferramentas de ferro simplesmente não existam (mesmo capítulo). Dá para passar uma pedra para outra família e pintar as marcas alemãs no experimento “As pedras de Yap”.
