Valid Points: Why EIP 1559 Makes Debugging Ethereum Dapps Harder
Ethereum Improvement Proposal (EIP) 1559 will be live on Ethereum tomorrow morning according to block time estimations.
Network stakeholders including decentralized application (dapp) developers and core developers came together on Friday, July 30, for a final coordination meeting over Zoom. During the meeting, developers discussed the long-term plan to resolve a recondite issue of EIP 1559 that makes debugging applications on Ethereum more difficult. More on what the issue is and why there’s not a clear solution to it yet in this week’s New Frontiers.
This article originally appeared in Valid Points, CoinDesk's weekly newsletter breaking down Ethereum 2.0 and its sweeping impact on crypto markets. Subscribe to Valid Points here.
The following is an overview of network activity on the Ethereum 2.0 Beacon Chain over the past week.
Disclaimer: All profits made from CoinDesk’s Eth 2.0 staking venture will be donated to a charity of the company’s choosing once transfers are enabled on the network.
New frontiers: Debugging the code
In order to maintain backward compatibility with wallets and blockchain services that facilitate transactions on Ethereum, the implementation of Ethereum Improvement Proposal (EIP) 1559 retains a field for these services to specify a gas price.
Traditionally, a gas price is the conversion rate between units of gas and ether that a user sets when sending a transaction to incentivize miners on the network to include their transaction in a block. (More information about gas in this research report.) With the implementation of EIP 1559, a minimum gas price called the “base fee” will be determined automatically by the network to help improve the efficiency and predictability of Ethereum’s fee market.
Instead of specifying a gas price, users will only be required to specify a maximum willingness to pay for their transactions. Once specified, the network will deduct the base fee from a user’s maximum willingness to pay and return the difference back to a user’s account balance.
The current code specifications for EIP 1559 returns the value for a user’s maximum willingness to pay as the gas price only before the transaction is mined into a block. After being mined, the value for the gas price field changes to the base fee. A changing value based on time and the state of the blockchain presents a new challenge for dapp developers trying to debug their code.
“Any time you’re debugging an issue and the behaviour changes based on when you look at it, that becomes a very, very hard bug to debug. I suspect that most users and dapp developers and library authors and whatnot probably are not watching closely on these things and they will not realize that there’s a change in behaviour and the gas price field,” said independent software developer Micah Zoltu about this issue on July 23 during an All Core Developers meeting.
Zoltu suggested deprecating the gas price field during the next backward-incompatible upgrade, Shanghai, as a possible solution. However, others have since argued deprecating the field during the forthcoming Shanghai upgrade, tentatively expected for October, would break the functionality of several wallets and blockchain tooling services.
The creator of Ethereum code library ether.js, Richard Moore, said during Friday’s EIP 1559 Coordination Call, “I definitely want it longer than just [Shanghai] … I was looking the other day, there’s still, I think … 50% of users that are still on antiquated versions of [ether.js].”
Instead, Moore suggested a versioning system that would retain the legacy fields of EIP 1559 where, eventually, if users try to get information about the gas price value of a transaction, they will receive an error message specifying the command for this field is no longer supported by the current version of software.
Taking a cautious approach
Another possibility in lieu of a versioning system for Ethereum would be to fix the return value of the gas price field to a static number such as negative one or zero, which would dissuade developers from using this field for any meaningful debugging.
While developers figure out how to deal with this issue, certain Ethereum tooling services such as cryptocurrency wallet Argent and cryptocurrency exchange Coinbase are holding off on making changes to their user interface (UI) to support EIP 1559 at its outset.
Internally, all Ethereum-related services that connect to the network will need to upgrade their software in time for activation of EIP 1559. However, updating user-facing elements of an application or platform to support the many features enabled by EIP 1559, such as a maximum willingness to pay as opposed to a gas price, can come later.
“It’s not unreasonable to wait and see how [EIP 1559] plays out a little bit before deciding how to present things [and] making changes in your UI,” said Ethereum Foundation’s Trenton Van Epps.
Ether has notched a 12-day winning streak in the run-up to the London upgrade. BACKGROUND: Blockchain data firm IntoTheBlock noted $2,598 and $2,753 as key resistance levels on the path toward $3,000. (Article, CoinDesk)
Non-fungible token (NFT) sales for the cartoon TV show “Stoner Cats” caused an influx of transactions on Ethereum that temporarily drove network transaction fees up 250%. BACKGROUND: “Stoner Cats” is reportedly the first TV series funded entirely by NFTs. The show raised over $8 million Wednesday and features voice acting from the founder of Ethereum Vitalik Buterin and Hollywood celebrity Mila Kunis. (Article, CoinDesk)
Following the London upgrade, EIP 3074 and 3675 will be important upcoming code changes on Ethereum for stakeholders to keep an eye on. BACKGROUND: EIP 3074 improves user experience with ‘batched-transactions’ that can contain both approvals and transactions, which are currently separated, costing additional gas and time. EIP 3675 is titled “Upgrade Consensus to Proof of Stake” and takes us one step closer to The Merge. (Blog post, DailyGwei)
Genesis Trading and Arca are speaking to a new wave of investors interested in Ethereum, DeFi and NFTs. BACKGROUND: Traditionally, investors in the digital asset space have started with interest in bitcoin that eventually trickled down into more niche areas of cryptocurrency. However, Noelle Acheson of Genesis (a CoinDesk sister company) and Jeff Dorman of Arca have witnessed a surge in new customers showing interest in “more relatable” assets. (Video panel, DeFi Alliance: DeFi For Institutions)
Speaking at an Enterprise Ethereum Alliance (EEA) event, Ernst and Young’s Global Blockchain Leader Paul Brody spoke about Microsoft migrating Xbox game purchase agreements to the blockchain as a way of improving the efficiency of royalty distribution and accounting processes. BACKGROUND: “We believe that blockchains will do for networks of enterprise and business ecosystems what [enterprise resource planning] did for the single enterprise,” said Brody. (Event page, EntEthAlliance)
Factoid of the week
Valid Points incorporates information and data about CoinDesk’s own Eth 2.0 validator in weekly analysis. All profits made from this staking venture will be donated to a charity of our choosing once transfers are enabled on the network. For a full overview of the project, check out our announcement post.
You can verify the activity of the CoinDesk Eth 2.0 validator in real time through our public validator key, which is:
Search for it on any Eth 2.0 block explorer site.
New episodes of “Mapping Out Eth 2.0.” with Christine Kim and Consensys’ Ben Edgington air every Thursday. Listen and subscribe through the CoinDesk podcast feed on Apple Podcasts, Spotify, Pocketcasts, Google Podcasts, Castbox, Stitcher, RadioPublica, IHeartRadio or RSS.Source