Iniciante Aula 3 4 min de leitura

A blockchain: um livro-caixa que todos copiam

Não é um banco de dados mágico. É uma lista de blocos encadeados que qualquer pessoa pode conferir do primeiro ao último — e que fica cara de reescrever a cada bloco novo.

A palavra virou sinônimo de futuro e hoje é vendida para rastrear alface, registrar diploma e assinar contrato. Vale começar pelo que ela é, porque é bem menos misterioso do que a propaganda: uma lista.

Uma lista de blocos, em ordem, cada um carregando as transações que entraram nele. O primeiro deles foi criado em 3 de janeiro de 2009 e é chamado de bloco gênese. Desde então a rede acrescentou mais de novecentos mil, um a cada dez minutos em média, sem nunca ter parado. Ler a lista do começo ao fim é ler tudo o que já aconteceu no Bitcoin.

O que separa essa lista de um arquivo qualquer é como um bloco se prende ao anterior. Cada bloco carrega no cabeçalho o hash do bloco que veio antes dele.

Um hash é uma espécie de impressão digital de um conteúdo. Você entrega um texto, uma foto ou um bloco inteiro, e a função devolve sempre um número do mesmo tamanho. Mude uma vírgula na entrada e o resultado sai completamente diferente — não parecido, diferente. E não existe caminho de volta: com a impressão digital na mão, ninguém reconstrói o que a produziu. Essa função tem uma aula só dela na trilha intermediária; por ora basta o efeito.

O efeito é este. Como o bloco seguinte guarda a impressão digital do anterior, mexer em qualquer coisa dentro de um bloco antigo muda a impressão dele, que deixa de bater com a que está registrada no bloco de cima. E como esse também está registrado no próximo, a quebra corre até o fim da lista. Não dá para editar o passado em silêncio. Dá para reescrevê-lo, refazendo aquele bloco e todos os que vieram depois — o que custa tudo o que custou construí-los, enquanto o resto da rede continua construindo os próximos.

Cada bloco carrega a impressão digital do anterior. Mexer em um quebra o selo de todos os seguintes.

A ideia não nasceu em 2008. Em 1991, Stuart Haber e Scott Stornetta publicaram um método para carimbar a data de documentos digitais encadeando os seus hashes, e a empresa que fundaram passou anos imprimindo o resumo da semana nos classificados do New York Times. O jornal era a testemunha: milhões de cópias impressas e distribuídas, impossíveis de recolher. Trocar o passado exigiria trocar todos os exemplares do mundo. O Bitcoin faz a mesma coisa sem depender de jornal nenhum.

Trocar o passado exigiria recolher todos os jornais já distribuídos.

Falta a segunda metade, e é ela que sustenta a primeira. O registro não mora em um lugar. Dezenas de milhares de computadores mantêm cada um a sua cópia completa, hoje algo em torno de setecentos gigabytes, e qualquer pessoa com uma máquina comum e um disco pode baixar a sua. Não é cópia por confiança: cada uma verifica tudo o que recebe, do bloco gênese em diante, e só aceita o que fecha.

Dezenas de milhares de cópias completas, cada uma verificada do primeiro bloco em diante.

É essa multiplicação que torna a censura cara. Apagar uma transação exigiria apagá-la de todas as cópias ao mesmo tempo, e enquanto uma sobreviver a lista pode ser reconstruída. Proibir a rede em um país tira os computadores daquele país e não altera uma linha do que está escrito.

E é também o que responde quem manda. Um minerador com muito poder de cálculo escolhe quais transações entram no bloco que ele monta, e nada além disso. Ele não consegue fazer um bloco inválido ser aceito: se o bloco gasta a mesma moeda duas vezes, cria bitcoin do nada ou quebra qualquer outra regra, cada computador que o recebe simplesmente o descarta e segue na cadeia anterior. Já aconteceu. Em 15 de agosto de 2010, uma falha permitiu que um bloco criasse 184 bilhões de bitcoins. Foi detectado em horas, corrigido, e a cadeia que continha aquele bloco foi abandonada por quem estava rodando a versão corrigida.

Um bloco que quebra as regras é descartado por cada nó que o recebe, por mais caro que tenha custado.

Sendo justo com a palavra da moda: encadear hashes é genuinamente útil sempre que partes que não confiam umas nas outras precisam concordar sobre uma ordem sem um árbitro. É por isso mesmo que a maioria das aplicações anunciadas não precisa disso: quando existe uma empresa responsável pelo registro — e existe, na alface e no diploma —, um banco de dados comum é mais barato e igualmente confiável, porque a confiança já estava lá.

Fica de pé uma pergunta: se acrescentar um bloco é o que torna o passado caro, quem acrescenta e por que custa. É a próxima aula.