Início Educação Wei Dai: como o seu B-Money inspirou a criação do Bitcoin

Wei Dai: como o seu B-Money inspirou a criação do Bitcoin

1280
3
Wei Dai: como o seu B-Money inspirou a criação do Bitcoin

Nota do redator: o texto abaixo faz parte da série chamada Genesis Files, a qual procura mostrar os primórdios das criptomoedas antes mesmo do surgimento de Satoshi Nakamoto. O primeiro texto da série, sobre David Chaum e o papel do eCash, pode ser conferido aqui.

Todos os Cypherpunks valorizam a privacidade. Esse é basicamente o princípio fundador do coletivo de criptógrafos, acadêmicos, desenvolvedores e ativistas em torno da lista de discussão dos anos 90 cujo título deu nome ao movimento. Mas poucos colocam em prática como Wei Dai faz. Uma vez descrito como um “engenheiro de computação intensiva privada” pelo New York Times, não são conhecidos muitos detalhes pessoais sobre o homem que, duas décadas atrás, inventou um sistema de dinheiro eletrônico intrigantemente similar ao Bitcoin.

Essa falta de detalhes pessoais é compensada pelo trabalho de Wei Dai e pela proliferação de suas ideias. Criptógrafo talentoso, Dai criou e ainda mantém o Crypto ++, uma biblioteca C ++ para algoritmos criptográficos. Dai também é, até hoje, ativo em fóruns como o LessWrong, onde ele filosofa sobre tópicos como inteligência artificial, ética, epistemologia e muito mais. Seus insights renderam elogios do famoso pesquisador de IA, Eliezer Yudkowsky, e convites repetidos para falar em seu Instituto de Pesquisa em Inteligência de Máquinas (MIRI, na sigla em inglês), anteriormente conhecido como Singularity Institute.

O interesse de Wei Dai por filosofia e política não é novidade. Nos anos 90, quando era jovem estudante a bacharel em ciência da computação na Universidade de Washington, sua curiosidade o levou aos escritos de Timothy May, um dos “fundadores” do movimento Cypherpunk. Dai foi inspirado pela criptoanarquia que May defendeu – a nova ideologia predominante entre os Cypherpunks baseada na convicção de que a criptografia e o software poderiam fornecer e salvaguardar a liberdade política e econômica melhor do que qualquer sistema de governo.

“Sou fascinado pela análise de criptografia de Tim May”, escreveu Dai em 1998. “Ao contrário das comunidades tradicionalmente associadas à palavra ‘anarquia’, numa criptoanarquia o governo não é temporariamente destruído, mas permanentemente proibido e, posteriormente, torna-se permanentemente desnecessário. É uma comunidade onde a ameaça da violência é impotente porque a violência é impossível, pois seus participantes não podem ser associados aos seus nomes verdadeiros ou a locais físicos.”

Em meados da década de 1990, Dai se engajou em discussões sobre vários tópicos da lista de discussão cypherpunks, como sistemas de reputação digital, teoria dos jogos, privacidade e anonimato em sistemas de dinheiro digital. Talvez o mais importante, Dai fez uma série de propostas para promover a causa do movimento Cypherpunk, incluindo sistemas confiáveis de timestamping, um tunelador TCP criptografado, um sistema seguro de compartilhamento de arquivos e muito mais. Isso lhe rendeu uma reputação como um colaborador prolífico da comunidade Cypherpunk – embora, mesmo naquela época, ninguém ainda soubesse muito sobre ele pessoalmente (em um grau de anonimato digno de Satoshi Nakamoto, nem mesmo era sabido se Dai era homem ou mulher, Timothy May disse recentemente).

Mas Dai se tornaria mais conhecido por uma ideia que ele anunciou casualmente em novembro de 1998, logo após se formar na universidade: “cooperação eficiente requer um meio de troca (dinheiro) e uma maneira de fazer cumprir contratos”.

“O protocolo proposto neste artigo permite que entidades pseudônimas não rastreáveis cooperem umas com as outras de maneira mais eficiente, fornecendo-lhes um meio de troca e um método de execução de contratos. […] Espero que este seja um passo para tornar a criptoararquia uma possibilidade prática e teórica.”

Ele chamou sua proposta de “b-money“.

B-Money

Sistemas típicos de dinheiro digital usam um livro central para acompanhar os saldos das contas. Quer se trate de um banco central, um banco comercial, um sistema de processamento de pagamentos ou qualquer outro provedor de pagamento, um banco de dados controlado centralmente em algum lugar rastreia quem é dono do quê.

O problema com essa solução, na perspectiva de Dai e do movimento de criptoanarquia, é que, em última análise, ela permite que os governos controlem o fluxo de dinheiro por meio da regulamentação, enquanto os participantes do sistema geralmente precisam se identificar para poder utilizar as ferramentas. “Minha motivação para o b-money era permitir o surgimento de economias on-line que são puramente voluntárias, que não poderiam ser tributadas ou regulamentadas pela ameaça de força”, explicou mais tarde.

Então, Dai surgiu com uma solução alternativa. Ou, para ser mais exato, duas soluções alternativas.

Na primeira solução, em vez de uma entidade central controlar o livro de transações, todos os participantes manteriam cópias separadas do mesmo livro. Sempre que uma nova transação é feita, todos os nós atualizam seus registros. Além disso, esses registros consistiriam em chaves públicas, com valores anexados a eles – sem a existência de nomes reais. Essa abordagem descentralizada impediria que qualquer entidade única bloqueasse as transações, oferecendo um alto nível de privacidade a todos os usuários.

Como um exemplo rápido, digamos que Alice e Bob são usuários de dinheiro b. Ambos têm uma chave pública: Alice tem a chave pública “A” e Bob tem a chave pública “B”, para a qual ambos controlam suas chaves privadas exclusivas. E, conforme registrado nos registros contábeis mantidos por todos os usuários, ambas as chaves públicas possuem unidades b-money; digamos, três unidades cada.

Se Bob quiser receber duas unidades de dinheiro da Alice (porque ele está vendendo um produto para ela), ele envia à ela sua chave pública: B. Supondo que Alice queira comprar o produto, ela cria uma transação na forma de uma mensagem: “2 b-money de A para B.” Em seguida, ela assina esta mensagem, com sua chave privada correspondente a A. A mensagem e a assinatura criptográfica são então enviadas para todos os usuários do b-money.

A mensagem assinada prova a todos os usuários de dinheiro b que o dono legítimo de A quer enviar duas unidades de b-dinheiro para B. Todos, portanto, atualizam seus livros, atribuindo agora um total de uma unidade de dinheiro A e um total de cinco unidades de b-dinheiro para B – sem esquecer que Alice ou Bob controlam também.

Esta solução pode soar familiar. E, de fato, é muito familiar, pois foi mais ou menos como, 10 anos depois, Satoshi Nakamoto projetou o Bitcoin.

B-Money, versão 2

Inicialmente, Wei Dai considerou impraticável sua primeira solução b-money, “porque faz uso pesado de um canal de transmissão anônimo síncrono e não inflamável”, explicou em sua proposta.

Em outras palavras, a primeira proposta do b-money não resolveu o problema do gasto duplo. Alice podia enviar duas unidades de “dinheiro b” para Bob e para Carol (C) ao mesmo tempo, transmitindo essas transações para diferentes partes da rede. Tanto Bob quanto Carol dariam a Alice um produto em retorno só para descobrir, depois, que metade da rede não reconhecerá seus novos saldos.

É por isso que Dai criou uma segunda solução de b-money, tudo na mesma proposta.

Nesta versão, nem todos mantêm uma versão do livro de transações. Em vez disso, o sistema consistiria em dois tipos de usuários: usuários regulares e “servidores”. Somente os servidores, vinculados por meio de uma rede de transmissão no estilo Usenet, manteriam os registros de dinheiro b. Para verificar se uma transação foi realizada como deveria, usuários regulares – como Bob e Carol – teriam que verificar isso com um subconjunto aleatório desses servidores (no caso de um conflito, Bob e Carol presumivelmente rejeitariam a transação de Alice e não venderiam nada à ela).

Embora não tenha sido detalhado na proposta, qualquer pessoa provavelmente teria sido capaz de se tornar um servidor, mas “cada servidor é obrigado a depositar uma certa quantia de dinheiro em uma conta especial para ser usado como possíveis multas ou recompensas por comprovação de má conduta”, Dai propôs. Os servidores também deveriam publicar periodicamente e se comprometer criptograficamente com os bancos de dados em sua propriedade.

“Cada participante deve verificar se os seus próprios saldos estão corretos e se a soma dos saldos das contas não é maior do que a quantia total de dinheiro criada”, previu Dai. “Isso impede que os servidores, mesmo em conluio total, expandam permanentemente e sem custos a oferta monetária.”

Se essa proposta também soa familiar, não é de admirar: a segunda proposta de b-money de Dai possui grande semelhança com o que hoje é chamado de sistema de Proof of Stake, bastante conhecido pelo seu uso em moedas digitais como a Decred.

Para começar, Dai adicionou uma versão inicial de uma solução de contrato inteligente para sua(s) proposta(s). Esses tipos de contratos inteligentes se assemelhavam a uma mistura de um sistema de prova de participação e um sistema de arbitragem, em que ambas as partes de um contrato e um árbitro devem depositar todos os fundos em uma conta especial. Curiosamente, para os padrões modernos, esses contratos não tinham um sistema de resolução de disputas codificado: em vez disso, era possível que, em caso de disputas, diferentes usuários (ou servidores) ajustassem diferentemente seus próprios registros, deixando o estado dos registros em a rede fora do consenso (Presumivelmente, as penalidades em potencial tornariam o custo de fraude muito alto para alguém tomar o risco.)

Política monetária

No entanto, a política monetária proposta por Dai acabou se tornando o principal ponto de diferença entre o b-money e o Bitcoin.

A política monetária do Bitcoin é muito simples. Para trazer moedas em circulação, inicialmente eram emitidos 50 novos bitcoins por bloco, um número que caiu ao longo do tempo até chegar aos atuais 12,5. Este número continuará a diminuir a cada 4 anos até que, daqui a alguns anos, o total de bitcoins emitidos alcance um valor ligeiramente inferior a 21 milhões. Se essa política monetária é ou não a ideal é objetivo de outro debate, mas uma coisa é clara: até agora, ela não produziu um valor de moeda estável.

Em contraste, um valor de moeda estável era explicitamente parte da visão da Dai. Para conseguir isso, o valor do b-money deveria ser acoplado ao valor de uma cesta de bens (teórica). Por exemplo, unidades de 100 bilhões de dólares valeriam uma cesta de mercadorias. Isso deve dar ao b-money um valor estável, pelo menos em relação a essa cesta de bens: as mesmas unidades de 100 bilhões de dólares comprariam a mesma cesta de bens no passado, no presente e no futuro.

Para emitir novas moedas, os usuários deveriam determinar o que uma cesta de produtos custaria em relação a uma solução para um problema computacional: uma espécie de “prova de trabalho” primitiva. Se, por exemplo, uma cesta de mercadorias custasse US$ 80 em um ponto específico no tempo, teria que ser acompanhado por uma prova de trabalho que custaria em média 80 dólares para ser produzido. Se, 10 anos depois, a mesma cesta de mercadorias custasse US$ 120, as mesmas 100 unidades teriam que ser combinadas com uma prova de trabalho que custasse US$ 120 para ser produzida.

Usando este indicador, à primeira pessoa a produzir uma prova válida de trabalho seria creditada 100 novos b-money por todos os usuários ou servidores. Portanto, ninguém seria particularmente incentivado a produzir provas de trabalho a menos que pretendessem usar b-money, limitando a inflação ao crescimento da economia em volta da moeda.

Alternativamente, em um apêndice à sua proposta, Dai sugeriu que a criação de dinheiro poderia ser realizada através de um leilão. Todos os usuários (primeiro protocolo) ou os servidores (segundo protocolo) teriam primeiro que determinar um aumento ótimo da base monetária. Então, se esse aumento ideal fosse estabelecido em unidades de 500 bilhões de dólares, por exemplo, um leilão determinaria quem deveria criar essas 500 unidades: quem estivesse disposto e fosse capaz de fornecer a maior prova de trabalho para ele.

Bitcoin

O b-money nunca foi implementado. Não poderia ter sido: “o b-money ainda não era um projeto prático completo”, reconheceu Dai em um tópico do fórum LessWrong alguns anos atrás. Além disso, Dai não esperava que o b-money decolasse em grande escala, mesmo que fosse implementado.

“Eu acho que o b-money será no máximo um mecanismo de nicho de moeda e de execução de contratos, servindo àqueles que não querem ou não podem usar os meios patrocinados pelo governo”, explicou em um email após seu anúncio na lista de discussão Cypherpunks.

De fato, vários dos problemas do b-money não foram resolvidos ou, pelo menos, não foram especificados. Talvez, mais importante, seu modelo de consenso não era muito robusto, como foi melhor mostrado pela proposta de solução de contrato inteligente da Dai. Desde então, também foi descoberto que os sistemas de prova de participação introduzem novos desafios que Dai pode não ter previsto. Por exemplo, não estava claro como a “má conduta” pode ser estabelecida objetivamente. E isso nem entra nos problemas mais sutis da proposta, como a falta de privacidade devido à rastreabilidade de fundos ou à possível centralização da emissão de moeda (“mineração”). De fato, alguns desses problemas ainda não estão resolvidos para o Bitcoin nos dias de hoje, 20 anos depois.

Dai – que depois de propor o b-money passou a trabalhar para a TerraSciences e a Microsoft, e desde então parece ter se aposentado precocemente – não iria ficar por aqui para resolver esses problemas.

“Eu não continuei a trabalhar no design porque na verdade eu fiquei meio desiludido com a criptoanarquia quando terminei de escrever o b-money”, Dai falou no LessWrong. Ele reiterou: “Eu não previ que um sistema como este, uma vez implementado, poderia atrair tanta atenção e ser usado além de um pequeno grupo de Cypherpunks.”

No entanto, a proposta de Dai não foi esquecida: o b-money acabou sendo a primeira referência no whitepaper do Bitcoin, lançado 10 anos depois do paper de Wei Dai. Ainda assim, por mais semelhanças que tenham os dois projetos, é possível que Satoshi Nakamoto não tenha se inspirado na ideia de Dai. O próprio Dai acredita que o inventor do Bitcoin teve a ideia de forma independente.

Pouco antes da publicação do whitepaper do Bitcoin, o inventor da Hashcash, Dr. Adam Back, dirigiu Satoshi Nakamoto para o trabalho de Dai, tornando Dai uma das poucas pessoas que o inventor do Bitcoin alcançou pessoalmente antes de publicar seu whitepaper. Mas Dai não respondeu ao e-mail de Satoshi. Em retrospecto, ele desejou ter feito isso. Sem surpresa, Dai questiona o modelo de geração de moedas do Bitcoin.

“Eu consideraria que o Bitcoin falhou em relação à sua política monetária porque a política causa alta volatilidade de preços, o que impõe um alto custo aos seus usuários, que têm que correr riscos indesejáveis ou se envolver em uma cobertura custosa para usar a moeda”, escreveu no LessWrong. “Um possível impacto do Bitcoin pode ser que, devido à sua política monetária deficiente e volatilidade de preço, ele não possa crescer em escala, e ao assumir o nicho de criptomoeda, ele impediu um futuro onde uma criptomoeda pudesse crescer para escalas maiores.”

Ele acrescentou:

“Isso pode ter sido parcialmente minha culpa, porque quando Satoshi me escreveu pedindo comentários em seu rascunho, eu nunca respondi seu email. Caso contrário, talvez eu pudesse tê-lo dissuadido (ou a eles) da ideia de oferta fixa de dinheiro.”