Guia de leitura do whitepaper do Bitcoin

Um e-mail que quase ninguém respondeu
Era sexta-feira, 31 de outubro de 2008, 18:10 UTC.
A crise financeira vivia seu momento mais assustador. O Lehman Brothers havia quebrado apenas seis semanas antes, e os governos se apressavam a liberar somas enormes para salvar seus bancos. Em meio a tudo isso, a Cryptography Mailing List, hospedada em metzdowd.com, recebeu um e-mail com o assunto “Bitcoin P2P e-cash paper”, assinado por Satoshi Nakamoto.
A mensagem começava com uma única frase: “I've been working on a new electronic cash system that's fully peer-to-peer, with no trusted third party” (“Tenho trabalhado em um novo sistema de dinheiro eletrônico totalmente ponto a ponto, sem nenhum terceiro de confiança”). Em seguida, trazia o link para um artigo de nove páginas.
As respostas foram poucas, muitas delas céticas, embora algumas pedissem mais detalhes técnicos. Os participantes daquela lista já tinham visto muitas propostas de dinheiro digital, e a maioria nunca saiu do papel. Poucos poderiam imaginar que aquele e-mail dava início a uma história que ainda está em curso.
Dezoito anos depois, relemos o artigo. O que mais nos impressionou foi a maneira como ele raciocina. Cada seção enfrenta exatamente um problema, e cada resposta conduz com naturalidade à pergunta seguinte. Ler as doze seções é como acompanhar o autor na solução de um problema difícil, do início ao fim.
Este guia foi escrito para quem não tem formação técnica. Começamos explicando algumas palavras inevitáveis e depois percorremos o artigo seção por seção. Em cada uma, tratamos de três coisas: o problema que ela aborda, como o resolve e o novo problema que deixa em aberto. O texto original, em inglês e em chinês, está exposto no Mural do whitepaper, na sala Origens. Leia este guia primeiro, e o original ficará bem mais acessível.
Seis palavras para conhecer antes de começar
O whitepaper é curto, mas usa vários termos técnicos. Com estas seis palavras bem entendidas, o resto fica muito mais fácil.
Hash: pense nele como uma impressão digital dos dados. Qualquer conteúdo, de uma única palavra a um livro inteiro, pode passar por uma função hash e gerar uma sequência curta de tamanho fixo. Basta mudar uma vírgula para que a impressão digital mude por completo, mas ninguém consegue partir da impressão digital e chegar ao conteúdo original. O Bitcoin usa hashes em toda parte para verificar se algo foi alterado.
Chave privada e chave pública: um par de chaves digitais que se correspondem. Você mantém a chave privada em segredo e pode compartilhar a chave pública com qualquer pessoa. Imagine uma caixa de correio trancada: a chave pública é o endereço da caixa, que qualquer um pode saber, e a chave privada é a chave que a abre, que só você tem.
Assinatura digital: você usa sua chave privada para “assinar” um conteúdo. Qualquer pessoa pode usar a chave pública correspondente para confirmar que foi você quem assinou, mas ninguém consegue falsificar a assinatura sem a sua chave privada. Funciona como uma assinatura de próprio punho impossível de copiar.
Bloco e blockchain: o livro-razão do Bitcoin é escrito uma página de cada vez. Cada página se chama bloco e reúne um lote de transações. Toda página traz a impressão digital da página anterior, de modo que todas ficam encadeadas em ordem e, juntas, formam a blockchain.
Nó: um computador que participa da rede Bitcoin mantendo e verificando uma cópia do livro-razão. Qualquer pessoa pode rodar um.
Prova de trabalho: um quebra-cabeça matemático que só pode ser resolvido tentando de novo e de novo. Encontrar a resposta exige muita computação, mas os outros conseguem conferi-la num instante. O Bitcoin a usa para decidir quem tem o direito de acrescentar a próxima página ao livro-razão.
Com essas seis palavras em mãos, podemos começar.
Seção 1 · Introdução: tudo começa pelo custo
O que ela diz: quase todo pagamento on-line hoje depende de um “terceiro de confiança”, como um banco ou uma empresa de pagamentos, que fica no meio do caminho. Nakamoto observa que essa dependência tem um preço.
Um exemplo. Quando você compra algo pela internet, em geral pode pedir reembolso depois de pagar. Isso protege o comprador, mas é um risco para o vendedor: alguém pode receber a mercadoria e depois alegar falsamente que ela nunca chegou. Para se proteger, os comerciantes pedem mais informações aos clientes e absorvem parte das perdas com fraudes. Esses custos acabam embutidos no preço de tudo e tornam os pagamentos pequenos antieconômicos.
O dinheiro em espécie não tem esse problema. Você entrega o dinheiro, recebe a mercadoria e o pagamento está concluído. No mundo on-line, até então, não havia como fazer o mesmo.
A pergunta que fica: seria possível um pagamento on-line definitivo como o dinheiro em espécie, sem nenhum terceiro? E, sem um terceiro, quem decide a quem pertence uma moeda eletrônica?
O tom da introdução é surpreendentemente sereno. Parece um engenheiro expondo um problema técnico a ser resolvido, partindo do custo e avançando no raciocínio um passo de cada vez.
Seção 2 · Transações: uma moeda é uma cadeia de assinaturas
O que ela resolve: sem um banco para fazer a contabilidade, como provar que uma moeda é sua?
A resposta de Nakamoto é surpreendentemente simples. Ele define “an electronic coin as a chain of digital signatures”, ou seja, uma moeda eletrônica como uma cadeia de assinaturas digitais.
Imagine um documento de transferência que vai passando de mão em mão. No início, ele diz “esta moeda pertence a A”. Quando A entrega a moeda a B, A escreve “para B” no fim do documento e assina. Quando B a repassa a C, B faz o mesmo. Qualquer pessoa pode ler o documento de cima a baixo e confirmar que cada transferência foi assinada pelo dono anterior.
Tecnicamente, a “assinatura” aqui é a assinatura digital descrita acima: o dono atual usa sua chave privada para assinar um hash da transação anterior e a chave pública do próximo dono.
Isso também responde a uma pergunta que muita gente já fez: afinal, onde fica um bitcoin? Ele está registrado na blockchain, na forma dessa cadeia de assinaturas que pode ser rastreada de uma transferência à seguinte. “Ter bitcoin” significa, na prática, deter a chave privada capaz de assinar a próxima transferência.
O problema que fica: uma assinatura prova uma transferência, mas não impede a trapaça. A poderia assinar um documento dizendo “para B” e outro dizendo “para C”, vendendo a mesma moeda duas vezes. B e C confeririam cada um o seu documento e encontrariam uma assinatura legítima. Esse é o problema do gasto duplo, e a maior parte do restante do artigo se dedica a resolvê-lo.
Seção 3 · Servidor de carimbo de data/hora: pôr as transações em ordem
O que ela resolve: para desmascarar A, basta saber qual transação veio primeiro. A mais antiga vale, e a posterior é anulada. Mas, sem uma autoridade central, quem decide a ordem?
Nakamoto parte de uma ideia já existente, o servidor de carimbo de data/hora. Imagine um cartório que, a intervalos regulares, reúne o lote mais recente de transações, carimba nele a data e a hora e publica o carimbo para que todos vejam. O ponto-chave é que cada novo carimbo inclui a impressão digital do anterior, assim como cada página do livro-razão começa copiando a impressão digital da página que veio antes.
Os carimbos ficam, portanto, encadeados. Se alguém alterar às escondidas uma página no meio, a impressão digital dessa página muda, as cópias em todas as páginas seguintes deixam de bater e a adulteração é exposta na hora.
Fácil de detectar, porém, não é o mesmo que difícil de fazer. Alguém capaz de recopiar todas as páginas seguintes ainda poderia sair impune. O que torna a adulteração extremamente difícil na prática é a prova de trabalho, apresentada na seção seguinte.
O problema que fica: um cartório de verdade é uma autoridade central, e o Bitcoin não quer centro algum. Numa rede em que todos são iguais, quem tem o direito de aplicar o carimbo?
Seção 4 · Prova de trabalho: fazer o voto custar algo
O que ela resolve: sem cartório, a rede inteira precisa decidir em conjunto quem carimba a próxima página. A ideia óbvia é uma votação, em que a maioria decide.
Na internet, porém, votar tem uma falha fatal: criar uma identidade não custa quase nada. O artigo observa que, se a maioria se baseasse em “one-IP-address-one-vote” (um endereço IP, um voto), ela poderia ser subvertida por qualquer um capaz de obter muitos IPs. É como uma enquete on-line em que quem cadastra dez mil contas falsas ganha dez mil votos.
O poder de voto precisa, portanto, estar atrelado a algo que não se possa criar de graça. Nakamoto escolheu o poder computacional.
Funciona assim. Quem quiser carimbar a próxima página precisa antes resolver um quebra-cabeça matemático. Não há atalho: a única forma é continuar tentando, como jogar dados repetidas vezes até tirar um número pequeno o suficiente. Quem encontra uma resposta primeiro ganha o direito de acrescentar a página e publica a resposta, e todos os demais podem conferi-la num instante.
Como cada tentativa consome eletricidade e equipamentos reais, o poder computacional que você controla equivale, na prática, ao seu número de votos. Contas falsas não servem para nada, porque contas falsas não resolvem quebra-cabeças.
Além disso, o Bitcoin estabelece uma regra: todos aceitam a cadeia “mais longa” ou, mais precisamente, a cadeia com mais trabalho acumulado. Essa é a decisão da maioria. E, para acompanhar equipamentos cada vez mais rápidos e a variação no número de participantes, a dificuldade do quebra-cabeça se ajusta automaticamente, de modo que os blocos continuem chegando a um ritmo médio estável, cerca de um a cada dez minutos.
Agora volte à preocupação deixada pela Seção 3. Quem quisesse alterar uma página teria de recopiar todas as páginas seguintes, resolver de novo o quebra-cabeça de cada uma e fazer isso mais rápido do que todos os participantes honestos juntos. Na prática, isso é quase impossível.
A primeira leitura equivocada comum: o artigo afirma que “proof-of-work is essentially one-CPU-one-vote” (a prova de trabalho é, em essência, uma CPU, um voto). A frase costuma ser entendida como se todos pudessem participar em pé de igualdade. Lida no contexto, porém, o que ela quer dizer é que o voto precisa ter um custo real, em vez de depender de quantas identidades você tem.
Hoje a mineração é dominada por chips especializados e grandes instalações industriais, bem longe do cenário descrito no artigo, e o Mural dos equipamentos de mineração, na sala A máquina da confiança, registra como isso aconteceu. O artigo defende que o poder de voto precisa estar atrelado ao poder computacional. Ele não faz nenhuma previsão sobre como esse poder computacional acabaria distribuído.
Seção 5 · Rede: menos de uma página
O que ela resolve: todas as peças estão no lugar; então, como a rede funciona de fato?
Nakamoto precisa de apenas seis passos:
- Alguém faz uma nova transação e a transmite a todos os nós.
- Cada nó reúne as novas transações que recebe em um bloco candidato.
- Cada nó começa a trabalhar no quebra-cabeça da prova de trabalho de seu bloco.
- Quem o resolve primeiro transmite o bloco a todos os nós.
- Os demais nós verificam o bloco e só o aceitam se todas as transações nele forem válidas e ainda não tiverem sido gastas.
- Os nós mostram que aceitaram o bloco começando a trabalhar no bloco seguinte, construído sobre ele.
Se dois nós resolverem o quebra-cabeça quase no mesmo instante, a rede passa a ter, por um breve período, duas cadeias de mesmo comprimento. Cada nó continua trabalhando naquela de que soube primeiro. Quando chega o bloco seguinte, vence a cadeia que se tornar mais longa, e a outra é simplesmente descartada. Os nós sempre consideram a cadeia mais longa a correta e continuam a estendê-la.
Um sistema global que segue em funcionamento até hoje é descrito em menos de uma página.
A pergunta que fica: resolver quebra-cabeças custa dinheiro em eletricidade e equipamentos; por que alguém faria isso?
Seção 6 · Incentivo: fazer da honestidade o melhor negócio
O que ela resolve: dar às pessoas um motivo para participar.
A resposta é uma recompensa. A primeira transação de cada bloco cria uma quantidade definida de moedas novas e as entrega a quem resolveu o quebra-cabeça. Ela compensa a eletricidade e os equipamentos gastos e é a única forma de novos bitcoins entrarem em circulação. Como o processo lembra a extração de ouro, já que se gastam recursos para fazer surgir moedas novas, o trabalho passou a ser chamado de mineração, e os participantes, de mineradores. Quando a emissão de novas moedas chegar ao fim, as taxas de transação assumirão esse papel.
O melhor desta seção está na segunda metade. Nakamoto imagina um atacante com mais poder computacional do que todos os nós honestos somados e analisa com calma as escolhas que ele tem. Ele poderia usar esse poder para trapacear, revertendo discretamente os próprios pagamentos, ou poderia minerar honestamente e ganhar moedas novas. Nakamoto conclui que seguir as regras compensa mais, porque o atacante ganharia mais moedas novas do que conseguiria obter trapaceando. Além disso, qualquer ataque abalaria a confiança no Bitcoin e derrubaria o valor das moedas que ele próprio já possui.
A segurança do Bitcoin, em outras palavras, não depende de que todos sejam bons. As regras são desenhadas para que segui-las seja o que dá mais lucro. As seções anteriores mostram que o sistema é tecnicamente possível. Esta explica por que alguém escolheria mantê-lo funcionando, o que, numa rede aberta, costuma ser a pergunta mais difícil.
Se as taxas, sozinhas, conseguirão sustentar poder computacional suficiente no longo prazo, depois que a emissão de novas moedas terminar, é uma questão que surgiu mais tarde e continua em debate.
Seção 7 · Recuperação de espaço em disco: o que fazer quando o livro-razão cresce
O que ela resolve: toda transação permanece no livro-razão para sempre, então ele não para de crescer e, cedo ou tarde, um computador comum não conseguiria mais armazená-lo.
A solução de Nakamoto usa uma estrutura chamada árvore de Merkle. Pense assim: pegue todas as transações de um bloco, forme pares e calcule uma impressão digital para cada par. Depois, forme pares com essas impressões digitais e calcule novas. Continue combinando de baixo para cima, camada por camada, até restar uma única impressão digital, chamada raiz de Merkle. A impressão digital do próprio bloco só precisa incluir essa raiz.
A vantagem é que, quando a transação mais recente de uma moeda já está enterrada sob blocos suficientes, as transações já gastas que vieram antes dela podem ser apagadas. Guardam-se apenas algumas impressões digitais necessárias da árvore, e a cadeia continua podendo ser verificada por completo. Nakamoto chegou a calcular que manter apenas o “cabeçalho” de cada bloco ocuparia só alguns megabytes por ano.
Seção 8 · Verificação simplificada de pagamentos: sem precisar do livro-razão inteiro
O que ela resolve: mesmo compactado, o livro-razão pode ser mais do que um usuário comum quer armazenar e verificar. Ele pode simplesmente confirmar que um pagamento recebido foi registrado?
Pode. O usuário guarda apenas os cabeçalhos dos blocos e, quando necessário, pede à rede uma prova curta de que sua transação está na árvore de Merkle de determinado bloco. É parecido com rastrear uma encomenda: você não precisa ter acesso a todo o sistema da transportadora, só ao código de rastreamento, para confirmar que seu pacote está a caminho. Muitas das carteiras leves de hoje têm origem nessa ideia.
O artigo é igualmente claro quanto ao custo: esse método depende de os nós honestos serem maioria na rede e é menos seguro do que rodar um nó completo por conta própria. Por isso, o artigo sugere que empresas que recebem pagamentos com frequência continuem rodando seus próprios nós completos.
Seção 9 · Combinar e dividir valores: o “troco” do Bitcoin
O que ela resolve: se cada moeda tivesse de ser enviada separadamente, um único pagamento poderia exigir centenas de transações, o que seria inviável.
O desenho de Nakamoto permite que uma transação tenha várias entradas e várias saídas. Imagine que você tem uma nota de 50 dólares e uma de 20 e precisa pagar 60 dólares. Você entrega as duas (duas entradas) e o resultado são 60 dólares pagos ao vendedor mais 10 dólares de volta (duas saídas, uma delas o troco para você mesmo).
Isso explica uma característica das carteiras de bitcoin: seu saldo não é um número único. Ele é formado por vários pedaços de “troco” ainda não gasto, de tamanhos diferentes.
Seção 10 · Privacidade: pseudônimo, não anônimo
O que ela resolve: se o livro-razão está aberto a todos, toda transação fica exposta?
Os bancos tradicionais protegem a privacidade mantendo seus registros longe dos olhos de terceiros. O Bitcoin não pode fazer isso, porque o livro-razão precisa ser público para que todos possam verificá-lo. Nakamoto segue outro caminho: o livro-razão é público, mas registra chaves públicas, não nomes. Quem está de fora vê o dinheiro passando de um endereço para outro, mas não sabe quem está por trás de cada endereço. É como uma bolsa de valores que divulga todas as negociações sem identificar comprador e vendedor.
Como proteção adicional, o artigo recomenda usar um novo par de chaves para cada transação, de modo que os pagamentos não possam ser associados a um mesmo dono.
A segunda leitura equivocada comum: muita gente acredita que o Bitcoin é anônimo. No entanto, o próprio artigo alerta que uma transação com várias entradas revela que essas entradas pertencem ao mesmo dono, e os endereços podem ser vinculados, analisados e, por fim, associados a pessoas reais. O artigo usa a palavra “anonymous”, mas o mecanismo que descreve está mais próximo do que hoje chamamos de pseudonimato: seu nome não está na cadeia, mas todas as transações que você já fez estão.
Seção 11 · Cálculos: uma segurança que se pode calcular
O que ela resolve: depois de tudo isso, quão seguro é o sistema? Nakamoto não se limita a descrevê-lo. Ele faz as contas.
Ele trata o ataque como uma corrida. Suponha que você recebeu um pagamento, a transação foi gravada em um bloco e vários outros blocos já foram acrescentados depois dele. Para revertê-la, o atacante precisa começar em segredo uma cadeia paralela a partir de um ponto anterior a essa transação e depois alcançar e ultrapassar a cadeia que os nós honestos continuam a estender.
Enquanto o atacante tiver menos poder computacional do que os nós honestos, quanto mais atrás ele começar, menores serão suas chances, e elas diminuem exponencialmente. O artigo apresenta números concretos: um atacante com 10% do poder computacional da rede, começando seis blocos atrás, tem apenas cerca de 0,024% de chance de tirar a diferença, ou seja, aproximadamente 2,4 em 10.000.
A terceira leitura equivocada comum: o artigo oferece uma probabilidade, não uma garantia. Quanto mais blocos se acumulam, mais a chance de reversão se aproxima de zero, mas, a rigor, nunca chega a zero. Isso é diferente da noção de liquidação definitiva das finanças tradicionais. O conhecido conselho de “esperar seis confirmações” se apoia justamente nesse tipo de cálculo: depois que seis blocos são acrescentados após uma transação, cerca de uma hora mais tarde, a chance de reversão é pequena o bastante para ser desprezada.
Na peça O assalto ao livro-razão, na sala A máquina da confiança, você pode ajustar a fatia de poder computacional do atacante e ver como mudam as chances de alcançar a cadeia partindo de um e de seis blocos atrás.
Seção 12 · Conclusão: uma condição à vista de todos
A conclusão é breve. Nakamoto refaz o argumento: assinaturas digitais para estabelecer quem é dono de uma moeda e, depois, a prova de trabalho e a cadeia mais longa para impedir o gasto duplo. Sua conclusão é que o sistema é seguro enquanto os nós honestos controlarem a maior parte do poder computacional.
Essa conclusão vem acompanhada de uma condição, e o artigo a declara com clareza. Nos dezoito anos que se passaram desde então, boa parte do debate em torno do Bitcoin girou, no fim das contas, sobre até que ponto essa condição se sustenta no mundo real.
As doze seções em um parágrafo
Se fosse preciso resumir o whitepaper inteiro em um parágrafo, ele poderia ficar assim:
Queremos pagar on-line como pagamos com dinheiro em espécie, sem um banco (Seção 1). Por isso, uma moeda é definida como uma cadeia de assinaturas (Seção 2), mas isso não impede que a mesma moeda seja gasta duas vezes, então as transações precisam de uma ordem aceita por todos (Seção 3). O direito de definir essa ordem é conquistado resolvendo quebra-cabeças, os votos são ponderados pelo poder computacional e todos seguem a cadeia com mais trabalho acumulado (Seção 4). A rede mantém a contabilidade em conjunto em seis passos (Seção 5), atrai participantes com moedas novas e taxas e faz da honestidade a escolha mais lucrativa (Seção 6). Três soluções de engenharia cuidam do armazenamento, da verificação leve e do troco (Seções 7 a 9), um livro-razão público sem nomes equilibra transparência e privacidade (Seção 10), as chances de um ataque bem-sucedido são calculadas (Seção 11) e as condições para que tudo isso se sustente são declaradas com clareza (Seção 12).
Ao fechar as nove páginas
O que mais nos toca ao reler o artigo é a sua contenção. Ele não faz grandes promessas. Apresenta um problema, oferece uma solução e declara com honestidade as condições em que essa solução se sustenta.
É esse o artigo para o qual apontava um e-mail que pouca gente notou, dezoito anos atrás.
Se você nunca leu o original, passe pelo Mural do whitepaper e reserve meia hora para ele, da primeira à nona página. Com este guia na bagagem, a leitura é mais tranquila do que você talvez imagine.
Os resumos das seções acima são leituras da redação sobre o original, não traduções, e o original sempre prevalece. Se encontrar alguma divergência, escreva para editorialoffice@btc.com.

