há 8 horas

Desenvolvedores do Ethereum pedem avaliação de aplicativos sobre mudanças propostas nas taxas de gas do Glamsterdam

EIP-8037 state-gas rules force Ethereum dApps to rewrite billing

CryptoSlate

Os desenvolvedores principais do Ethereum estão buscando avaliações de equipes de aplicativos para determinar se as regras de gas propostas para o Glamsterdam precisam de mudanças. As auditorias internas dos desenvolvedores não conseguem examinar os contratos e serviços off-chain de todos os projetos. Marius van der Wijden pediu a verificação de oito premissas sobre gas em uma publicação de 6 de novembro no blog da Ethereum Foundation. A ChainSecurity e a Dedaub estão conduzindo investigações paralelamente às auditorias internas, enquanto os projetos são convidados a descrever possíveis correções.

A ativação planejada da Hoodi em 26 de outubro, junto com um aumento associado de 200 milhões no limite de gas, foi adiada em 22 de outubro. O apelo de 6 de novembro mantém o adiamento até que a questão seja resolvida, e os comunicados não definem uma data de ativação da rede principal. A EIP-8037 aumentaria as cobranças pela criação de dados persistentes na blockchain e contabilizaria o crescimento do estado separadamente da execução. A EIP-8038 mudaria as cobranças pelo acesso e pela gravação de dados de estado existentes. As propostas buscam aumentar a capacidade de processamento e, ao mesmo tempo, limitar os dados que os nós do Ethereum precisam manter. A estrutura de revisão abrange três premissas de precificação relacionadas a orçamentos e reservas fixos, além de cinco premissas contábeis relativas a gas devolvido, falhas, cobrança e delegação.

A entrada INV-5 da estrutura examina os cálculos de reembolso usados por relayers, que pagam os custos de transação de outros usuários. A EIP-8037 alocaria inicialmente gas a uma reserva separada de gas de estado para transações com limites de gas superiores a 16.777.216. A criação de estado consumiria essa reserva antes de recorrer ao gas de execução. A função gasleft() da Solidity não inclui a reserva, portanto comparações entre leituras podem deixar de contabilizar despesas pagas por relayers. Uma leitura posterior acima da inicial faria a subtração verificada reverter e impediria a operação. Já uma subtração sem verificação poderia resultar em um valor muito alto e potencialmente gerar reembolsos excessivos, dependendo de outros cálculos e salvaguardas de pagamento. Gastos não medidos da reserva também poderiam levar à cobrança insuficiente dos usuários e deixar os operadores pagando a diferença.

As orientações de cobrança recomendam estimar os custos segundo as regras propostas e obter um acordo de taxas assinado pelo usuário. Para sistemas que mantêm a medição, as orientações sugerem limitar o resultado da subtração e estabelecer um teto de pagamento assinado, embora as despesas cobertas pela reserva continuassem sem ser medidas. A proposta de especificação em aberto PR #12581 impediria que as leituras de gas aumentassem, resolvendo o problema da subtração sem eliminar os custos não medidos da reserva.

A entrada INV-8 examina a EIP-7702, que permite que contas autorizem código de contrato delegado. Pelas regras propostas, a insuficiência de gas antes da execução poderia deixar uma transação registrada em um bloco enquanto reverte a delegação e a atualização do nonce relacionada à autorização. Uma autorização exposta poderia então ser reutilizada se ainda passasse pelas verificações de validade, incluindo a verificação do nonce da conta que a autorizou. Um invasor poderia aplicar essa autorização e reivindicar a propriedade em uma única transação se o inicializador do contrato delegado permitisse que o primeiro chamador escolhesse o proprietário. A antecipação de autorizações já ocorre em mempools públicos, mas essa falha poderia expor uma autorização reutilizável após uma transação minerada, mesmo quando enviada de forma privada. As delegações aplicadas antes do quadro de execução de nível superior sobreviveriam a uma falha nesse quadro posterior; por isso, recibos de transações com falha exigem a verificação do código e dos nonces resultantes da conta. Entre as proteções sugeridas para carteiras estão exigir uma assinatura da conta ou uma chamada da própria conta para a inicialização e invalidar autorizações expostas. Uma mudança de protocolo sugerida cobraria antecipadamente o custo máximo da autorização, mas não foi adotada.

A criação de um slot de armazenamento frio custaria, no total, 110.020 unidades de gas segundo a proposta, em comparação com 22.100 no Osaka. O total proposto compreende 12.100 unidades de gas de execução e 97.920 unidades de gas de estado, sendo a reserva que determina qual saldo paga a parcela de gas de estado. Uma pesquisa da ChainSecurity publicada em 13 de outubro mostra que mudanças nas cobranças e no gas devolvido podem permitir que um contrato registre permanentemente uma operação sem fundos suficientes como malsucedida. Uma operação válida poderia se tornar impossível de repetir se esse registro eliminasse as tentativas seguintes. Verificar novamente os orçamentos, propagar as falhas e manter a possibilidade de novas tentativas abordam aspectos distintos do risco.

O repositório pergunta aos projetos afetados se mudanças de configuração, atualizações ou migrações poderiam resolver os problemas e, aproximadamente, quando as correções poderiam ser concluídas. As respostas dos projetos ajudarão os desenvolvedores a avaliar quanto trabalho de compatibilidade os aplicativos conseguem absorver e onde revisões das especificações poderiam evitar danos. Descrições específicas das falhas e das correções disponíveis orientarão as próximas discussões sobre as especificações.

This content is an AI-generated summary/analysis for informational purposes only and does not constitute investment advice.