iniciar
iniciar

Em 31 de outubro de 2008, uma pessoa que se chamava pelo pseudônimo Satoshi Nakamoto publicou um artigo científico intitulado Bitcoin: um sistema de dinheiro eletrônico peer-to-peer. Neste White Paper, ele descreve os principais princípios do futuro protocolo Bitcoin.
Já se passaram quase 15 anos desde que o Livro Branco foi publicado e, apesar dos muitos desenvolvimentos feitos no protocolo desde então, este artigo não envelheceu nem um pouco. Ainda hoje nos permite entender os primeiros objetivos do Bitcoin e os mecanismos engenhosos que permitem seu funcionamento adequado. Se há um livro que você deve ler para entender o Bitcoin, é este.
Por se tratar de um artigo científico, sua leitura pode parecer austera. Neste artigo, vamos explicar de forma simples o que Satoshi Nakamoto descreve no Livro Branco do Bitcoin.
Para poder acompanhar este artigo, você também pode baixar O Livro Branco do Bitcoin em sua versão de 24 de março de 2009 em inglês, ou A tradução de Arnaud-François Fausse em francês.
O Livro Branco do Bitcoin começa esclarecendo as limitações dos sistemas de transações eletrônicas que já existiam em 2008. Na segunda frase, Satoshi denuncia as fragilidades do modelo de confiança para esses pagamentos, que dependem de terceiros.
Segundo ele, os sistemas de pagamento eletrônico têm custos e incertezas inerentes, especialmente no que diz respeito à resolução de conflitos e fraudes. Eles não permitem pequenas transações e não são adequados para alguns comerciantes, pois não oferecem a possibilidade de pagamentos irreversíveis.
Para resolver esse problema, Satoshi sugere usar um sistema de pagamento eletrônico baseado em evidências criptográficas, em vez de confiança. Ele quer que duas partes possam fazer uma transação sem a intervenção de nenhuma autoridade central. Esse sistema é Bitcoin.
Quando analisamos esta introdução, entendemos que o objetivo principal do Bitcoin era oferecer um sistema de pagamento eletrônico que não exigisse confiança. Finalmente, como o título do Livro Branco descreve, Satoshi queria criar um sistema de dinheiro eletrônico peer-to-peer.
No final da introdução, Satoshi explica que o protocolo Bitcoin é principalmente uma proposta para resolver o problema do gasto duplo usando um servidor de timestamp distribuído, mas falarei sobre isso com mais detalhes nas próximas partes.
Nesta segunda parte, Satoshi Nakamoto descreve o que uma moeda representa no Bitcoin. Ele nos explica que essas moedas são representadas por uma cadeia de assinaturas eletrônicas. Finalmente, ele descreve o que mais tarde será chamado de “UTXOs”, ou seja, saídas de transações não gastas.
A pessoa que recebe bitcoins pode então verificar as várias assinaturas eletrônicas anteriores, a fim de voltar à criação da moeda. Dessa forma, ele pode verificar se os bitcoins que recebe são legítimos.
Um sistema de criptografia assimétrica é usado para gerar pares de chaves e assinaturas. Nesta parte, deve-se entender que as chaves públicas são usadas para receber bitcoins e que as chaves privadas são usadas para assinar e gastar bitcoins.
.png)
➤ Saiba mais sobre assinaturas digitais em Bitcoin.
No parágrafo seguinte a este diagrama, Satoshi descreve um problema com sistemas de dinheiro eletrônico peer-to-peer: A dupla despesa. Em um sistema centralizado, como acontece com os bancos, existe uma entidade central responsável por garantir que a mesma unidade monetária não seja gasta duas vezes. Por exemplo, se Alice tem $10 em sua conta bancária e envia para Bob, então Alice não pode enviar esses mesmos $10 de volta para Charles. Dessa forma, o banco evita gastos duplos.
Mas em um sistema descentralizado como o Bitcoin, você não quer que os pagamentos dependam de uma entidade central, como um banco. Lembre-se da introdução de Satoshi: você precisa eliminar a necessidade de confiar no sistema.
Ele então nos explica que é necessária uma maneira de o beneficiário de uma transação garantir que o proprietário anterior da moeda ainda não tenha gasto a mesma moeda no passado. Em outras palavras, o beneficiário deve ser capaz de garantir a inexistência de uma transação anterior. E de acordo com Satoshi, A única maneira de confirmar a ausência de uma transação é estar ciente de todas as transações.
Cada participante deve, portanto, ter acesso a todas as transações anteriores, para poder ter a prova de que, ao receber uma transação, é de fato o primeiro a gastar os bitcoins comprometidos. Para fazer isso, o protocolo Bitcoin depende de um servidor de timestamp distribuído. Isso é o que você provavelmente conhece sob o nome “Blockchain”. As transações são agrupadas em blocos e cada bloco é publicado um após o outro. Em seguida, podemos definir uma hora em uma transação publicada e confirmar que ela existia no momento do carimbo de data/hora.
Cada bloco inclui a impressão do bloco anterior para formar uma cadeia, de modo que cada novo bloco reforce o anterior. É por isso que estamos falando sobre “blockchain” hoje.
.png)
Esse servidor deve ser distribuído a todos os usuários para que todos possam confirmar a inexistência de uma transação no passado, sem usar um terceiro confiável. Dessa forma, evita-se o gasto duplo no sistema Bitcoin.
Essa é uma das partes mais interessantes do Livro Branco, pois a prova de trabalho representa o núcleo do Bitcoin. Satoshi nos apresenta esse conceito como um mecanismo semelhante ao protocolo. Hashcash de Adam Back.
Para que um bloco seja considerado válido dentro do blockchain, o hash de seu cabeçalho deve ser menor que um determinado alvo. Um valor que pode ser ajustado livremente (o nonce) é incrementado em cada bloco. Assim, os participantes podem tentar vários valores aleatórios, até que o hash do bloco seja menor que o alvo. Esse processo é conhecido hoje como “mineração”.
Satoshi nos ressalta que, como os blocos estão interligados, a modificação de um bloco no passado exige necessariamente a reformulação de toda a prova de trabalho dos blocos posteriores. É por isso que uma transação de Bitcoin se torna cada vez mais imutável à medida que novos blocos são minerados.
A meta é ajustada em intervalos regulares para poder adaptar a dificuldade de mineração à evolução do poder de computação implantado na rede.
.png)
Tecnicamente, a prova de trabalho resolve assim o problema de definir o processo de tomada de decisão majoritária em um sistema peer-to-peer. De fato, na parte anterior, vimos que todos os usuários devem manter seu próprio servidor de timestamp, listando todas as transações executadas. Portanto, precisamos de uma maneira de os participantes concordarem com uma versão exclusiva desse blockchain. Para fazer isso, os nós honestos da rede consideram que o blockchain com a maior quantidade de trabalho acumulado é o legítimo.
Até 2010, Satoshi achava que a cadeia mais longa era a que tinha mais trabalho acumulado. É por isso que ele se refere à “cadeia mais longa” em seu Livro Branco. No entanto, é a cadeia que tem o trabalho mais acumulado que foi considerada válida desde 2010 pelos nós do Bitcoin. Portanto, esse canal não é necessariamente o mais longo, ao contrário do que Satoshi pensava em 2008.
De fato, é preciso encontrar uma maneira de os participantes poderem votar na versão do canal que eles consideram legítima. Como não queremos que o Bitcoin dependa de uma autoridade central, é obviamente impossível verificar a identidade de cada participante para evitar fraudes no sistema de votação. Portanto, precisamos encontrar uma forma de votar com base em dados objetivos, para não fazer com que a rede dependa de intervenções humanas.
Satoshi nos explica que o Bitcoin poderia ter decretado que um endereço IP era equivalente a um voto. Mas o problema desse mecanismo é que é muito fácil multiplicar endereços IP para trapacear e influenciar o resultado da votação. Isso é o que chamamos de ataque Sybil na ciência da computação.
Pelo contrário, usando a Prova de Trabalho e decretando que os nós se sincronizassem na cadeia com a maior quantidade de trabalho acumulado, Satoshi resolveu esse problema do processo de tomada de decisão majoritária. Então, um voto no Bitcoin é equivalente a uma unidade de poder computacional. O processo de decisão majoritário é baseado em dados objetivos que impõem um custo ao usuário em termos de consumo de eletricidade e tempo de processamento.
A prova de trabalho é essencialmente uma CPU e um voto.
Em resumo, a prova de trabalho permite impor um custo marginal significativo à multiplicação de votos. Portanto, é uma medida para limitar os ataques de Sybil ao processo de tomada de decisão majoritário do protocolo Bitcoin.
➤ Saiba mais sobre como a prova de trabalho funciona no Bitcoin.
Com essas primeiras partes, Satoshi Nakamoto já nos oferece uma primeira visão geral dos mecanismos do protocolo Bitcoin. Descobrimos que a estrutura operacional é baseada em assinaturas digitais que permitem a transferência de moedas. Isso permite o controle da propriedade, mas não evita o risco de gastos duplos. Um servidor de timestamp distribuído (o blockchain) é então usado para ter um registro de pagamentos anteriores, o que torna possível confirmar a ausência de uma transação. Para que os usuários concordem com uma única versão desse blockchain, o Bitcoin usa um mecanismo de consenso estabelecido com base na prova de trabalho.
No entanto, ainda temos várias partes para analisar em conjunto. Teremos que esperar até a publicação do nosso próximo artigo, na próxima semana, para explorar mais. Lá vamos descobrir:
Por fim, vou simplesmente explicar a famosa parte 11 do Livro Branco, que pode parecer austera à primeira vista, mas que é de suma importância para entender o Bitcoin.
%201.png)
