Ethereum adia upgrade Glamsterdam após surgirem oito riscos em contratos inteligentes

ETH
Atualização Glamsterdamrisco em contratos inteligentestestnet HoodiChainSecurityprecificação de gasEthereumEIP-8037
há 2 horasFonte: crypto.news
Ethereum adia upgrade Glamsterdam após surgirem oito riscos em contratos inteligentes

Os desenvolvedores do Ethereum adiaram a atualização Glamsterdam na testnet Hoodi depois que pesquisadores de segurança identificaram oito premissas existentes de contratos inteligentes que poderiam se tornar inválidas sob as mudanças propostas na contabilização de gas.

Resumo

  • Os desenvolvedores do Ethereum adiaram a atualização Glamsterdam na testnet Hoodi depois que a ChainSecurity identificou oito premissas de contratos inteligentes que poderiam se tornar inválidas sob as mudanças propostas no gas.
  • As EIP 8037 e EIP 8038 mudariam como o Ethereum cobra gas por determinadas operações, potencialmente afetando contratos existentes que dependem de custos fixos de gas ou de condições específicas de falha de transação.
  • A Ethereum Foundation pediu aos desenvolvedores e auditores que revisem os projetos afetados e relatem possíveis problemas antes que os desenvolvedores principais decidam se mudanças nas especificações da atualização são necessárias.
  • O hard fork da Hoodi permanecerá em espera até que as preocupações identificadas sejam resolvidas, enquanto o desenvolvimento da atualização subsequente do Ethereum, Hegota, continua sem interrupção.

Em uma postagem de blog de 6 de novembro, a Ethereum Foundation disse que a empresa de auditoria ChainSecurity havia identificado vários projetos que poderiam se tornar vulneráveis assim que as EIP-8037 e EIP-8038 entrarem em vigor.

Ambas as propostas mudam como o Ethereum cobra gas por determinadas operações, particularmente aquelas envolvendo a criação e o acesso ao estado da blockchain. Alguns contratos existentes dependem de custos fixos de gas ou de premissas sobre quanto gas resta após uma operação falhar.

As descobertas levaram o grupo All Core Developers (ACD) do Ethereum a adiar o hard fork da Hoodi até que as preocupações de compatibilidade sejam resolvidas.

Os desenvolvedores agora estão examinando se os contratos afetados podem ser atualizados de forma independente ou se mudanças nas especificações da atualização são necessárias.

A atualização Glamsterdam do Ethereum enfrenta oito preocupações de compatibilidade

As preocupações de segurança foram detalhadas em uma análise de 13 de outubro da ChainSecurity, que examinou como o Glamsterdam poderia mudar o comportamento de contratos que continuam executando após uma chamada externa falhar.

Sob as regras existentes do Ethereum, alguns contratos dependem de uma operação falha deixar gas insuficiente para que as instruções subsequentes sejam concluídas. A contabilização revisada do Glamsterdam poderia permitir que determinadas operações fossem concluídas mesmo quando os desenvolvedores originalmente esperavam que toda a transação fosse revertida.

A ChainSecurity alertou que tal comportamento poderia interferir em salvaguardas projetadas para impedir que transações falhas fossem registradas permanentemente ou que operações legítimas perdessem suas opções de nova tentativa.

Um exemplo envolve contratos que marcam uma operação como malsucedida depois que uma chamada externa fica sem gas. Sob as novas regras, gas anteriormente indisponível poderia se tornar acessível novamente, permitindo que o contrato registrasse uma falha permanente.

A Ethereum Foundation publicou um repositório no GitHub documentando oito invariantes afetados, com explicações, exemplos e instruções para os desenvolvedores examinarem seu próprio código.

Entre os riscos identificados estão contratos que assumem que o consumo de gas só pode se mover em uma direção, que permissões fixas de gas permanecerão suficientes, ou que chamadas revertidas não podem devolver gas já gasto na criação de estado.

O repositório identifica orçamentos fixos de gas e reservas de gas como os problemas mais comuns encontrados até agora, particularmente em contratos que dependem de custos de transação predeterminados.

Os desenvolvedores foram solicitados a revisar tanto os contratos on-chain quanto os sistemas off-chain de suporte, incluindo carteiras, relayers e infraestrutura que possam conter limites de gas codificados de forma fixa.

Ativação na Hoodi permanece em espera enquanto as revisões de segurança continuam

As descobertas mais recentes fornecem mais detalhes por trás da decisão anterior do Ethereum de adiar a ativação na Hoodi, originalmente agendada para 26 de outubro às 17:42:48 UTC.

Como o crypto.news relatou anteriormente, o adiamento removeu tanto as ativações da camada de execução Amsterdam quanto da camada de consenso Gloas do cronograma da Hoodi, juntamente com um aumento planejado no limite de gas da testnet para 200 milhões.

Nenhuma nova data de ativação foi anunciada.

O desenvolvedor da Ethereum Foundation, Marius van der Wijden, disse que a organização está trabalhando com a ChainSecurity e a Dedaub enquanto realiza auditorias internas para avaliar os possíveis efeitos sobre as aplicações existentes.

A Fundação reconheceu que suas revisões não podem cobrir todos os projetos Ethereum, especialmente quando as vulnerabilidades podem envolver interações entre contratos inteligentes e infraestrutura fora da cadeia.

Por isso, solicitou aos desenvolvedores e auditores independentes que identifiquem as aplicações afetadas e enviem suas descobertas antes das próximas discussões do All Core Developers.

O repositório solicita detalhes dos contratos afetados, a invariante específica envolvida, possíveis correções e testes de suporte, quando disponíveis. Os relatórios podem ser enviados de forma privada para [email protegido].

Dependendo do feedback, os desenvolvedores poderão considerar ajustes nas EIP-8037 e EIP-8038 antes de prosseguir com a atualização.

O trabalho na atualização subsequente da Ethereum, Hegotá, continuará em paralelo e permanece inalterado pelo atraso do Glamsterdam, segundo a Fundação.

As mudanças de escalabilidade do Glamsterdam permanecem em teste

O Glamsterdam já havia sido ativado na testnet Sepolia em 6 de outubro, quando os desenvolvedores começaram a examinar suas mudanças de escalabilidade sob um limite de 200 milhões de gas.

A atualização introduz a separação consagrada entre proponente e construtor por meio da EIP-7732, que traz as responsabilidades de construção de blocos para o protocolo de consenso da Ethereum.

Outro componente importante, a EIP-7928, introduz listas de acesso em nível de bloco projetadas para ajudar os clientes a processar dados de transações com mais eficiência e oferecer suporte à execução paralela.

A reprecificação do gas forma outra parte da atualização. A EIP-8037 altera o custo de criação de novo estado da blockchain, enquanto a EIP-8038 ajusta as cobranças para acesso ao estado existente.

Em uma avaliação técnica de agosto, a Ethereum Foundation disse que as reproduções de transações históricas mostraram que a maioria dos contratos inteligentes permaneceu inalterada pelas mudanças de preços propostas.

Um grupo menor, no entanto, exigiu limites de gas mais altos ou modificações mais substanciais para evitar falhas inesperadas.

Separadamente, os desenvolvedores integraram uma correção de depósito de validador em 26 de outubro, após identificar uma falha que poderia ter creditado depósitos de staking a construtores de blocos que compartilhavam a mesma chave pública.

A correção abordou uma questão separada envolvendo as mudanças de consenso Gloas do Glamsterdam, com testes de regressão adicionados às especificações antes que as implementações dos clientes incorporem o comportamento revisado.