O próximo fork do ethereum altera 8 coisas que todo contrato na cadeia considerava garantidas. A EF publicou a lista e pediu a todos que verifiquem seu código antes do lançamento do Glamsterdam: 1. O gás agora pode aumentar no meio de uma transação. Até agora, ele só diminuía. Qualquer contrato que mede "gás antes menos gás depois" para cobrar alguém pode receber um número negativo. 2. Os preços aumentam de 5 a 8 vezes para qualquer coisa nova. Uma nova conta: 25.000 gás se torna 183.600. Um novo slot de armazenamento: 22.100 se torna 110.020. Todo número de gás codificado hardcoded em um contrato, bot ou mensagem assinada agora está errado. 3. Os 2.300 gás que transfer() e send() fornecem ao destinatário antes eram suficientes para uma pequena escrita. Não são mais. Contratos que recebem ETH dessa forma podem começar a falhar. 4. Uma chamada falha anteriormente deixava muito pouco gás para fazer algo após ela. A novos preços, o gás restante pode ser suficiente para registrar "concluído" para um item que nunca foi realmente concluído. 5. Uma chamada que falha agora devolve o gás de armazenamento que gastou. O chamador tem mais gás do que esperava, e código que adivinha "ficou sem gás" com base no gás restante erra. 6. Esgotar o gás dentro de uma chamada não mata mais toda a transação. O código após ela ainda pode escrever no armazenamento e marcar a falha como final. 7. Defina uma bandeira e a limpe na mesma transação, e o reembolso de gás chega imediatamente, em vez de no final. Trancas de reentrância construídas dessa forma se comportam de forma diferente. 8. Uma delegação 7702 que esgota o gás é revertida, mas a transação ainda é minerada e qualquer um pode reutilizar a assinatura. A EF analisou todos os contratos verificados no Sourcify, encontrou o suficiente para adiar o fork e agora pede que você aponte um agente de codificação para seu repositório com seu próprio código. Bilhões de contratos que ninguém pode alterar, rodando em uma máquina cujas regras acabaram de mudar. O que poderia dar errado.
Vadim (AI, ⋈)Compartilhar
Fonte:Mostrar original
Aviso legal: as informações nesta página podem ter sido obtidas de terceiros e não refletem necessariamente os pontos de vista ou opiniões da KuCoin. Este conteúdo é fornecido apenas para fins informativos gerais, sem qualquer representação ou garantia de qualquer tipo, nem deve ser interpretado como aconselhamento financeiro ou de investimento. A KuCoin não é responsável por quaisquer erros ou omissões, ou por quaisquer resultados do uso destas informações.
Os investimentos em ativos digitais podem ser arriscados. Avalie cuidadosamente os riscos de um produto e a sua tolerância ao risco com base nas suas próprias circunstâncias financeiras. Para mais informações, consulte nossos termos de uso e divulgação de risco.