Módulo 3 de 8

Histórico Técnico do Bitcoin

3.0 Introdução

Resumo do White Paper do Bitcoin

Uma versão puramente peer-to-peer de dinheiro eletrônico permitiria que pagamentos online fossem enviados diretamente de uma parte para outra sem passar por uma instituição financeira. Assinaturas digitais fornecem parte da solução, mas os principais benefícios são perdidos se uma terceira parte confiável ainda for necessária para evitar o duplo gasto. Propomos uma solução para o problema do duplo gasto usando uma rede peer-to-peer. A rede carimba as transações com data e hora ao hashá-las em uma cadeia contínua de prova de trabalho baseada em hash, formando um registro que não pode ser alterado sem refazer a prova de trabalho. A cadeia mais longa não serve apenas como prova da sequência de eventos testemunhados, mas também como prova de que ela veio do maior pool de poder computacional. Enquanto a maioria do poder computacional estiver controlada por nós que não cooperam para atacar a rede, eles gerarão a cadeia mais longa e superarão os atacantes. A própria rede requer uma estrutura mínima. As mensagens são transmitidas com o melhor esforço possível, e os nós podem sair e retornar à rede quando quiserem, aceitando a cadeia de prova de trabalho mais longa como prova do que aconteceu enquanto estavam ausentes.

O Bitcoin não surgiu do nada, mas sim se baseou no trabalho de muitos nas décadas anteriores. Este módulo irá explorar as fundações da internet sobre as quais o Bitcoin foi construído, assim como as pesquisas e desenvolvimentos reconhecidos no whitepaper.

Nos anos 70, um grupo de indivíduos observou como o governo dos EUA, em particular, estava tentando restringir o acesso à criptografia, e se empenhou para garantir que essa tecnologia estivesse disponível para todas as pessoas protegerem sua privacidade online. Alguns desses pioneiros também estavam focados nos potenciais benefícios de um sistema digital de 'dinheiro sólido' que pudesse ser usado para armazenar e trocar valor pela internet emergente. Friedrich Hayek – um dos principais contribuintes da escola austríaca de economia – já havia imaginado como seria uma moeda ideal baseada na competição de livre mercado, bem antes da internet, mas concluiu que isso era tecnicamente e politicamente inviável. Além da privacidade digital, esse grupo, que evoluiu para se tornar os Cypherpunks, tentou realizar a visão de Hayek para o dinheiro digital, mas essas tentativas fracassaram até que Satoshi publicou suas ideias na lista de discussão.

  • Protocolo TCP/IP (1976)
  • Protocolos para Criptossistemas de Chave Pública - Ralph Merkle (1980)
  • Digicash - David Chaum (1989)
  • Carimbo Digital de Tempo (anos 90)
  • Hashcash - Adam Back (1997)
  • BitTorrent - Bram Cohen (2001)
  • POW Reutilizável - Hal Finney (2004)
  • Whitepaper do Bitcoin - Satoshi Nakamoto (2008)

Uma influência fundamental no desenvolvimento do Bitcoin foi o surgimento do movimento Cypherpunk nos anos 1990. Eles desenvolveram várias tecnologias criptográficas, incluindo a criptografia de chave pública, para permitir que os usuários se comunicassem e compartilhassem informações de forma segura e privada. Muitos dos desenvolvimentos descritos aqui e as pessoas envolvidas faziam parte desse grupo.

A necessidade de dinheiro digital também foi identificada e várias tentativas foram feitas para criá-lo, mas essas tinham limitações que impediram seu sucesso. O gênio de Satoshi Nakamoto foi reunir essas capacidades e, junto com algumas inovações próprias, construir sobre elas para criar o protocolo Bitcoin em uso hoje. Nas próximas seções, exploraremos alguns desses desenvolvimentos e explicaremos como eles ajudaram a informar o design do Bitcoin. Também discutiremos quais eram as peças que faltavam no quebra-cabeça que Satoshi conseguiu resolver.

3.1 O desenvolvimento do TCP/IP

A maioria de nós está familiarizada com os protocolos TCP/IP em uso hoje como a base da internet. Suas origens remontam ao final dos anos 70, quando cientistas exploravam designs alternativos para a Arpanet – uma rede ainda mais antiga concebida pelo Departamento de Defesa dos EUA para possibilitar o compartilhamento de recursos entre computadores remotos. O TCP/IP tornou-se o padrão de protocolo para a Arpanet em 1983, o que levou a se tornar o modelo dominante de redes até o final dos anos 1990 e a base para a internet na qual o Bitcoin opera atualmente.

Modelo OSI TCP/IP
Aplicação Aplicação
Apresentação Aplicação
Sessão Aplicação
Transporte Transporte
Rede Rede
Enlace de Dados Enlace de Dados
Físico Físico

Ao mesmo tempo em que o modelo TCP/IP estava sendo desenvolvido, uma estrutura semelhante, porém mais abrangente, estava sendo criada pela Organização Internacional de Padronização (ISO) e pela indústria de Telecomunicações (CCITT). O processo para desenvolver novos protocolos ou sugerir mudanças era lento e pouco prático em comparação com a abordagem mais descentralizada usada no desenvolvimento do TCP/IP, levando ao domínio deste modelo atualmente.

Solicitação de Mudança

Quaisquer desenvolvimentos sugeridos para protocolos existentes ou ideias para novos podem ser propostos no modelo TCP/IP através de uma Solicitação de Mudança processo. Estes passam por um processo de aprovação, gerenciado pela Internet Engineering Task Force (IETF), e tornam-se de código aberto uma vez aprovados, permitindo que qualquer pessoa os implemente e adote. Alguns exemplos notáveis:

  • 1969 RFC 1 Documentou como os pacotes seriam enviados na Arpanet
  • 1981 RFC791 definiu o protocolo de Internet V4 – ainda amplamente adotado hoje
  • 1982 RFC 821 Protocolo simples de transferência de e-mail
  • 1987 Sistema de Nomes de Domínio – como nomes de domínio são resolvidos para endereços IP
  • 1999 RFC 2616 Protocolo de Transferência de Hipertexto – essencial para navegação na web

A Proposta de Melhoria do Bitcoin (BIP) segue uma abordagem semelhante à RFC, mas focando exclusivamente em melhorias para o próprio Bitcoin, em vez do desenvolvimento de novos protocolos ou alternativas. O Bitcoin também se inspira nesse modelo em camadas, e você verá protocolos adicionais descritos como camada dois ou três.

Da mesma forma que as camadas base do modelo TCP/IP mudaram relativamente pouco nas últimas décadas, com a inovação ocorrendo nas camadas superiores, espera-se que a camada base do Bitcoin mude muito lentamente neste momento, com soluções de escalabilidade como Lightning e Liquid ocorrendo acima.

Um bom exemplo de como protocolos de camada base se tornam difíceis de mudar ao longo do tempo é o IPv6. A esperada exaustão do espaço de endereços no IPv4 criou uma demanda por um novo protocolo. O primeiro rascunho do padrão foi criado em 1998, mas só foi ratificado como padrão da internet em 2017. Embora tenha resolvido muitos problemas do IPv4 e seja muito mais preparado para o futuro, ainda assim teve uma adoção muito lenta na indústria atualmente. Durante esse tempo, muitos novos protocolos foram definidos nas camadas superiores para possibilitar multimídia, e-mail etc.

Os blocos de construção usados pelo Bitcoin

Essa separação dos problemas de interconectividade permite que os protocolos sejam desenvolvidos independentemente das camadas acima e abaixo. Em vez de ter que reinventar soluções para cada camada, a rede Bitcoin pode contar com as capacidades subjacentes da rede fornecidas nas camadas física e de enlace de dados.

Camada TCP/IP Original
Aplicação Usa o Sistema de Nomes de Domínio (DNS) para identificar nós vizinhos. A porta 8333 sinaliza o protocolo Bitcoin.
Transporte UDP para comunicações FIBRE entre mineradores para baixa latência. TCP para comunicações P2P entre nós.
Transporte Roteamento TOR: Permite anonimato e privacidade. Protocolo de Broadcast: Roteia o tráfego pela rede.
Enlace Opera sobre qualquer meio (por exemplo, Ethernet, Wi-Fi, etc.)
Físico Transmissão física via wireless, Ethernet ou outras interfaces de hardware.
Bitcoin é um protocolo neutro para transferir valor assim como HTTPS é um protocolo para transferir informação
  • HTTPS: Sites Seguros
  • SMTP: Enviar e-mails
  • FTP: Transferir arquivos
  • DNS: Gerenciar nomes de domínio
  • BTC: Armazenar e transferir valor

O Bitcoin permite que o valor seja transportado de forma confiável e sem a necessidade de um terceiro entre pessoas ou dispositivos pela Internet. Espera-se que isso libere um valor imenso.

3.2 Criptografia de Chave Pública e Protocolos

A Internet hoje, e a maioria dos sistemas computacionais modernos, dependem da criptografia, um método de ocultar informações para que apenas o destinatário possa decodificá-las. As bases da criptografia usada para proteger o Bitcoin remontam aos anos 70.

A primeira questão a ser resolvida é – como enviar um segredo compartilhado por um meio não seguro.

Isso foi analisado pela primeira vez por Whitfield Diffie e Martin Hellman.

O problema: as duas partes – geralmente chamadas de Alice e Bob – querem compartilhar informações secretas por uma rede onde outros podem estar ouvindo. Para isso, eles criaram o processo de troca de chaves Diffie-Hellman.

Esse segredo compartilhado pode então ser usado como valor inicial para criar várias chaves simétricas para criptografar e descriptografar mensagens entre si sem compartilhar a chave abertamente.

Como a chave privada nunca precisa ser compartilhada, e chaves diferentes são usadas em cada extremidade para criptografar e descriptografar, isso é chamado de algoritmo de criptografia assimétrica.

Casos de uso:

  • Alice assina uma mensagem com a chave pública de Bob – que é a única pessoa que pode descriptografá-la usando sua chave privada
  • Alice assina uma mensagem com sua chave privada – ao descriptografar com sua chave pública, qualquer pessoa pode verificar que a mensagem foi enviada por Alice, sem saber sua chave privada
  • Combinando essas duas abordagens com duas camadas de criptografia, uma mensagem pode ser enviada criptografada de modo que apenas Bob possa descriptografá-la, e ele pode então verificar que o remetente foi realmente Alice

Embora não tenha sido creditado no artigo, Ralph Merkle foi fundamental para ajudar a resolver o que até então era considerado um enigma insolúvel – como estabelecer ou restabelecer comunicação privada em uma rede aberta e potencialmente hostil.

Essa abordagem, sozinha, é suscetível a um ataque de força bruta, onde um atacante pode pegar os números compartilhados e eventualmente recriar uma chave compartilhada, dado tempo e recursos suficientes, então não é a solução completa por si só.

Protocolos para Criptossistemas de Chave Pública

Além de contribuir para o sistema de chave pública Diffie-Hellman descrito acima, Ralph Merkle continuou a contribuir nesse campo por muitos anos, e foi fundamental no desenvolvimento de alguns componentes-chave usados pelo Bitcoin.

Uma função hash criptográfica é um algoritmo matemático que recebe entradas de qualquer tamanho e processa cálculos complexos para retornar um valor hash em bits, que geralmente é representado por uma saída alfanumérica de comprimento fixo usando o formato hexadecimal.

  • As entradas podem ter qualquer tamanho
  • A saída é sempre de comprimento fixo e determinística (a mesma entrada gera o mesmo hash toda vez)
  • É fácil de verificar, mas extremamente difícil reverter o processo para determinar a entrada
  • Uma pequena modificação nos dados altera completamente as saídas
Hash function

Hashing é parte integrante do protocolo Bitcoin. O SHA-256, usado no Bitcoin, foi criado pela NSA e é um exemplo de algoritmo de hash criptográfico.

  • Cada bloco na cadeia é hasheado para que os dados não possam ser alterados – garantindo a integridade do livro-razão distribuído
  • O hash gerado precisa atender aos critérios de ‘Prova de trabalho’ para ser considerado um bloco válido
  • Árvores de Merkle – ao empregar ramificações e hashes de hashes, as árvores de hash permitem a verificação de grandes conjuntos de dados com armazenamento mínimo
  • Assinaturas e chaves baseadas em hash podem ser usadas para carteiras, endereços e autorização de transações

A verificação distribuída dos estados do blockchain e modelos de livro-razão apenas para acréscimo, resistentes à revisão, é possibilitada pelo hashing unidirecional. Funções hash fornecem o método confiável e determinístico para verificar eventos em livros-razão públicos como o Bitcoin na ausência de um modelo de confiança centralizado.

Essas novas capacidades no campo da criptografia eram esperadas por seus criadores para inaugurar uma nova onda de inovação nesse espaço.

Criptografia de curva elíptica

Uma dessas inovações posteriores veio na forma da criptografia de curva elíptica.

A criptografia de curva elíptica foi introduzida em 1985 por dois cientistas, N. Koblitz e V. Miller. Eles propuseram a ideia de usar pontos definidos por curvas elípticas em vez dos campos primos finitos, de modo que a suposição do problema do Logaritmo Discreto se mantenha, como é comumente usado no protocolo padrão de troca de chaves Diffie-Hellman. Os detalhes de como isso funciona estão além do escopo desta seção, mas, em alto nível, uma curva elíptica é o conjunto de pontos que satisfazem uma equação matemática específica.

A equação para uma curva elíptica se parece com:

Elliptic curve

Isso tem algumas propriedades úteis:

  • Simetria horizontal. Qualquer ponto na curva pode ser refletido sobre o eixo x e permanecer na mesma curva.
  • qualquer linha não vertical irá interceptar a curva em no máximo três pontos.
  • Tamanhos de chave compactos são essenciais para o armazenamento e transmissão eficientes de chaves públicas no blockchain.

Essas propriedades podem ser usadas para criar pares de chaves de forma semelhante ao algoritmo Diffie-Hellman. O Bitcoin usa ECDSA, que é a sigla para Algoritmo de Assinatura Digital de Curva Elíptica. É um processo que usa uma curva elíptica e um campo finito para “assinar” dados de tal forma que terceiros possam verificar a autenticidade da assinatura enquanto o assinante mantém a capacidade exclusiva de criar a assinatura. No bitcoin, os dados assinados são a transação que transfere a propriedade.

A parte ‘finita’ é semelhante à abordagem ‘mod’ do Diffie-Hellman, onde o resultado da equação é dividido e o resto é usado para garantir que ele se encaixe em um intervalo de números.

3.3 DigiCash

Um dos primeiros participantes na ‘nova onda de interesse’ em criptografia foi David Chaum. Ele passou seus primeiros anos aprendendo a invadir sistemas de computador e seu sucesso gerou uma desconfiança em sistemas supostamente ‘seguros’. Ele também reconheceu um problema ainda não considerado: "como manter em segredo o conhecimento de quem conversa com quem e quando".

Ele criou um protocolo de envio de mensagens anônimas usando criptografia de chave pública que ‘misturava’ as mensagens para manter anônimos a origem e o destino. Isso se tornaria a base para a rede TOR.

Chaum via os pagamentos digitais da mesma forma – reconhecendo que ‘transações financeiras rastreáveis feitas por um indivíduo podem revelar muito sobre o paradeiro, associações e estilo de vida desse indivíduo’. Em 1980, ele patenteou um sistema de dinheiro digital protegido por criptografia que formaria a base das criptomoedas. Ele também começou a explorar a ideia de usar criptografia para criar uma economia totalmente descentralizada baseada na descentralização de mensagens e pagamentos.

Governos são bons em cortar as cabeças de redes controladas centralmente como o Napster, mas redes puramente P2P como Gnutella e TOR parecem estar se mantendo firmes.
Satoshi Nakamoto

Sistemas descentralizados sem autoridade central – peer-to-peer – oferecem várias vantagens:

  • Eles podem crescer rapidamente, pois qualquer pessoa pode expandir o sistema simplesmente executando um novo nó sem necessidade de registro ou aprovação
  • Todos os nós são iguais, então falhas podem ser contornadas
  • Não há autoridade central para capturar e comprometer o sistema
  • São mais difíceis de capturar, regular, tributar ou vigiar sem pontos centralizados de controle

Uma década depois, ele fundou sua empresa, a Digicash, para criar o ‘ecash’, o primeiro sistema de dinheiro digital do mundo. Muitos nomes famosos se juntaram à Digicash por um tempo, que teve algum sucesso, mas acabou fracassando e declarou falência.

Desenvolvimentos adicionais em dinheiro digital

Em uma postagem de fórum de julho de 2010, Satoshi Nakamoto disse: “O Bitcoin é uma implementação da proposta b-money de Wei Dai no Cypherpunks em 1998 e da proposta Bit Gold de Nick Szabo.”

Embora nenhuma dessas duas ideias tenha passado da fase de proposta, algumas das ideias presentes nelas claramente influenciaram o desenvolvimento do Bitcoin:

  • Usar ‘Prova de trabalho’ para atribuir valor monetário ao trabalho computacional
  • O conceito de que o custo da computação muda ao longo do tempo e deve ser levado em consideração

Mas primeiro vamos olhar para o Hashcash.

3.4 Hashcash

O Hashcash foi criado por Adam Back, outro dos primeiros inovadores nesse espaço. Adam tinha um forte interesse em mercados livres e privacidade na internet, e encontrou a lista de discussão dos Cypherpunks, na qual entrou e se tornou um participante ativo.

Ele estava muito interessado em dinheiro digital e fez algumas sugestões de como o grupo poderia potencialmente trabalhar mais de perto com Chaum no DigiCash, mas essas ideias não avançaram. Então, ele voltou sua atenção para outro problema emergente – o spam de e-mails. Ele e o restante dos Cypherpunks queriam encontrar uma solução para o problema do spam, onde era trivial para spammers criar e enviar milhares de e-mails que congestionavam as redes. Sua solução inovadora foi baseada em hashing – a capacidade, com a criptografia, de transformar qualquer dado em uma sequência única e aleatória de comprimento específico, criando o equivalente a um ‘selo’ digital que precisava ser adicionado ao e-mail para que fosse considerado válido e transmitido pela rede. Um custo trivial para um e-mail genuíno, mas proibitivo para um spammer.

A principal inovação que o Hashcash criou foi vincular recursos do mundo real – poder computacional – a uma rede digital. Enquanto os recursos digitais até então podiam ser replicados sem limites, o número de ‘hashcash’ criados era limitado por quanta energia as pessoas estavam dispostas a investir nisso.

Embora a solução atendesse a alguns dos critérios que Adam acreditava serem necessários em um sistema de dinheiro digital; era anônima, resiliente e sem necessidade de confiança, cada hashcash não era reutilizável e não era verdadeiramente escasso. Ele sugeriu outras formas de abordar essas questões usando terceiros externos.

BitGold

Nick Szabo desenvolveu o conceito de Hashcash e prova de trabalho para propor uma solução alternativa, que descreveu em uma lista de discussão um ano após a publicação do Hashcash, em 1998.

Embora estivesse se aproximando de uma solução, essa proposta ainda apresentava vários desafios.

  • Quem administraria o Registro de propriedade dos hashes e como poderiam ser confiáveis?
  • O hashing geralmente ficaria mais barato com o tempo, um desafio também para o HashCash.

Como os hashes vinculados seriam carimbados com data e hora, ele propôs algum tipo de rastreamento histórico da dificuldade do hashing na época; um hash mais antigo exigiria mais custos de processamento do que um mais recente, já que os custos diminuíram. Infelizmente, isso significava que os hashes não seriam ‘fungíveis’, ou seja, de valor igual, considerado um atributo fundamental do dinheiro digital. Para ajudar a resolver isso, Nick sugeriu algum tipo de ‘banco livre’ funcionando sobre o BitGold, que poderia agregar diferentes grupos de hashes que teriam o mesmo valor.

B-Money

Logo após a proposta do Bit Gold, Wei Dai propôs uma solução semelhante. Ele já havia desenvolvido várias outras ferramentas para os Cypherpunks e tinha suas próprias ideias sobre dinheiro digital.

Sua proposta se assemelhava ao Bit Gold no sentido de usar assinaturas digitais para transferir dinheiro, e os registros das transações seriam armazenados em um livro-razão, contendo chaves públicas e a quantidade de unidades de moeda atribuídas a cada uma. Assim como no Bit-Gold, terceiros confiáveis eram considerados falhas de segurança, e acreditava-se que um sistema de dinheiro eletrônico não deveria depender de uma única entidade para rastrear saldos, transações ou para evitar o gasto duplo.

Wei-Dai propôs várias soluções para essas questões, uma das quais era que, em vez de uma entidade central manter o livro-razão, TODOS os nós manteriam uma cópia. Se todos os usuários verificassem seu próprio livro-razão e a validade de cada transação, enquanto todos os nós permanecessem atualizados, os livros-razão deveriam permanecer sincronizados em toda a rede. Esse sistema altamente distribuído seria difícil de corromper.

Wei Dai reconheceu que isso não resolvia o problema dos generais bizantinos (1), pois os nós poderiam facilmente perder a sincronização ou simplesmente mentir. Ele sugeriu métodos alternativos, como ter um subconjunto de servidores ‘confiáveis’ que mantivessem o livro-razão e criar incentivos financeiros para manter esses servidores honestos.

Para a política monetária, ele propôs atrelar o poder de compra do B-Money a algum tipo de índice de preços ao consumidor externo. Ele queria que a mesma quantidade de B-Money pudesse comprar uma fração igual do índice ao longo do tempo, proporcionando alguma estabilidade de preços. Assim, qualquer pessoa poderia gerar novas unidades de moeda fornecendo um hash válido, mas a dificuldade de gerar um hash poderia mudar ao longo do tempo com base nos custos de CPU e no índice de preços, de modo que cada unidade seria ‘imutável’.

3.5 BitTorrent

Outro projeto que desempenhou um papel significativo na formação das criptomoedas antes do bitcoin foi o BitTorrent.

Em 2001, Bram Cohen lançou um projeto para um protocolo chamado BitTorrent, que foi criado para alimentar um sistema de compartilhamento de arquivos peer-to-peer. Ele começou a trabalhar em uma empresa chamada MojoNation, que havia sido criada para permitir que as pessoas dividissem arquivos confidenciais em partes criptografadas, distribuídas em computadores que executavam o software. Uma cópia do arquivo seria baixada simultaneamente de vários computadores. Embora tenha falhado no final, isso apresentou Cohen ao espaço de compartilhamento de arquivos, onde ele decidiu que poderia criar um protocolo melhor, que consistia em:

  • Swarm: uma comunidade de máquinas que estão baixando ou enviando conteúdo
  • Tracker: uma ferramenta dedicada que funciona de forma semelhante a um mecanismo de busca, mas mantém o controle dos arquivos contidos no swarm. Isso permite que os usuários vejam e acessem facilmente qualquer arquivo que possam precisar
  • Cliente BitTorrent: instalado em um computador para acessar o tracker. Observe que o swarm é o único lugar onde os arquivos realmente ficam armazenados
  • Um esquema de incentivos onde os usuários que participam da rede como compartilhadores de arquivos obtêm downloads mais rápidos

Semelhanças com o Bitcoin:

  • Ambos os protocolos operam em uma base peer-to-peer
  • Design descentralizado
  • Os arquivos do BitTorrent e o livro-razão do Bitcoin são distribuídos pela rede
  • Origem de código aberto (o BitTorrent acabou se tornando um software de código fechado)

3.6 Prova de trabalho reutilizável

Hal Finney é outro membro famoso do movimento Cypherpunk, que estava muito interessado no desenvolvimento de dinheiro eletrônico e era ativo na lista de discussão.

Ele decidiu tentar novamente desenvolver um sistema de dinheiro eletrônico baseado em prova de trabalho. Até esse ponto, a saída do hash era única para cada transação, mas sua ideia era criar 'provas de trabalho reutilizáveis'.

A desvantagem dessa abordagem é o servidor centralizado, que precisa ser confiável para não gastar em dobro ou ser desligado. Para contornar isso, Hal propôs o uso de software livre e de código aberto, que poderia ser hospedado em um componente de hardware seguro e validado de forma independente.

A solução ainda enfrentava alguns dos mesmos problemas das outras propostas:

  • O problema do 'ovo e da galinha' para conseguir adoção, onde falta um incentivo para que os usuários queiram solicitar tokens, e os vendedores não querem se conectar ao sistema a menos que os usuários queiram pagar com esses tokens.
  • A prova de trabalho (POW) também tende a ficar mais barata com o tempo, à medida que o desempenho dos computadores melhora, sugerindo que o mercado acabaria sendo inundado com unidades de moeda RPOW.
Se a lei de Moore continuar válida, o custo de criar um token (POW) cairá de forma constante e exponencial. Lembre-se de que isso não é dinheiro e não se destina a ser uma reserva de valor, mas sim uma representação fácil de trocar do esforço computacional.
Hal Finney

Esses atributos limitaram o apelo e, consequentemente, a adoção do projeto e, apesar de seus melhores esforços, o projeto acabou sendo mais uma tentativa fracassada de criar dinheiro eletrônico.

3.7 Bitcoin

Após muitos anos e tentativas fracassadas, os Cypherpunks, em sua maioria, já haviam começado a perder o interesse na ideia de uma moeda digital sem permissão, quando Adam Back recebeu um e-mail com um link para um rascunho de white paper chamado ‘dinheiro eletrônico sem terceira parte’ de uma pessoa anônima que se autodenominava Satoshi Nakamoto.

Para recapitular até este ponto, temos pelo menos as ideias de:

  • Assinaturas criptográficas que poderiam fornecer um nível de privacidade e anonimato
  • Conceito de uma moeda sem lastro (B-Money)
  • Propostas (mas sem meios) para limitar a emissão de nova moeda
  • Moedas digitais cuja propriedade era atribuída por chaves públicas (B-Money) e podiam ser transferidas por assinatura e reatribuídas com base no endereço do destinatário (RPOW e Hashcash)
  • Todos os nós mantêm uma cópia de um livro-razão totalmente distribuído (B-Money) (descartado na época como impraticável)
  • Protocolo de marcação temporal – usando hash de árvore de Merkle para fornecer uma cronologia matematicamente comprovável de eventos que é difícil de falsificar se todos os usuários mantiverem os mesmos registros
  • Prova de trabalho para vincular esforço do mundo real ao sistema (mas usando o próprio hash como moeda)
  • Redes totalmente descentralizadas onde todos os pares são iguais e podem entrar e sair da rede (BitTorrent)
  • Conceito de vincular novos hashes a hashes anteriores (Bit Gold e marcação temporal)

O que faltava nesse momento incluía:

  • Uma solução viável para resolver o problema dos ‘generais bizantinos’
  • Um método para limitar a quantidade de dinheiro em circulação apesar das melhorias contínuas de hardware
  • Esquema de incentivos para as pessoas participarem (problema do ovo e da galinha)

A outra grande diferença entre as tentativas recentes e o Bitcoin foi que Satoshi já vinha trabalhando no código há algum tempo, no verdadeiro espírito original dos ‘Cypherpunks escrevem código’, antes de anunciá-lo nas listas de discussão, ao contrário do Bit Gold e do B-Money, que eram mais conceituais.

Qual foi a inovação que diferenciou o Bitcoin das tentativas anteriores de dinheiro eletrônico?

A prova de trabalho seria usada como mecanismo de consenso e como forma de fornecer segurança e imutabilidade: Em vez de usar o hash como forma de dinheiro, ele seria usado por um novo processo conceitual chamado mineração, onde um nó agruparia um conjunto de transações, adicionaria um número aleatório e então aplicaria o hash ao ‘bloco’ de dados. Um bloco válido que atendesse ao requisito de hash seria então anunciado à rede. Esses blocos seriam ligados entre si usando o hash do bloco anterior em cada um, e a blockchain mais longa seria usada no caso de um desempate, onde diferentes nós validariam e anunciariam blocos diferentes ao mesmo tempo, criando divisões na cadeia. A prova de trabalho tornou-se o desempate distribuído para resolver o problema dos generais bizantinos.

Esses mineradores também receberam um incentivo para fornecer a CPU necessária para realizar a prova de trabalho, sendo alocados novos bitcoins para cada bloco. A quantidade de Bitcoin que recebem também está programada para diminuir aproximadamente a cada 4 anos até que todos os Bitcoins tenham sido criados, criando um limite rígido para o total de Bitcoin que jamais estará em circulação, de 21 milhões.

A ideia mais original foi a forma como ele resolveu a questão de quanto dinheiro é criado à medida que o hardware melhora e mais poder pode ser aplicado à rede. As marcações de tempo de um número definido de blocos (2016) seriam calculadas em média, e se estivessem sendo criados muito rapidamente, o hash necessário para criar um novo bloco seria tornado mais difícil; se muito lentamente, seria facilitado. Isso foi incorporado ao protocolo descentralizado que todos os nós executam e, portanto, qualquer minerador que o ignorasse gastaria energia para minerar um bloco sem benefício, pois seria rejeitado pelo restante da rede. Esse ajuste garante que a criação de novos blocos permaneça no cronograma planejado de emissão e fornece incentivos para que os mineradores ‘sigam as regras’.


Resumo

Muitas das peças do quebra-cabeça do que é necessário para construir um sistema de dinheiro eletrônico descentralizado peer-to-peer baseado em princípios de moeda sólida já estavam no lugar antes de Satoshi lançar seu whitepaper e logo após o lançamento inicial do código.

A natureza do Bitcoin é tal que, uma vez que a versão 0.1 foi lançada, o design central ficou gravado em pedra para o resto de sua existência
Satoshi Nakamoto

Embora muitas ideias de melhorias (BIPs) tenham sido propostas e adotadas, o Bitcoin vem funcionando em segundo plano desde 2009 seguindo o protocolo projetado no lançamento inicial e com quase nenhuma interrupção. Todas as melhorias foram feitas mantendo a compatibilidade retroativa com todas as versões anteriores.

Notas
  1. Para uma explicação do problema dos Generais Bizantinos - veja https://pt.wikipedia.org/wiki/Falha_bizantina

↑ Voltar ao índice