I’ve been thinking about post-apocalyptic wastelands lately. Specifically about this scene in Mad Max: Fury Road, where the main characters have just escaped the first wave of chase and outrun their captors. They must keep moving, but they also still need maintenance on the massive “war equipment” trucks that take them to safety, which are the center of the movie. So Charlize Theron climbs under the cab to do a few repairs on the way.
The idea of repairing large and complex trucks while still moving It’s a great fit for the film’s high-octane drama. As I was watching, it occurred to me that this was an apt analogy for the EIP process and the work of core developers.
Ethereum protocol changes. live, and it takes a lot of careful, complex engineering to create upgrades to keep everything and (where possible) everyone running smoothly. There are still bumps in the road in the blockchain wasteland, but by and large, Ethereum is far ahead of other means of plunder (technical debt). Don’t move towards the horizon. New proposals are likely to be somewhat disruptive to the status quo in the short term, but they are generally valuable improvements to the protocol as a whole.
The upgrade I want to discuss today falls into a category called “Ethereum 1.x”, but ~ no Part of the stateless Ethereum effort: A new gas fee market/block size mechanism. This proposal has become a very interesting case study in community and developer feedback for improving Ethereum. I think we can learn a lot about constructive discussions in Ethereum development by looking at how this EIP has changed over time through more developer discussions, and I think we can learn a lot about constructive discussions in Ethereum development (or at least some clear insights (or at least vague maxims) to help guide the discussion. ) I hope you can get it. We describe further important changes in the Stateless Ethereum initiative.
Normally in this series I try to be very organized and ‘get into the weeds’, but in this case I want to focus more on the content and nature of the discussion surrounding the proposal rather than the technical details contained within it. but we have to have part Now that you have an idea of what we’re talking about here, let’s take a very brief look at what EIP-1559 and ‘Escalator’ propose before going “meta” and considering how the discussion went and where it is now.
EIP 1559
motive of the original EIP 1559 It’s a great place to start and is very simple.
Ethereum’s current “first price auction” fee model is inefficient and unnecessarily costly for users. This EIP proposes to replace this with a mechanism to adjust the default network fee based on network demand, thereby increasing fee pricing efficiency and reducing the complexity of the client software needed to avoid paying unnecessarily high fees.
In the current system, newly submitted transactions must wait for miners to be included in the next block, but it is possible to incentivize miners to include transactions. gas price The parameter is higher than the network average. If miners are rational, they will always try to populate new blocks with transactions that maximize their payouts, so we can expect that the transactions included first in the next block will always be the ones with the highest gas price.
The problem with this first price auction model is that during times of high demand, things can quickly get out of control. When a block is nearly full, the cost of including a transaction in the next block can rise dramatically as users try to outbid each other for inclusion. Currently miners have the ability to increase the number of transactions contained in a single block, but that limit cannot change very quickly, and realistically miners would rather raise the block gas limit higher (larger blocks) rather than create smaller full blocks. I’m happy to utilize it. It’s a riskier proposition for miners because of the uncle fees. You may end up paying for it, especially if your wallet uses a pricing algorithm that targets inclusion within a specified time period (read: providing a good end user experience). Really ridiculous fees Takes your transaction to the next block (almost) complete.
EIP 1559 introduces the concept of a ‘base fee’ of gas, which is set to be dynamically adjusted to ensure that the overall gas usage of a block moves towards the current limit of 10 million gas. Instead of going into miners’ pockets, the base fee is burned. To incentivize inclusion, users specify a ‘tip’ parameter along with the maximum amount they are willing to pay for a transaction to be included in a block, and miners keep the tip.
Because the base fee does not fluctuate significantly based on the whims of momentary network demand, users are somewhat protected from the inefficiencies of the single-price auction model (the ‘tip’ is still the first price), and no base fee is given. Since it is burned without any notice, there is no incentive for miners to try and manipulate the fees. Importantly, this mechanism attempts to solve a big problem for wallet developers trying to automatically estimate network fees by making them much more predictable.
There are several places to learn more about EIP 1559. i would like to recommend Vitalik’s EIP1559 FAQ and Barnabe’s Jupyter Notebook If you want to go deeper.
A new challenger approaches: the escalator
The inefficiency of the current first price auction system for Ethereum fees is undisputed and it is important to point this out explicitly. No one disputes that the current fee mechanism could be better, and finding alternatives to first price auctions would undoubtedly be a good thing. Overall, Ethereum will ultimately provide a better experience for both developers and end users. We can and should all agree on this.
However, the new mechanisms proposed in EIP 1559 are: different Changing the way it is currently done could cause some problems, especially for the software that creates and submits Ethereum transactions for users. In particular, wallets will have to make significant changes to accommodate the new mechanism. Although things may be better for everyone in the long run, in the short term it puts a huge strain on developers trying to adapt to change and prevent their software from breaking.
After EIP 1559 has been floating around in the raw soup for a while, the community is starting to weigh in, including wallet developers who would be most affected by the proposed changes. Rather than resisting EIP, wallet developers have taken an interesting discussion path. They re-examined the core motivation for EIP (improving the UX of Ethereum transactions) and placed EIP in that context, essentially saying, “If we’re going to do all this, anyway We need to have an idea from the beginning about what it will look like to the user, and use that to guide what is being offered.”
This is an oversimplified behind-the-scenes story. Dan Finlay’s counter-proposal to EIP 1559: Escalator Algorithm. This is similar in many ways to the mechanics of 1559, and the motivations and goals are almost identical. Escalators are provided for queuing purposes. Alternatives Suggestions for improvement that allow for much more nuanced discussions. either one The mechanisms are presented separately.
To foster a more productive and specific discussion of the gas rate market, I felt it was important to present an alternative that is clearly superior to the status quo so that all claimed characteristics of EIP-1559 can be compared with plausible alternative improvements.
The escalator mechanism is similar to the current single-price auction model, with a few important changes.
- Instead of submitting a deal as a standing bid, users submit an appropriately named ‘upside’ bid and specify the maximum amount they are willing to pay for the deal to be included. All bids are placed into an ‘escalator’ queue that gradually and predictably increases all bids in the queue. in the same proportion. This provides a good mechanism for price discovery where the user can adjust the settings depending on how urgently they want to include the deal and how much they are willing to pay.
The biggest advantage of escalators is that they enable highly efficient price discovery while also preventing users from overpaying by charging a second price in the queue. It also has some of the same advantages as 1559, making it easier for users to choose the appropriate fee even in network congestion situations. In particular, the escalator itself does not change the mechanism that determines block size.
The “escalator algorithm” proposal is interesting in itself. ‘User Strategy’ section Let’s compare three models of transaction processing at a high level. If you like this, A paper introducing the escalator algorithm Also worth digging into, but I digress…
In the EIP1559 implementer’s call, Dan presented a mockup showing what the various parameters of a wallet look like to the user and highlighted how parameters can be hidden or exposed depending on the desired level of user intervention.
The design is intended to be a reference for community discussion and to help imagine both the 1559 and escalator algorithms from a user’s perspective.
By introducing reasonable alternative proposals and reframing developer criticism to prioritize users’ challenges, the EIP 1559/escalator discussion very cleverly created a new space for exploration. Towards the final goal of improving the fee market. We’re still far from ready for the next hard fork, but we’re still moving forward like the big gear in Mad Max.
The Future of Ethereum: All Shiny and Chrome
I believe EIP1559 / Escalator is an important issue for the Ethereum community to look at and learn from. Especially since it has many of the same characteristics as another further (and more dramatic) improvement on the stateless Ethereum horizon. Oil/Karma EVM meaning change. As with the fee market, some of the proposed fixes will have significant second-order impacts on developers and users. Also, as in the case of 1559, there is a clear user experience aspect supported. A developer who understands the experience Your proposal will ultimately help maintain momentum toward a successful upgrade.
Improving Ethereum (1.x) and other public blockchains is a difficult journey. The right path to discussion should be one that continues to drive meaningful improvements and ensures that the most affected developers and users are heard and their concerns are addressed. Because after all, we’re all riding the same big rig toward the gates of Valhalla… no, Serenity. Get ahead national expansion problem It means suggesting, critiquing, and revising changes continuously and constructively without losing momentum. Our survival depends on it!