- A Ethereum Foundation alerta que a reprecificação do gás do Glamsterdam pode causar a falha de alguns contratos inteligentes sem atualizações dos desenvolvedores.
- EIP-8037 e EIP-8038 aumentarão e padronizarão os custos de gás para criação e acesso ao estado em toda a ethereum.
- Desenvolvedores podem testar contratos em redes de desenvolvimento Glamsterdam, enquanto carteiras e provedores RPC devem atualizar a estimativa de gás para o novo cronograma.
Desenvolvedores de ethereum face novas regras de gas na próxima atualização Glamsterdam, com alguns contratos potencialmente falhando sem alterações. A Ethereum Foundation afirmou que os EIP-8037 e EIP-8038 alterarão os custos de criação e acesso ao estado. A maioria dos contratos permanece inalterada, enquanto desenvolvedores que usam suposições de gas hardcoded podem precisar de atualizações antes que a reprecificação alcance o mainnet.
Glamsterdam altera os custos de gás do ethereum
Os dois EIPs visam como o Ethereum cobra operações de estado em toda a rede. O EIP-8037 aumenta e padroniza os custos para criar contas, slots de armazenamento e bytecode implantado.
Enquanto isso, a EIP-8038 aumenta os custos para acessar o estado existente, incluindo SLOAD, SSTORE e acesso a contas frias. Ela também altera os custos para as operações EXTCODESIZE e EXTCODECOPY.
De acordo com a Ethereum Foundation, essas alterações refletem a carga de trabalho medida das operações no estado maior da Ethereum. Os preços de gas para essas operações mudaram pela última vez durante a atualização Berlin de 2021.
Notavelmente, os aumentos recentes no limite de gás aceleraram o crescimento do estado. O novo modelo de precificação utiliza um alvo de desempenho que suporta aproximadamente três vezes mais throughput base.
Alguns contratos inteligentes poderão falhar
A Ethereum Foundation reproduziu transações históricas do mainnet usando o cronograma de gás proposto. A maioria das transações produziu o mesmo resultado sob as novas regras de precificação. No entanto, um grupo menor apresentou resultados diferentes após a reprecificação.
Algumas transações ainda foram bem-sucedidas, mas utilizaram quantias diferentes de gas. Outras falharam apenas porque seus limites originais de gas se tornaram insuficientes. Desenvolvedores podem resolver esses casos aumentando o limite de gas fornecido.
Um grupo menor pode permanecer interrompido apesar de limites substancialmente mais altos. Esses contratos muitas vezes dependem de suposições fixas de gás em seu código. Exemplos incluem os valores de transferência e envio de 2.300 gás do Solidity.
Valores de chamada hardcodificados, verificações de gasleft() e limites de gás fixos também podem criar problemas. A Fundação disse que as equipes por trás dos contratos mais afetados já estão recebendo contato direto.
Desenvolvedores podem testar antes do mainnet
Desenvolvedores que mantêm contratos Layer 1 podem pesquisar no banco de dados de contratos afetados usando o endereço do contrato. A ferramenta identifica os tipos de falha e a reposicionamento responsável por cada problema.
A Fundação também aconselhou os desenvolvedores a testarem as correções na testnet Platåberget, conhecida como glam-devnet-8. Desenvolvedores de carteiras e RPC devem atualizar a estimativa de gás para refletir o novo cronograma.
Constantes de gás em cache poderiam subestimar os custos das transações e causar falhas. Usuários comuns não precisam tomar nenhuma ação, pois carteiras e infraestrutura atualizadas lidarão com as alterações.
A reposicionação de preços já está ativa nos devnets e será movida para testnets públicas antes da ativação no mainnet.


