Share this article

EVM 2.0: Por dentro da corrida para substituir o coração do Ethereum

A máquina virtual que permite ao Ethereum calcular tudo de forma descentralizada está passando por uma grande reformulação.

No coração do Ethereum está um computador virtual.

Armazenada em dezenas de milhares de nós que compõem a plataforma, a máquina virtual Ethereum , ou EVM, é responsável por executar os inúmeros tokens, dapps, DAOs e digital kittens dos quais o blockchain é composto.

STORY CONTINUES BELOW
Don't miss another story.Subscribe to the Crypto Daybook Americas Newsletter today. See all newsletters

É um mecanismo sobre o qual todo o Ethereum opera e fala em uma linguagem chamada "bytecode EVM" — sequências brutas de informações de 256 BIT que podem fornecer qualquer equação concebível (desde que esteja dentro do limite autoimposto pela plataforma, GAS).

Parece poderoso e importante, hein? Algo com que não se deve mexer muito?

No entanto, essa parte integrante da infraestrutura do Ethereum está se preparando para uma reformulação completa.

"Eu diria que T houve uma quantidade enorme de design thinking colocada nisso no começo", disse Lane Rettig, um desenvolvedor de Ethereum , ao CoinDesk sobre o EVM. "Era como uma ferramenta — um canivete suíço é como eu o descreveria — ele faz um monte de coisas, mas não incrivelmente bem."

Dessa forma, a EVM atual será substituída por uma nova máquina virtual chamada eWASM.

EWASM é apenas a versão do código WASM (que significa WebAssembly) do Ethereum, criado pelo World Wide Web Consortium (W3C), a equipe de desenvolvedores responsável por manter e padronizar a web.

"Há muitos engenheiros muito bem pagos e experientes, e muitos milhares de horas de engenharia profissional que foram investidas na concepção do conjunto de construção [WASM] — em comparação com o EVM", disse Rettig, que contribui para o desenvolvimento do eWASM.

De fato, o eWASM permitirá que os desenvolvedores codifiquem em diversas linguagens de programação — não apenas na linguagem específica do Ethereum, Solidity — e também deve vir com uma série de melhorias de desempenho.

E dando credibilidade à decisão, o Ethereum se juntará a vários concorrentes, incluindo EOS, TRON e Cardano, que implantaram (ou planejam implantar) máquinas virtuais específicas do projeto para lidar com computação descentralizada usando o código WASM.

Para Ethereum, a troca está definida para ser executada junto com algumas outras atualizações agora apelidadas de "Shasper", que incluem dimensionamento de sharding de solução e reescrita de mineração Casper, nos próximos anos. E embora um cronograma exato para a troca T esteja definido, o desenvolvimento do eWASM está progredindo rapidamente e está se preparando para o lançamento de sua testnet na Devcon 4, a conferência de desenvolvedores do Ethereum , em Praga, em outubro.

Falando sobre a decisão de substituir a máquina existente, Rettig resumiu:

"O Ethereum está no ponto em que está passando de um trabalho desajeitado, feito em casa e personalizado, que andávamos pela FARM , para um verdadeiro carro de corrida que podemos levar para a estrada e abrir."

Uma maneira 'verrucosa'

Por trás da mudança está a percepção de que, embora o EVM seja uma Tecnologia inovadora — pela primeira vez, fornecendo uma solução para computação descentralizada resistente a ataques — ela não é tão limpa quanto poderia ser.

Um exemplo disso é que a maioria dos desenvolvedores de dapps programam no Solidity da Ethereum, uma linguagem de programação de alto nível que é compilada automaticamente em um formato compatível com bytecode EVM.

Como a EVM depende de "instruções muito grandes e amplas", disse Rettig, até mesmo os menores tipos de cálculos, como aritmética básica, precisariam ser convertidos em sequências de 256 BIT — um processo complexo para matemática simples — para que a EVM os processe.

Esta é apenas uma das várias operações incorporadas ao código do sistema que Rettig afirma que T deveriam estar lá. Outra inclui a popular função hash SHA-3.

Por isso, Rettig descreve a EVM como "verrucosa".

E Nick Johnson, um desenvolvedor CORE do Ethereum , concordou, dizendo ao CoinDesk que quando ele se juntou ao Ethereum, ficou imediatamente óbvio para ele que o EVM foi construído por desenvolvedores com um profundo conhecimento de ciência da computação, mas sem muita experiência na construção de produtos amplamente utilizáveis.

Como ferramenta, enfatizou Johnson, o EVM foi "otimizado para pureza teórica, em vez de uso prático".

"Ele tem esses registros enormes, mas são todos iguais, e é muito consistente internamente e assim por diante", disse ele, "mas não foi construído com implementação no mundo real em mente".

'Mais perto do metal'

O código WASM, por outro lado, foi criado com a produção em mente.

Para ONE, disse Rettig, ele é construído "mais próximo do metal", o que significa que o código que ele executa é próximo das instruções reais do hardware, então há menos esforço gasto na tradução de diferentes lógicas de codificação.

"As instruções imitam muito de perto as instruções reais de hardware", continuou Rettig. "Essas instruções podem mapear um para um diretamente para as instruções que os dispositivos reais executam, então você pode, em teoria, obter melhorias de desempenho bem interessantes."

Por exemplo, desenvolvedores que criam no Ethereum poderão codificar usando diversas linguagens – qualquer uma com a qual se sintam mais confortáveis ​​– incluindo aquelas com benefícios de segurança adicionais.

Outra vantagem importante — que Rettig disse que alguns desenvolvedores estão citando como a "principal motivação por trás do eWASM" — é que ele potencialmente elimina o que é chamado de "pré-compilação".

Como o EVM é composto de código pesado, certas operações precisam ser construídas dentro do sistema — caso contrário, as operações excederiam os custos de GAS associados a elas. Chamadas de pré-compilações, para tornar tais operações disponíveis em uma rede, uma atualização de todo o sistema, ou hard fork, é necessária; e tais atualizações provaram ser arriscadas e complicadas de orquestrar.

Com o eWASM, porém, os desenvolvedores afirmam que as operações podem ser simplesmente escritas como contratos inteligentes e implantadas, ignorando o cenário de hard fork.

"Com o eWASM, ele é eficiente o suficiente para fazer coisas de computação, de modo que a maioria dessas pré-compilações poderia ser eliminada e substituída apenas por contratos eWASM", disse Johnson.

Coração partido

Ainda assim, como qualquer mudança substancial em um ecossistema descentralizado, a pressão para descontinuar o EVM não está isenta de críticas.

Por um ONE , o desenvolvedor CORE do Ethereum, Greg Colvin, que se dedica à manutenção do EVM há anos, está relutante em deixar o código antigo de lado.

Colvin estava projetando uma versão recém-melhorada do código EVM, chamada EVM 1.5, que originalmente pretendia ser o futuro da máquina virtual Ethereum . No entanto, sem aviso, seu financiamento foi cortado pela Ethereum Foundation, uma organização sem fins lucrativos.

“Fiquei chateado”, disse Colvin, que ajudou a formar oConselho de Magos Ethereum, um grupo de discussão dedicado a promover a proficiência técnica do Ethereum, após a experiência, disse ao CoinDesk. "Eu pensei, espere um minuto, você T vai me pagar US$ 8,40 por hora quando você já diminuiu minhas horas de 35 para 20, então por que estou fazendo isso? E então, pelo resto do ano, eu não poderia mais me dar ao luxo de ser voluntário."

No entanto, a razão de Colvin para se opor ao aWASM T é apenas orgulho.

Segundo ele, há problemas técnicos com o eWASM também. Por exemplo, como o eWASM permite suporte a vários idiomas, o código depende muito do que é conhecido como "compiladores" — algo que Colvin afirma que pode ser um ponto único de falha para invasores.

Ele também não está convencido de que os contratos inteligentes eWASM possam substituir a necessidade de pré-compilações.

Além disso, Colvin tem mais críticas orientadas ao design com as quais até Rettig concorda. De acordo com ambos os desenvolvedores, por algum motivo, tecnologias mais ineficientes geralmente vencem. Veja o Javascript, por exemplo, que é uma das linguagens de programação mais amplamente usadas, mas é conhecida por ser particularmente feia.

"Parece haver um padrão na Tecnologia e na ciência da computação em que as coisas mais bem projetadas não só não necessariamente WIN, como também parecem não ter um desempenho muito bom", argumentou Rettig.

Sem mencionar que, de acordo com Colvin, apesar de todo o trabalho de desenvolvimento por trás do WASM, o código ainda é relativamente pouco testado na prática.

Colvin disse ao CoinDesk:

"Eu T entendia por que queríamos ser os primeiros a adotar um experimento, quando já éramos os primeiros a adotar nosso próprio experimento."

Imprevisibilidade

Deixando os conflitos de lado, o eWASM está ganhando força entre muitos desenvolvedores de Ethereum .

De fato, o plano é implantá-lo como uma rede de testes antes da conferência de desenvolvedores Ethereum , Devcon4, em novembro.

No entanto, isso T significa que a nova máquina virtual será implantada tão cedo.

Como o eWASM será primeiro lançado em um shard, ou sidechain, antes de substituir o próprio EVM, a implementação do eWASM está intimamente ligada à atualização do Shasper. E em termos de tempo, isso significa que os desenvolvedores precisarão atender à pesquisa que sustenta essas mudanças, antes de passar para o eWASM.

Infelizmente, o progresso dessa pesquisa pode ser imprevisível.

De fato, a ambiguidade envolvida com atualizações de código desse tipo tem sido uma fonte de confusão para um amplo grupo de desenvolvedores de Ethereum que estão construindo na plataforma.

"Se você está no processo de construção de um novo cliente, há muita confusão: Devo construir eWASM? Devo construir EVM? Devo construir ambos? Devo construir outra coisa", disse Rettig ao CoinDesk.

A falta de clareza foi uma das principais frustrações de Colvin, porque, quando se trata do EVM atual, há alguns problemas de desempenho que seriam fáceis de melhorar, mas que foram deixados de lado pela mudança repentina no roteiro.

"Foi uma frustração minha por um tempo, o eWASM estava claramente no horizonte, mas sem muitos recursos o EVM 1.5 estava no horizonte NEAR . E agora, ainda é factível, mas foi adiado, um ano inteiro foi desperdiçado", disse Colvin ao CoinDesk.

Quanto mais, melhor?

Ainda assim, tanto Rettig quanto Colvin admitem que essa incerteza é apenas parte da contribuição para um projeto de código aberto sem nenhuma liderança central.

"O aspecto comunitário é muito importante. Se isso fosse uma empresa, eu já teria ido embora há muito tempo", disse Colvin ao CoinDesk.

Além disso, Rettig foi QUICK em argumentar que, quando se trata de melhorias no Ethereum , não há trabalho desperdiçado.

De fato, ele continuou, devido à natureza da atualização de fragmentação — que divide o Ethereum em pedaços menores e mais gerenciáveis ​​— várias máquinas virtuais poderiam eventualmente ser suportadas no Ethereum.

Sobre uma atualização do Ethereum, Rettig disse: "Não existe um único Ethereum, não existe um único roteiro, não existe uma única autoridade, é uma comunidade, é uma família de tecnologias, e não acredito que o futuro seja apenas uma cadeia para governar todas elas."

Em linha com isso, o eWASM também desbloqueará novos níveis de interoperabilidade. Para ONE, ele é construído em uma linguagem que foi padronizada para a World Wide Web, então adicionar suporte no navegador para um cliente Ethereum light seria trivial.

E também pode abrir caminho para uma interoperabilidade ainda não descoberta entre diferentes blockchains.

"Talvez você tenha fragmentação quadrática aqui, e Plasma aqui, e talvez eles se sobreponham em alguns lugares, e talvez tenhamos uma cadeia Dfinity se comunicando com uma cadeia Ethereum se comunicando com Bitcoin por meio do Cosmos e do Polkadot", disse Rettig, sugerindo:

"Nós simplesmente T sabemos, então T fique tão preso ao roteiro canônico oficial, seja ele qual for."

Coração de papelimagem via Shutterstock

Rachel-Rose O'Leary

Rachel-Rose O'Leary é uma codificadora e escritora na Dark Renaissance Technologies. Ela foi redatora de tecnologia líder para a CoinDesk 2017-2018, cobrindo tecnologia de Política de Privacidade e Ethereum. Ela tem formação em arte digital e filosofia, e escreve sobre Cripto desde 2015.

Rachel-Rose O'Leary