The Shortcomings of Existing Blockchains: Ethereum

4ª postagem em uma série sobre a lógica por trás de Themelio

(Eric (Yuhao Dong)) (31 de agosto de 2020)

Um computador distribuído com confiança endógena

Quando Ethereum foi lançado pela primeira vez em 2015, ele pretendia ser um blockchain radicalmente diferente do Bitcoin. Em vez de implementar um único aplicativo, o Ethereum pretende ser o equivalente a um sistema operacional para aplicativos endogenamente confiáveis, ou “dApps” (aplicativos descentralizados). Essa funcionalidade é alimentada por uma linguagem Turing-complete (EVM) para programas incorporados em blockchain, ou “contratos inteligentes”, que podem acessar e armazenar estados arbitrários dentro do blockchain. Ethereum é efetivamente um “computador mundial” que qualquer pessoa pode usar sem confiança.

Nos anos subsequentes, uma ampla variedade de aplicativos Ethereum foi desenvolvida, incluindo novas criptomoedas como Dai , plataformas de apostas descentralizadas como Augur , e até mesmo colecionáveis ​​virtuais como criptoquites. O mais interessante é que surgiu um ecossistema de finanças descentralizadas on-chain (DeFi), com mercados de capitais cada vez mais líquidos acessíveis a qualquer pessoa com uma conexão de rede. A segurança de todos esses aplicativos depende da confiança endógena que o Ethereum fornece.

Infelizmente, essa confiança está um tanto deslocada. A confiança endógena de Ethereum sofre de problemas semelhantes, talvez piores, em comparação com a do Bitcoin.

A complexidade prejudica a confiança

Em seu white paper , o criador Vitalik Buterin articulou a visão do Ethereum como uma plataforma “simples” sem “recursos” com base em uma linguagem de contrato inteligente simples (EVM) que “qualquer programador médio pode implementar”. No entanto, hoje Ethereum é um sistema extremamente complexo com uma implementação de referência de quase um milhão de linhas de código. Tal complexidade exige manutenção constante e mudanças frequentes. No entanto, qualquer atualização de protocolo de quebra de consenso (ou “hard forks”) em blockchains implica uma substituição de confiança endógena por confiança no desenvolvedor de protocolo externo. Em agosto de 2020, a tabela a seguir lista todas as vezes que o protocolo Ethereum foi “hard bifurcado”.

Conforme evidenciado acima, o modelo de Ethereum de um sistema operacional dApp complexo necessita de contornar a confiança endógena frequente.

De forma mais alarmante, os desenvolvedores e a comunidade de Ethereum simplesmente carecem de um crença na importância da confiança endógena. Na verdade, Vlad Zamfir, um desenvolvedor do Ethereum, escreveu um (bem conhecido post de blog) argumentando contra a “lei de Szabo”, que é a ideia de que os blockchains não devem ser atualizados, a menos que por razões críticas e não controversas. No mesmo post, Zamfir também afirma que a intervenção externa em um blockchain é uma forma legítima de “cripto-lei”.

Sem surpresa, a combinação de complexidade de protocolo e indiferença social em relação à confiança endógena levou a violações grosseiras de confiança endógena que perturbou significativamente o ecossistema. O exemplo mais conhecido disso é o “resgate DAO” de 2016.

Um estudo de caso: o resgate DAO

Em 17 de junho de 2016, uma vulnerabilidade no fornecimento de energia por contrato inteligente O DAO, um dos aplicativos Ethereum mais populares na época, foi explorado de forma maliciosa. O invasor roubou uma quantidade sem precedentes de mais de 3,6 milhões de ETH – quase 5\% de toda a ETH existente – do contrato.

A comunidade Ethereum irrompeu em um debate acalorado sobre o que fazer a respeito do ataque. Eventualmente, uma votação de moeda em cadeia foi realizada em curto prazo em 15 de julho de 2016. 87\% votaram a favor de um hard fork para reverter o ataque e reembolsar os investidores no DAO, embora apenas 5,5\% de todos os ETH pendentes tenham aparecido em o voto. Quatro dias depois, uma nova versão do Ethereum foi lançada que executou o hard fork.

Este fork DAO altamente controverso subvertia completamente a imutabilidade, uma propriedade de segurança blockchain crucial. Uma parte da comunidade Ethereum continuou a reconhecer o histórico de transações original da Ethereum, formando um blockchain separado conhecido como Ethereum Classic. Tal como aconteceu com a bifurcação do Bitcoin em 2017 em Bitcoin e Bitcoin Cash, os usuários acabaram tendo que decidir fora da banda em qual bifurcação confiar, enquanto os desenvolvedores de aplicativos tiveram que lidar com o solo por baixo de seus aplicativos que de repente se dividiram em dois.