Em outubro de 2019, no conhecidíssimo evento Devcon5, Vitalik Buterin, o co-fundador de Ethereum fez a sua apresentação/definição de criptoeconomia que importa explanar com atenção.
Em 2009, Satoshi Nakamoto criou Bitcoin, mas o que torna o Bitcoin interessante?
Muita gente responde a isto afirmando que Satoshi foi a primeira pessoa a resolver o conhecido problema de Computer Science chamado de “Problema dos Generais Bizantinos“.
Mas isto não é verdade!
Na verdade, o problema do Generais Bizantinos foi resolvido por Leslie Lamport at al em 1982, no paper abaixo:
https://people.eecs.berkeley.edu/~luca/cs174/byzantine.pdf
Então, se o problema até foi resolvido relativamente pouco depois do problema ter sido lançado o que é que Satoshi Nakamoto realmente inventou?
Então, o que é a criptoeconomia?
“Cryptoeconomics is the use of economic incentives to provide guarantees about applications”
Ou seja, em tradução livre, trata-se do uso de economia e o raciocínio lógico da teoria dos jogos em ligação com o raciocínio lógico da criptografia.
Desta forma, tratam-se de dois tipos de raciocínios:
- Raciocínio Criptográfico – permite, por exemplo, garantir que um adversário não conseguirá quebrar um determinado processo; e
- Raciocínio Criptoeconómico – permite outro tipo de garantias que a criptografia não consegue providenciar. Não são garantias criptográficas, em vez disso são garantias condicionais a certas determinadas condições económicas. Por exemplo, a assunção de que uma plataforma irá continuar a correr ativamente (a.k.a, censorship resistance) é algo que pode ser providenciado por incentivos económicos e não por criptografia. Até a condição de que um sistema descentralizado de consensus chegará a consenso é algo que não pode ser garantido por criptografia, apenas pode ser garantido por um tipo de modelo que diz algo sobre a motivação dos participantes no blockchain.
Desta forma, Criptoeconomia é o uso de incentivos económicos para providenciar garantias sobre aplicações, para:
- Verificar a correção da informação (aqui a criptografia é usualmente suficiente); e
- Garantir atividade/não-reversão (aqui precisas criptoeconomia).
E blockchains são protocolos criptoeconómicos:

Na blockchain tu queres que os mineiros criem mais blocos que expandam a corrente (chain) correta. Tu não queres que os miners andem ai a criar novas correntes (sidechains) e assim confundindo o utilizador comum.
Como fazemos isto?

Mas ainda é mais subtil do que apenas falar de incentivos…
Bitcoin usa a criptoeconomia para resolver dois problemas:
- O problema da atribuição de peso (a.k.a., Sybil Resistance)
- O problema do incentivo (se não sabemos nada sobre os participantes como os encorajamos a participar de forma correcta?)
Relativamente ao problema da atribuição de peso, são estes os problemas que o PoW e o PoS conseguem resolver engenhosamente. O que estes fazem é, em vez de pré-selecionarem quem irá correr o sistema, definem que “aquele que fôr o primeiro a publicar um certificado criptográfico” que prova que ele terá computado um trabalho extenso matemático e é parte do conjunto.
- PoW: resolves um problema matemático complexo e às o primeiro a publica-lo.
- PoS: tens uma certa quantidade de moedas e envias essas moedas para um contrato de depósito
Portanto, em vez que escolher um conjunto de pessoas em que todos confiam, cria-se um sistema aberto e de entrada livre (permissionless) onde qualquer um pode aderir e participar mas depois pesamos a influencia de cada um pelos recursos económicos com que cada um contribui.
Relativamente ao problema do incentivo, acontece porque alguns podem ser pessoas honestas, outras más, outras hackers, outras empresas, outras governos, outras pessoas com acesso privilegiado a recursos (ex. electricidade, computação), etc…. Como controlamos isto? Com incentivos económicos.
Portanto, podemos recorrer a incentivos económicos como forma para conduzir este grupo muito diverso de participantes para algo construtivo em vez que destrutivo.

Em suma, criptoeconomia é bom porque:
- Criptografia permite-nos provar coisas sem ter de assumir condições (se a matematica diz que é válido é válido); e
- Criptoeconomia permite-nos provar coisas com um mínimo de condições por parte de participantes (no caso ideal podemos calcular quanto dinheiro os atacantes estão dispostos a desperdiçar).
Ambas as condições são ideais para sistemas descentralizados e com confiança mínima.
Objetivos de Segurança
- A correta execução do protocolo deverá originar um equilíbrio robusto (assumindo que a maioria dos outros participantes estão seguindo o protocolo, irás ganhar mais seguindo o protocolo);
- Ter em consideração condições disruptivas (p.ex. suborno);
- Maximizar o custo de ataque,
Modelos de segurança
- Participantes – honestos, racionais não coordenados, coordenados;
- Rede – totalmente sincronizados, parcialmente sincronizados e assincronizados;
- Influências externas (p.ex. subornos) – limites do orçamento, limites de custo.
Críticas mais comuns:
Critica 1: Pessoas que tenham um grande incentivo extra-protocolo ou apenas querem ver o mundo a arder?
R.: Mas os sistemas BFT (Byzantine Fault Tolerance) tradicionais tipicamente assumem que mais do que 1/2 serão altruisticamente honestos (situação que ainda será mais irrealista). Para além disso, quanto mais elevado o custo do ataque, mais baixa probabilidade de tal acontecer.
Critica 2: Qualquer que seja o custo de quebrar a cadeia, o atacante pode simplesmente fazer uma cobertura (hedging) correspondente nos mercados financeiros e obter o dinheiro de volta, lucrando com a queda do preço do token.
R.: Sim, mas existe uma quantidade máxima que se pode ganhar quebrando a cadeia e qualquer atacante é motivado a já ter tomado este comércio máximo. O objectivo é aumentar o custo do ataque para maximizar a hipótese de o atacante não poder ganhar o suficiente para compensar o custo.
Exemplo: PoW
Falhas exclusivamente e não exclusivamente atribuíveis
- Falhas exclusivamente atribuíveis (Uniquely attributable faults), são como o nome indica, falhas em que o autor é identificável.
- Falhas não exclusivamente atribuíveis (Not uniquely attributable faults), tratam-se de falhas em que tu sabes que algum erro ocorreu mas não tens ideia de quem é o responsável
Como no exemplo representado no fork da blockchain acima descrito, tu sabes que existe um erro (fork) mas não sabes quem foi, não sabes se a chain de cima ou a de baixo foi a primeira a criar o bloco original. Alguém até pode ver isto a acontecer e ter a certeza absoluta de quem foi o primeiro mas criptográficamente isto não é possível de acontecer. Trata-se portanto de uma falha não exclusivamente atribuível (not uniquely attributable). O problema disto é que existe um limite de quanto podes penalizar, uma vez que se o fizeres em demasia existe o risco de inocentes serem apanhados e desta forma estás a criar um sistema muito menos atrativo para participar.
E estes são os objetivos do PoS:
- Os validadores fazem depósitos; podemos ter penalizações embutidas no protocolo relacionadas com estes depósitos (isto origina um custo de ataque muito elevado);
- Finalidade: um bloco é finalizado mesmo se 1/3 dos validadores tiverem de fazer uma falha exclusivamente atribuível para finalizar um bloco concorrente.
A criptoeconomia pode competir com a criptografia!
Isso acontece em algo que se chama de computação interactiva. Em cripto, poderemos falar em Zk-SNARK, mas prefiro deixar isto para outro dia 🙂
Em suma, criptoeconomia é usada para:
- Segurança do consenso da camada de base;
- Light clients;
- Segurança dos jogos L2 (Plasma, channels, etc…)
- Resistência DoS de protocolos fora da cadeia
e muito muito mais….
Aqui está o video completo, enjoy: