This is a post summarizing this excellent research paper by Tim Roughgarden.
I will give an overview of the EIP-1559 proposal, restate Roughgarden’s “Ten Key Takeaways”, and offer a bit of a high-level and intuitive explanation for the proofs/arguments in his paper. (You can also just skip to the conclusion.)
Background: Transactions in Ethereum
(If you’re pretty familiar with Ethereum, feel free to skip this section.)
Like all computers, the Ethereum blockchain is a state machine.¹ Any given state of Ethereum is “simply” a mapping between addresses and account states — the account state is just the data stored by an account (e.g. account balance, contract code, etc), and that account is referenced by a unique address.
Transactions are what change this global state. Transactions specify a sequence of instructions that change the global state via execution by the Ethereum Virtual Machine (EVM). (More formally, the EVM is an implementation of Ethereum’s state transition function, necessary when defining any state machine.)
The creator of a transaction must specify a gas limit and a gas price.
The gas limit is a measure of the cost (in computation, storage, and so on) imposed on the Ethereum blockchain by the transaction. The gas price specifies how much the transaction creator is willing to pay (in ETH) per unit of gas. For example, the most basic type of transaction (a simple transfer) requires 21,000 units of gas; more complex transactions require more gas. Typical gas prices reflect the current demand for EVM computation and have varied over time by orders of magnitude.
(Note: all quotes in this post are taken from the originally referenced article.)
The transaction creator pays: gas limit×gas price.
A block is an ordered sequence of transactions and some associated metadata (including, importantly, a reference/pointer to the previous block; hence why it’s a block chain).
The maximum block size is a cap on the total amount of computation (represented by gas amount in transactions) that any block can contain. Currently, this maximum is set at 12.5M gas; this creates a theoretical upper bound of about ~1000 transactions per block (although, in practice, this ends up being much less). Miners are responsible for selecting and ordering transactions into blocks and providing proof-of-work.
Important for the remainder of this article:
The transaction fee mechanism (TFM) is the part of the protocol that determines the amount that a creator of a confirmed transaction pays, and to whom that payment is directed.
The current transaction fee mechanism
The current Ethereum transaction fee mechanism is a first-price auction.²
This results in “many miners pack[ing] blocks up to the maximum block size, greedily prioritizing the outstanding transactions with the highest gas prices”.³
EIP-1559: Key Ideas
Here you can find the official Ethereum Improvement Proposal (EIP) #1559.
Burning a History-Dependent Base Fee
- Each block has a protocol-computed reserve price (per unit of gas) called the base fee. Paying the base fee is a prerequisite for inclusion in a block.
- The base fee is a function of the preceding block only.
- All revenues from the base fee are burned — that is, permanently removed from the circulating supply of ETH.
- The maximum block size is doubled (e.g., from 12.5M gas to 25M gas), with the old maximum (e.g., 12.5M gas) serving as the target block size.
- Adjust the base fee upward or downward whenever the size of the latest block is bigger or smaller than the target block size, respectively.
- Rather than a single gas price, a transaction now includes a tip and a fee cap. A transaction will be included in a block only if its fee cap is at least the block’s base fee.
- Who pays what? If a transaction with tip δ, fee cap c, and gas limit g is included in a block with base fee r, the transaction creator pays g·min(r+δ, c) ETH.
- Who gets the payment? Revenue from the base fee is burned and the remainder is transferred to the miner of the block.
Interestingly, upon reading these key ideas, one might think they are rather arbitrary and/or that some of these “key ideas” are somewhat orthogonal to the others. This isn’t the case. Well, not really. These ideas are intrinsically linked, as you will see with the remainder of this post.
Variable block size as a proxy for demand
The first point re: these ideas being intrinsically linked, is the concept of dynamically adjusted block sizes. Why is this needed? There’s a simple answer to this: when block size is dynamic, the actual size of a mined block can be used as a proxy for demand:
The mechanism in EIP-1559 then uses past block sizes as an on-chain measure of demand, with big blocks (more than 12.5M gas) and small blocks (less than 12.5M gas) signalling increasing and decreasing demand, respectively
The formula proposed for updating the base fee, per block, is:
That is, the base fee increases at most 12.5%, after a maximum-sized block (i.e. twice the target size), and decreases at most 12.5%, after an empty block. The ⅛ factor is rather arbitrary. A “good” factor allows the base fee to adjust at an appropriate rate to downward/upward spikes in demand.
Ten Key Takeaways
Here, I restate Roughgarden’s “Ten Key Takeaways” from his paper and offer some intuition for the reasoning behind them.
[1.] No transaction fee mechanism, EIP-1559 or otherwise, is likely to substantially decrease average transaction fees; persistently high transaction fees is a scalability problem, not a mechanism design problem.
Here is a representative example of a supply/demand graph for computation (measured by gas) in the Ethereum network.⁴
Note that this is entirely independent from the gas price mechanism. The intersection of the supply and demand lines is the market-clearing price, where the price at which the total amount of gas demanded equals the available supply.
Roughgarden argues that all (reasonable) gas price mechanisms can be viewed as “striving for this ideal”. That is, striving to reach a gas price closest to that optimal intersection point. And that intersection is entirely determined by supply and demand — independent of the gas price mechanism.
Lowering the market-clearing price by increasing supply or decreasing demand is fundamentally a scalability problem, not a mechanism design problem.⁵
[2.] EIP-1559 should decrease the variance in transaction fees and the delays experienced by some users through the flexibility of variable-size blocks.
Like mentioned in the previous “takeaway”, transaction fees will be high whenever demand exceeds supply.
So what’s the point of the proposal? To make transaction fees more predictable and thereby make the fee estimation problem — the problem of choosing the optimal gas price for a transaction — as straightforward as possible.
Essentially, the author argues that EIP-1559’s main benefit is a user experience (UX) one. He formalized UX via something he calls “Incentive-Compatibility for Users (UIC)”. I will skip over the details of this formalism in order to keep this blog post relatively “light”, but there is a nice intuitive analogy offered as well in the paper:
Shopping on Amazon is a lot easier than buying a house in a competitive real estate market. On Amazon, there’s no need to be strategic or second-guess yourself; you’re either willing to pay the listed price for the listed product, or you’re not …
When pursuing a house and competing with other potential buyers, you must think carefully about what price to offer to the seller. And no matter how smart you are, you might regret your offer in hindsight — either because you underbid and were outbid at a price you would have been willing to pay, or because you overbid and paid more than you needed to. The house need not be sold to the potential buyer willing to pay the most (if that buyer shades their bid too aggressively), which is a loss in economic efficiency.
Essentially, the current bidding system for gas price causes a lot of “confusion” in the market (and thus causes a lot of inefficiency in the market) because transaction creators aren’t often being honest about what they’re willing to bid, and their decisions are often influenced by what everyone else (or what they think everyone else) is doing. Having a set price is more straightforward, to put it bluntly, thus causing less confusion and inefficiency in the market.
[3.] EIP-1559 should improve the user experience through easy fee estimation, in the form of an “obvious optimal bid,” outside of periods of rapidly increasing demand.
The section that substantiates this point in the paper is rather complex, but it essentially comes down to proving something called “incentive compatibility for users”. The proofs in this section (6.3) show that the 1559 Mechanism usually functions as a “posted-price mechanism” (like the Amazon example given earlier). The caveat being that this doesn’t hold during periods of rapidly increasing demand, because:
When the base fee is excessively low, users must compete for scarce block space through their tips, and the 1559 mechanism effectively reverts back to a first-price auction.
That is, 1559 would appear to function just like the current system during sharp spikes in demand.
[4.] The short-term incentives for miners to carry out the protocol as intended are as strong under EIP-1559 as with first-price auctions.
“As intended” essentially means:
- the miner doesn’t have an incentive to create fake transactions
- there isn’t an incentive for miners to collude with users off-chain
These points are proved formally in Sections 6.2 and 6.4.
[5.] The game-theoretic impediments to double-spend attacks, censorship attacks, denial-of-service attacks, and long-term revenue-maximizing strategies such as base fee manipulation appear as strong under EIP-1559 as with first-price auctions.
The explanation to this is rather neatly explained in Section 7.5, but the essential point is that: “major” attack vectors are no more easily exploitable under EIP-1559 than with the current gas price mechanism, since they are “detectable, game-theoretically fragile, or both”.
[6.] EIP-1559 should at least modestly decrease the rate of ETH inflation through the burning of transaction fees.
Pretty self-explanatory: more burning means less ETH in circulation.
[7.] The seemingly orthogonal goals of easy fee estimation and fee burning are inextricably linked through the threat of off-chain agreements.
This is pretty interesting: burning base fees is a necessary component of the 1559 mechanism because otherwise (i.e. if miners would simply collect those fees) the entire 1559 mechanism would be equivalent to a first-priced auction; i.e. what we currently have now. That is, if 1559 were to be amended such that miners earn the base fee then this would reduce to the current gas price mechanism.
I think this is a critical point, because I’ve seen the (informal) argument made several times that EIP-1559 would behave the same as the current mechanism, but that appears to not be the case, in particular because of burning.
Also, there’s an argument that shows that the base fee is also necessary in this design, since simply burning fees from a first-priced auction is shown to be sub-optimal (due to off-chain agreements becoming profitable).
[8.] Alternative designs include paying base fee revenues forward to miners of future blocks rather than burning them; and replacing variable user-specified tips by a fixed hard-coded tip.
This is also something I think is a very important point. The author shows that all of the arguments made for EIP-1559 in his research paper also hold for several other alternative designs.
The one alternate design I will make special mention of is: Paying the Base Fee Forward. The biggest pushback against EIP-1559 has come from miners (see Caveats section below) due to the proposed fee burning mechanism.
[We show that] for a block’s base fee to be economically meaningful, revenues from it cannot be passed on to the miner of the block. Perhaps the simplest way to withhold this revenue, as in the current EIP-1559 spec, is to burn these revenues, effectively issuing a lump-sum refund to all ETH holders. An alternative solution is to transfer these revenues to one or more miners of other blocks.
This alternative/modification to EIP-1559 could potentially sway miner opinions. I’d be interested in hearing this discussed/debated more broadly.
[9.] EIP-1559’s base fee update rule is somewhat arbitrary and should be adjusted over time.
I already mentioned this above (“the ⅛ factor is rather arbitrary”) regarding the base rate update function. The 2x max block size is also a somewhat arbitrary “nice” number. More generally, the 1559 mechanism only needs to satisfy several conditions, namely:
- a history-dependent base fee, and
- revenues which are burned or otherwise withheld from a block’s miner
In addition, Roughgarden outlines several additional conditions that would be desirable for a base fee update rule:
- Adjust upward (resp. downward) reasonably quickly after a sudden spike (resp. drop) in demand.
- Adjust slowly enough to avoid overreacting to small or very short-lived changes in demand.
- Cannot be manipulated by a cartel of users and/or miners in a game-theoretically robust way.
- Expensive for an attacker to exploit.
How quickly is “reasonably quickly”? How expensive is “expensive”? Such questions … are best answered through experimentation and community discussion.
That is, it’s safe to assume that if EIP-1559 passes, we can expect future proposals to amend the base rate update function. This is because, it is quite unlikely that these initial parameter settings are ideal and we can only really know how good they are once they’re operating out in the “wild”.
[10.] Variable-size blocks enable a new (but expensive) attack vector: overwhelm the network with a sequence of maximum-size blocks.
There is the possibility that an “attacking cartel of miners” creates a sequence of blocks of maximum size in order to create demand shocks that then pushes users to increase tips. This is costly and can also be mitigated against by using larger block sizes.
But is this really enough evidence to conclude that the harmful effects of miner collusion will be no worse under EIP-1559 than they are now?
It appears that the majority of miners (at least mining pools) have been opposed to EIP-1559.⁶ This is because they understandably view fee burning as taking away some of their profits. This brings up many questions, most critically, perhaps: can this update actually be implemented if the majority of miners refuse the upgrade containing EIP-1559? Can this result in another fork in the network?
There are also certain attack vectors that are “game theoretically fragile” — e.g., keeping the block size at a certain level to artificially decrease supply — however, it’s not an entirely unlikely scenario that enough pissed-off miners can successfully collude to implement such otherwise “fragile” collusion strategies.
And then there’s always the question of: what effects does this have for the wider community? I don’t think protocol change wars and forks are ever seen by the wider blockchain community in a positive light.
I’d like to take this opportunity to highlight once again Tim Roughgarden’s suggested variant of EIP-1559: “Paying the Base Fee Forward”. Perhaps this could offer a much-needed middleground?
- EIP-1559 likely won’t result in a decrease in average gas price.
- EIP-1559 is likely to improve user experience (i.e. the experience of transaction creators) by way of easy fee estimation and less variable gas prices.
- EIP-1559 provides the same security guarantees — from a traditional game-theoretic perspective — as the current gas price selection mechanism under certain assumptions.
- The caveat to this is: greater miner collusion — caused by a large enough group of disgruntled miners — might disrupt some of these more traditional game theoretic assumptions that these conclusions rest upon. Can a large enough group of adversaries disrupt our game-theoretic assumptions? And successfully implement otherwise “fragile” collusion strategies?
- Can we have a wider discussion about Roughgarden’s variant of EIP-1559: “Paying the Base Fee Forward”? Perhaps this could offer a much-needed middleground (between users and miners)?
: To get technical, Ethereum is actually an infinite state machine: https://firstname.lastname@example.org/blockchain-the-infinite-state-machine-ffc39f32e182
: There’s a lot of interesting research about first-priced auctions (and auctions in general, see: auction theory). In particular, a lot of major tech companies that rely on ad revenue have recently switched from second- to first-priced auctions: https://digiday.com/media/buyers-welcome-auction-standardization-as-google-finally-goes-all-in-on-first-price/
: There are some important caveats to this. With the rise of DeFi (Decentralized Finance), there have been increasing cases of miners censoring and reordering transactions in order to profit via arbitrage (and other) opportunities present on DeFi applications. See Section V-B “Threats from Miner Extractable Value” here: https://arxiv.org/pdf/2101.08778.pdf
: The demand curve likely isn’t linear, but it’s not relevant for this argument; i.e. the argument holds for any-shaped demand curve.
: Roughgarden adds: “For example, typical layer-1 scaling solutions like sharding, in which different parts of the blockchain operate in parallel, increase transaction throughput and therefore decrease the market-clearing price. Typical layer-2 scaling solutions like payment channels and rollups, which effectively move some transactions off-chain, decrease demand for EVM computation and likewise decrease the market-clearing price”.