Foto - dnaindia

BITCOINS, CRYPTOFEIJÕES E ETHEREUM: JEROEN EXPLICA

Por: Jeroen van de Graaf

Link original: goo.gl/kveYz4

Sou pesquisador em criptografia, e já acompanho Bitcoin faz uns três anos. Para quem é especialista, a criptografia do Bitcoin não é muito complicada. (Pelo menos, em termos de abstração. Sou formado em matemática e já enfrentei assuntos bem mais abstratos e difíceis.) Eu tinha mais dificuldades para entender a teoria de jogos por trás: “O que incentiva as partes de agir como elas agem, e por isso é estável? Por que o minerador minera?” E dificuldades de entender a relação com a economia real. “É dinheiro, sim ou não?” Meu post anterior responde a última pergunta (pelo menos à minha satisfação), enquanto esse aborda a teoria de jogos e cripto-economia.

Mas primeiro quero responder o que exatamente é Bitcoin, porém sem entrar nos detalhes de como funciona. Já que ministrarei uma disciplina sobre o assunto este semestre, procurei uma forma de explicar o que é Bitcoin economicamente, sem explicar a criptografia.


Poker e feijões

Nessas férias passei uma semana com um amigo meu e nossos filhos. Nós nos divertimos jogando poker. “Texas hold’em”, aquele da televisão com “flop”, “turn” e “river”. Usamos feijões para apostar: no início cada jogador ganhava 30 feijões para jogar, e depois de uma hora era fácil de ver quem se dava mal ou bem fazendo uma comparação visual  —  contar nem era necessário.

Obviamente poderíamos ter usado outros objetos do que feijões. Na minha infância na Holanda usávamos fósforos quando jogávamos baralho. Fichas de poker também exercem este papel, mas podem ter várias cores e denominações, o que complica o discurso. Em essência o objeto (feijão, fosforo) em si não tem importância, ele representa um certo valor. Muitas vezes usa-se a palavra “token” para esses objetos, mas já é uma palavra carregada, então prefiro ficar com “feijão” nesse texto.


Feijões Virtuais e o CryptoFeijão

Agora a tecnologia da informação entra em nossa troca-troca de feijões.

Primeiro, imagine que, ao em vez de trocar os feijões fisicamente, simplesmente anotamos num caderno quem paga quantos feijões a quem em cada rodada do jogo. Um livro-caixa de feijões – um Livro-Feijão.

Segundo, vamos implementar esse Livro-Feijão em software, desenvolvido e mantido não por um dos jogadores, mas por uma terceira parte confiável, chamada de Central de Transações de Feijões. Pense numa Serasa para feijões. A representação em software permite, entre outros, que podemos dividir um Feijão em miliFeijões, microFeijões e nanoFeijões (modestamente batizado de “vandeGraaf”). Assim acabamos de criar o FeijãoVirtual.

Repare que o sistema não mantém os saldos das participantes. Ele mantém apenas todas as transações, e o saldo de cada participante é deduzido processando todas as transações de feijões no passado. Repare também que, substituindo os feijões por moedas reais, obtemos algo que os bancos fazem há séculos (mas eles costumam manter o saldo sim).

Terceiro: queremos eliminar aquela Central de Transações de Feijões, no qual toda parte precisa confiar, e portanto um ponto fraco do sistema. Ao invés de ter uma central, teremos um exército de Mini-Validadores de Transações de Feijões, trabalhando de forma distribuída na internet, numa (sub)rede peer-to-peer. Entra a criptografia, cujo papel sempre é prover soluções matemáticas em situações nas quais as partes não confiam entre si ou não confiam no canal de comunicação.

No caso de CryptoFeijão, a criptografia subjacente garante, entre outras, as seguintes propriedades:

  • a integridade das transações no Livro-Feijão;
  • a autenticidade das transações provenientes das partes (através de assinaturas digitais);
  • o controle sobre a quantidade total dos CryptoFeijões (ninguém consegue forjar CryptoFeijões);
  • a pseudonimidade das participantes (as transações entre as contas são públicas, mas quem é dono da conta ninguém sabe);
  • o consenso entre os Mini-Validadores (buscando um nonce tal que o hash do bloco processado começa com 70 (digamos) bits) ;
  • um pagamento (taxa) para os Mini-Validadores pelo o trabalho de validação. Trata-se de uma compensação pelo trabalho computacional deles para manter o Livro-Feijão atualizado. Mais especificamente, o sistema permite que o Mini-Validador crie alguns Feijões novos, do nada. No jargão, esse processo é chamado minerar; os Mini-Validadores são chamados de mineradores.

O lastro de Bitcoin

Aliás, se alguém se pergunta onde está o lastro das criptomoedas, pode se considerar os gastos dos mineradores em equipamentos e energia como tal. Com certeza, os mineradores confiam no valor do mercado de Bitcoin, porque senão, eles não investiram tanto. É possível calcular as despesas de um minerador, e dividi-las pelo número de Bitcoins criados. Assim obtém-se um valor mínimo do Bitcoin: se o valor em Bitcoin no mercado cai abaixo desta proporção, os mineradores vão levar prejuízos e sair do negócio. É neste sentido que a analogia com minerar ouro é apropriada: quando tirar ouro do chão fica mais caro do que vale, os mineradores desistem. Vimos isso no caso do petróleo (OPEC manipulando o preço para eliminar “shale oil” etc.)


O sucesso do CryptoFeijão X Bitcoin

Repare que não cometemos crime algum contra a economia popular. Criamos o CryptoFeijão, um sistema virtual para transferir FeijõesVirtuais usando a criptografia, de forma que nem precisamos de uma autoridade central. Não existe diferença conceitual entre nossos CryptoFeijões e o Bitcoin. Na verdade, usando o software de Bitcoin ou outras crypto-moedas, nós poderíamos colocar nosso sistema de CryptoFeijões no ar num prazo de alguns dias, se quiséssemos. Criar uma criptomoeda é fácil (e no caso do Ethereum, mais fácil ainda).

Será que nosso CryptoFeijão se tornaria um sucesso? Bom, depende. No caso do Bitcoin, demorou alguns anos até que pessoas começassem a usar o Bitcoin como forma de pagamento. A primeira transação foi a compra de duas pizzas, mas, ironicamente, o Bitcoin ganhou credibilidade quando o criador do mercado ilegal Silk Road, onde se negociavam drogas, armas, etc., programou  o pagamento em Bitcoins nesse site. Em paralelo casas de câmbio, onde qualquer pessoa pode trocar Bitcoins para dólares e vice versa, começaram a aparecer. A rigor, fazendo a troca somente após a identificação do cliente, claro. Mas duvido que não houvessem formas de contornar este empecilho.


Liquidez

Repare que, dentro do sistema, a liquidez do Bitcoin é relativamente alta: um bloco é processado a cada 10 minutos, mas é aconselhado esperar uma hora para ter certeza que sua transação não foi revogada. (Aliás, dez minutos é muito para comprar um cafezinho. A baixa liquidez do Bitcoin para este tipo de aplicações é um dos motivos por que eu acho que Bitcoin não vai sobreviver ao longo prazo.)

No entanto, a liquidez para com a economia convencional é baixa. Para converter Bitcoins para moedas comuns (dólares, reais) você depende dessas casas de câmbio. Pode ser que demore alguns minutos, ou alguns dias até o valor equivalente ser depositado na sua conta bancária. Ou pode nunca acontecer, como no caso de MountGox.

Acontece que muitos dessas casas de câmbio atuam também como corretor/procurador para especuladores: já que a maioria deles não tem conhecimento da criptografia para gerenciar as chaves privadas associadas a suas transações, eles preferem delegar esta tarefa. Assim, esses casas de câmbio/procuradores se tornam um alvo interessante para hackers que, no caso do Mount Gox em 2014, conseguiram roubar Bitcoins com valor estimado de 450 milhões de dólares. It’s a jungle out there. Enter at your own risk. A causa foi, essencialmente, incompetência de Mount Gox para implementar procedimentos de segurança rigorosos. Usando palavras menos elegantes: era uma bagunça internamente. Houveram muitos outros incidentes deste tipo, mas até hoje a criptografia do Bitcoin em si nunca foi ameaçada.


Ethereum é um computador publicamente verificável nas nuvens

Então, o Bitcoin não tem mais valor intrínseco que nosso CryptoFeijão, a saber: nada. A única diferença é que Bitcoin é popular graças ao Silk Road, e o CryptoFeijão não 🙁 .  No entanto, isso não é verdade para outras “crypto-currencies”, que têm um valor intrínseco sim. O melhor exemplo que conheço é o Ethereum, que oferece muito mais funcionalidades que apenas um livro-caixa.

Um blockchain é essencialmente um livro-razão, registrando a passagem de qualquer tipo de documento, o que inclui transações financeiras. É um “transaction log”, descentralizado, público, verificável. O Bitcoin usa um blockchain apenas para registrar transações financeiras, enquanto o  Ethereum é mais genérico.

No Ethereum é possível submeter scripts a serem executados em cima do (i.e. relativo ao) blockchain: programas conhecidos como “smart contracts”. Note bem, já que o blockchain  é replicada em centenas de computadores, a execução dos programas também é replicada nos mesmos. Portanto funciona como um computador nas nuvens; porém, distribuído, público, transparente e verificável. Uma vez despachado um programa (smart contract), ninguém é capaz de impedir ou modificar a execução destes programas.

Por exemplo, é perfeitamente possível criar um programa que será executado no dia 1o de janeiro de 2025, para transferir 20 Ether (a unidade de “dinheiro” de Ethereum) da conta A para a conta B. Em outras palavras, é como se existisse um “main frame” nas nuvens. Porém, não existe um “cloud computer service provider” à la Amazon, Microsoft ou Google; todos os programas são rodados em centenas de cópias naquela rede peer-to-peer de Mini-Validadores. A duplicidade do trabalho é gigantesco. Mas o resultado da computação é verificável e incontestável. E o sistema continua rodando, a cada 15 segundos, 24 por 7, ano após ano.


Ethereum Virtual Machine — EVM

O nome deste computador é o Ethereum Virtual Machine, e em teoria ela pode calcular qualquer coisa que se pode calcular com um computador qualquer (no jargão: a EVM é Turing-completo. Bitcoin não é; tem limitações.). O grande problema da EVM é sua lerdeza. Por motivos de segurança a sua linguagem de programação tem apenas operações muito básicas, parecidas às de um computador dos anos 1960. E lembre, todas as execuções de programas e as modificações do estado devem ser comunicadas e concordadas entre todos os Mini-Validadores (mineradores), o que causa muito atraso.

Por causa do custo alto, e também para evitar programas que consomem todos os recursos sem terminar, a EVM cobra uma taxa chamada “gas”, para executar um programa nele, como também cobra para armazenar dados na memória permanente. O “gas” é pre-pago. Se você não coloca “gas” suficiente e o programa aborta prematuramente, a EVM desfaz a computação, volta a estado anterior, mas você perde seu “gas”.


Aplicações

Existe muita utilidade para este tipo de tecnologia. Pense bem: você tem processamento confiável, horário confiável, transações monetárias (em Ether 🙂 confiáveis, e transações não-monetárias confiáveis (por exemplo documentos assinados digitalmente, cujo hash criptográfico é validado pelo blockchain).

Já que na internet não tem muita confiança entre as partes (ninguém sabe que você é um cachorro), existem muitas empresas atuando como autoridades facilitadoras: PayPal, Ebay, MercadoLivre etc. Porém, uma grande parte destas transações poderiam ser programadas em Ethereum na forma de smart contracts. E é possível pensar em muitos outros cenários, como leilões, licitações e sorteios transparentes, etc.

Até jogos de baralho poderiam ser implementados de forma transparente. Infelizmente poker não é um bom exemplo porque sempre existe a possibilidade de que jogadores compartilhem informações. Mas Black Jack (21) poderia ser implementado em Ethereum. Na implementação não existe mais a possibilidade de que o “casino”, uma aplicação web, troque as cartas a serem abertas para enganar os jogadores. A única possibilidade que resta ao casino é abortar, cair fora. Mas o programa (smart contract) pode estipular uma multa, a ser paga em Ether, para esse tipo de comportamento.

Este é o ponto chave de Ethereum e sistemas parecidos: hoje não existe uma forma de punir comportamento desonesto. Uma parte pode simplesmente abandonar uma transação no meio quando o andamento não lhe agrada mais, porque dentro do sistema atual, a internet, não existe mecanismo para impor uma punição real. Criptomoedas como Ethereum mudam tudo isso: para começar a transação as partes são obrigadas a depositar um valor que será devolvido depois. Mas se uma parte comporta de forma desonesta, ela perderá seu depósito. E tudo isso com transparência, imparcialidade e implacabilidade, já que o EVM determina o resultado, sem intervenção humana. Nesta visão não haverá mais advogados: “The code is the contract”. O nosso judiciário vai ficar desempregado (YES!), enquanto um bom programador de “smart contracts” ganha uma fortuna (YES!).

Em resumo, através do Ethereum cum seus, vislumbra-se uma possível solução para um dos grandes problemas da internet hoje: a questão da confiabilidade e credibilidade das transações, sem ajuda de uma terceira parte, autoridade confiável, intermediário ou outra intervenção humana. A nova área de pesquisa que surgiu na interseção de teoria de jogos e criptografia é chamada a cripto-economia.

 

Pretendia explicar como o desenvolvimento do Ethereum foi financiado através de um ICO. Mas o texto já está grande; fica para uma próxima vez.

 

Jeroen van de Graaf

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *