Ethereum Transactions May Seem Successful, But Hidden Issues Persist: New Fix Proposed
Discover how a new Geth developer proposal aims to fix broken gas estimates in Ethereum, improving transaction success and wallet reliability.

Understanding Ethereum Transaction Complications
Ethereum users may find that while their transactions on the blockchain appear to be successful, there could be underlying complications that undermine the intended results. A Geth developer recently brought attention to this issue in a proposed patch available on GitHub (draft pull request #36084). This fix aims to rectify the gas estimation problems that can arise from omitted failed internal calls—instances where one smart contract communicates with another and may fail to execute properly.
Impact of Internal Call Failures
When these failures occur, the transaction may technically finish without error, yet the anticipated outcome for the user might not materialize. The crux of the matter lies in how smart contracts handle errors: when a contract encounters an issue during an internal call, it can catch that error and either issue a refund, document the failure, or skip over a certain action altogether—leading users to mistakenly believe that their intended action has successfully executed.
Gas Limit Challenges
This issue could lead wallets to suggest gas limits that cover the transaction itself, but fall short in addressing the necessary internal operations needed to fulfill the user's requests. The developer has flagged that the upcoming EIP-8037 proposal could exacerbate this situation, as it allows gas from failed operations to be reused, potentially complicating gas estimates further.
Proposed Solutions in the Patch
The developer's patch proposes a more rigorous standard for determining success in gas estimates. This revised version of Geth will start counting failed internal calls and contract creations in its calculations instead of simply verifying whether the overall transaction has completed. If a transaction does finish, its estimate may still be rejected if it registers more failures than a baseline execution conducted with more ample gas limits.
However, the developer cautioned against allowing a singularly failing internal call to continually inflate the gas estimate. The established reference execution aims to filter out existing failures while ensuring that new ones caused by insufficient gas are tightly regulated. Additionally, a new Amsterdam reference is included in this proposal, effectively curbing unnecessary increases in gas limits that do not stem from genuine needs.
Testing and Expected Outcomes
To validate the approach taken in this patch, the developer conducted thorough testing on 432 mainnet transactions following the Amsterdam update's guidelines, noting that 64 out of 67 problematic instances were rectified using the new rules, resulting in a 4% rise in gas limits. Meanwhile, 254 other estimates remained unchanged due to the absence of the initial problem, and only three cases went unidentified.
Conclusion
This proposed enhancement is expected to bolster the reliability of wallet estimates for average users and mitigate transactions that, while appearing to complete, do not achieve the desired outcomes. Fortunately, higher gas limits do not necessarily correlate with increased transaction fees, offering some reassurance to investors.
Also in other languages: РусскийDeutschFrançaisItalianoEspañol