Experimentos · Ninguém Tem Dinheiro · Capítulo 3
SHA-256 no navegador: minere um selo Hashcash
Tudo é calculado no seu navegador; nada é enviado.
Sobre este experimento
O Hashcash foi inventado pelo criptógrafo britânico Adam Back em 1997, contra o spam. Antes de enviar uma carta, o computador do remetente passava alguns segundos resolvendo um quebra-cabeça sem sentido e anexava a solução. Alguns segundos por carta não custam nada a uma pessoa comum; para quem manda milhões de cartas, o trabalho exigiria uma fazenda inteira de computadores. O destinatário conferia a solução na hora.
Onze anos depois, Satoshi Nakamoto pegou o quebra-cabeça. Nas suas nove páginas a prova de trabalho veio do Hashcash, e ele o citou, só que para o bitcoin o problema é bem mais pesado: a rede inteira encontra uma solução mais ou menos a cada dez minutos.
Aqui dá para fazer à mão. O navegador calcula o SHA-256 da carta com um contador enquanto você digita, no seu computador, e não envia o texto a lugar nenhum. A mineração percorre os contadores até o hash começar com o número escolhido de bits zero. Cada bit a mais dobra o trabalho, e a conferência continua sendo um hash. Troque uma letra da carta e o selo para de servir.
Do livro
Ninguém Tem Dinheiro · Capítulo 3
O deus ocioso
Nas nove páginas não havia quase nada de novo. A prova de trabalho vinha do Hashcash de Adam Back, a ideia de um dinheiro mantido pela rede inteira, do b-money de Wei Dai, e Satoshi citou ambos honestamente. Assinaturas digitais, funções hash, redes peer-to-peer, tudo isso àquela altura já se estudava nos livros didáticos. O novo era o modo de juntar essas peças de forma que pessoas desconhecidas, que não confiam umas nas outras, chegassem sozinhas a um acordo sobre qual versão do registro comum era a correta.