On August 5, 2021, Ethereum’s “London” upgrade launched successfully on mainnet as the last hard fork before the transition to Proof-of-Stake / ETH 2.0. As one of the most anticipated upgrades, London included a significant change in Ethereum’s monetary policy and transaction fee structure — EIP-1559 — that has proven beneficial to both Coinbase and ETH holders at large.
In legacy transactions prior to London, senders would specify a single gas_price they were willing to pay for their transaction, and miners would select transactions based on a first-price auction. With London, the gas prices that senders pay are in part determined by a block-to-block base_fee_per_gas, which rises and falls with usage of the network.
EIP-1559 transactions allow senders to specify two values: max_fee_per_gas and max_priority_fee_per_gas. The former is an upper bound on the total gas price the sender is willing to pay, while the latter is an upper bound on the gas price the sender is willing to pay to the miner of the transaction. The effective_gas_price, i.e. the amount that the sender actually pays, is then computed as:
priority_fee_per_gas = min( transaction.max_priority_fee_per_gas, transaction.max_fee_per_gas — block.base_fee_per_gas ) effective_gas_price = priority_fee_per_gas + block.base_fee_per_gas The block’s base_fee_per_gas is burned, thereby making the native currency more deflationary and returning value to ETH holders.
While there was significant uncertainty surrounding the market effects of EIP-1559, we at Coinbase took a proactive approach to ensure that our infrastructure was prepared to send EIP-1559 transactions on day one of the fork. Based on the work of people such as Zsolt Felföldi and Frederik Bolding, we developed a novel gas pricing algorithm for these transactions. Crucially, it leverages the new eth_feeHistory JSON RPC API that allows us to dynamically compute an appropriate max_priority_fee_per_gas based on market conditions.
We rolled out this change gradually so that we could compare the metrics of legacy and EIP-1559 transactions. Our findings were surprising:
On average, we saved about 9% on effective gas prices (this was computed as the difference in confirmed gas price between legacy transactions and EIP-1559 transactions). At the same time, we improved our broadcast-to-confirmation time by 11 seconds, or 0.7 blocks (this was computed as the difference in broadcast-to-confirmation time between legacy transactions and EIP-1559 transactions).
Fig 1. Average gas savings from EIP-1559 transactions in gwei
Fig 2. P50 broadcast-to-confirmation time delta between EIP-1559 and legacy transactions in seconds As Taylor Monahan posits, we suspect that we are able to simultaneously save on gas price and improve confirmation time because we specify a max_fee_per_gas that is significantly larger than the current base_fee_per_gas. This makes the effective priority_fee_per_gas larger than the equivalent legacy transaction, incentivizing miners to include our EIP-1559 transaction in the next block.
Coinbase executes a large number of transactions on Ethereum to source liquidity and provide withdrawals for our customers, so these savings add up. As of September 27, 2021, Coinbase has burned 13,800 ETH, for an average of about 254 ETH per day. This means we save about 27 ETH per day on gas prices from EIP-1559 transactions. Seeing this data, we have rolled out EIP-1559 to 95% of transactions, preserving a small holdback for data collection purposes. We intend on eventually rolling it out to 100%.
The London upgrade was a remarkable achievement not just for Ethereum, but for decentralized financial networks as a whole. A diverse group of participants across the world came together to implement a complex shift in one of the core mechanisms that dictates market prices. We’re looking forward to continuing to work with the Ethereum community to push forward the cutting edge of DApps & DeFi, and usher in the new era of ETH 2.0.
If you are interested in building the future of finance, check out our open roles here.
Feb 9, 2024,
3min read time
Feb 7, 2024,
4min read time
Feb 1, 2024,
3 mins read time