Buterin propõe função para Constantinople Ethereum que permitiria vetor de ataque

O co-fundador do Ethereum (ETH), Vitalik Buterin, propôs uma nova função para criação de novos contratos inteligentes chamada “Create2.” A função supostamente permitiria um novo vetor de ataque para a plataforma, segundo um post publicado em 8 de fevereiro no fórum de desenvolvedores de Ethereum, Ethereum Magicians.

De acordo com um post da Medium do desenvolvedor de software Tim Cotten, a função criada originalmente gerava um novo contrato em um endereço que é calculado (através de uma função hash) com o endereço do criador e um número randômico (nonce) associado a ele. Já o Create2, por outro lado, faria o mesmo, mas com a diferença de que o contrato é criado em um endereço que poderá ser determinado de antemão pelas diferentes partes.

Na página do GitHub dedicada a essa proposta de melhoria de Ethereum (Ethereum Improvement Proposal - EIP), EIP-1014, a motivação para a nova funcionalidade é descrita como uma habilidade que permite uma interação com um contrato ainda inédita em blockchain.

Mais especificamente, essa EIP permitiria interações "com endereços que ainda não existem na cadeia ainda mas podem ser confiado para  eventualmente conter códigos”. Essa EIP já foi aprovada e está planejada ganhar desenvolver uma rede principal na próxima hard fork da Constantinople, de acordo com o post do blog da ConsenSys.

Por outro lado, o cientista chefe da startup de blockchain Indorse, Rajeev Gopalakrishna, sugeriu que a implementação da Create2 na Ethereum pode ter implicações de segurança na plataforma. De acordo com ele, a Create2 necessita de contratos inteligentes que permitam mudança de indereço depois de sua implantação.

Gopalakrishna diz que em algumas circunstâncias o uso dessa função pode permitir que um contrato inteligente benigno possa ser substituído por um potencialmente malicioso. Jason Carver, engenheiro de staff senhor na Ethereum Foundation, explicou que acredita que será possível utilizar Create2 para substituir um contrato inteligente autodestrutível por um novo.

Gopalakrishna também declarou:

“Isso não muda uma das maiores invariantes assumida pelos usuários de hoje e introduz um vetor de ataque potencialmente sério com a CREATE2 ? Isso não significa que qualquer contrato pós-Constantinople com uma função autodestrutível em seu código possa ser mais suspeita do que anteriormente?”

Ainda assim, o desenvolvedor Noel Maersk disse que a função de "self-destruction" por si só não é suspeita. De acordo com ele, o que poderia ser visto como suspeito nos contratos de blockchain equipados com Create2 é um código incial não determinístico, já que ele prevê o código que o contrato recém-gerado conteria.

Desta forma, um contrato malicioso poderia ficar na espera de interações pré-aprovadas, o que daria aos atacadores, por exemplo, a possibilidade de roubar alguns tokens. Além disso, Carver denota que “parece que vários contratos de desenvoledores não percebem que os novos contratos poderão ser trocados de lugar depois" da implementação desta atualização.

Como a Cointelegraph recentemente noticiou, os desenvolvedores principais da Ethereum (ETH) adiaram a decisão de implementar um algorítimo ProgPoW de proof-of-work (PoW) resistente a um circuito integrado específico para aplicações (ASIC) até que uma terceira parte tenha auditado o algorítimo.

Além de implementar a Create2, a próxima hard fork da Constantinople é também aguardada para adiar a chamada “difficulty bomb” e oferecer a chamada “thirdening”: uma redução das recompensas de cada bloco de mineração de 3 para 2 ETH.