Geth wijzigt schatting gas voor mislukte Ethereum-transacties in concept
Een conceptwijziging voor Geth wil gasramingen op Ethereum beter maken door mislukte interne contractaanroepen mee te tellen. In een test corrigeerde het voorstel 64 van 67 gevallen met een gastekort.
Wat er gebeurde
De wijziging is een conceptvoorstel van Spencer Taylor-Brown, gedateerd 8 november. Het richt zich op eth_estimateGas, de methode die schat hoeveel gas een transactie nodig heeft.
Momenteel kan die methode een mislukte interne stap binnen een smart contract missen als het contract de fout opvangt en de transactie toch laat voltooien. De afzender ziet dan een voltooide transactie zonder het verwachte resultaat.
Het Geth-concept telt voortaan mislukte interne calls en contractcreaties mee bij het zoeken naar een geschikte gaslimiet. Het vergelijkt elke kandidaatlimiet met een referentie-uitvoering met meer gas en verwierpt een kandidaat die meer interne fouten oplevert. Een call die in beide runs faalt, leidt niet automatisch tot een hogere raming.
Taylor-Brown voerde een replay uit van 432 Ethereum-mainnettransacties volgens de voorgestelde Amsterdamregels. Van 67 geïdentificeerde ramingen die een geneste call te weinig gas gaven, corrigeerde de wijziging 64 gevallen. De mediaan van de aanbevolen gaslimiet steeg met 4 procent in die gecorrigeerde gevallen. Bij 254 tests bleef de raming ongewijzigd. De drie niet-gerepareerde gevallen betroffen contracts die werk oversloegen na controle van het resterende gas, zonder dat een interne call faalde.
De 4 procent slaat op de verandering in aanbevolen gaslimieten voor de gecorrigeerde gevallen, niet op de daadwerkelijke transactiekosten. De gaslimiet stelt een bovengrens voor verbruik. De fee in ETH hangt af van het werkelijk gebruikte gas en de prijs per eenheid.
Het probleem bestaat al onder de huidige Ethereum-regels. EIP-8037 zou gas voor uitvoering en staatcreatie apart meten. De refundgedrag van EIP-8037 kan volgens de bedenker van het voorstel dit soort interne gastekorten vaker maken.
De Ethereum Foundation heeft de Hoodi-activatie van Glamsterdam uitgesteld zodat ontwikkelaars contractrisico's rond EIP-8037 en EIP-8038 kunnen onderzoeken. Een ontwikkelaar reageerde positief op het Geth-voorstel en zei dat hij het in een teamtriage zal bespreken.
Op 10 november om 04:22 uur ET stonden de Geth-wijziging en een begeleidend concept voor de Ethereum Execution API nog als voorstellen. Er is geen datum voor uitrol aangekondigd.
Waarom dit telt
Voor beleggers in ETH en gebruikers van het netwerk kan dit voorstel de betrouwbaarheid van gasramingen verbeteren. Dat kan minder verrassende transactieresultaten en meer accurate gaslimieten opleveren, zonder directe informatie over kosten of prijsimpact.
Waar je op kunt letten
- Of het Geth-voorstel en de companion draft worden goedgekeurd en uitgerold
- Ontwikkelingen rond EIP-8037 en EIP-8038 en mogelijke effecten op contractgedrag
- Of implementatie het aantal transacties met onverwachte uitkomsten vermindert