This document was originally meant to capture various tasks that need to be completed before EIP-1559 is ready to be considered for mainnet deployement. EIP-1559 is now included in the London upgrade, so this document should serve as a historical reference. Sections may be updated if they are still the main source of truth for the efforts.
- See the London specification.
- DoS risk on the Ethereum mainnet
- Discussed in the AllCoreDevs call #77 and #97 EIP-1559's elastic block size effectively doubles the potential effect of a DoS attack on mainnet. Solutions to this are outside the scope of this EIP and include things like snapshot sync and EIP-2929, which was deployed in Berlin.
- Write up by Vitalik about why this is perhaps solved once EIP-2929 is live.
- Because EIP-1559's
BASE FEE
rises based on block gas utilisation, a DoS on the network would either have an exponentially increasing cost (assuming no collaboration from miners and other transactions are allowed to go through), compared to a constant cost today, or it would be costly to miners (who would need to pay theBASE FEE
or censor the chain long enough to drop it to 0), compared to effectively free today.
- Performance overhead for clients
- It is unclear that Ethereum clients can handle "200% full" blocks for a modest amount of time without their performance being significantly affected. To test this, we are running simulations on testnets with a similar state size to the Ethereum mainnet.
- Preliminary testing results
- Large State Performance Testing
- Transaction Pool Management
- Good approaches to transaction pool management have been put forward. First write up, Second write up.
- Alternative approach suggested by @zsfelfoldi
- Transaction Encoding/Decoding
- EIP-1559 transactions will be encoded using EIP-2718, by adding 1559-style transactions as a new type of transaction.
- Legacy transaction management in transaction pool
- Solved by a recent change to the EIP which removes the need for two transaction pools by interpreting legacy transactions as 1559-styles transactions where the
feecap
is set to thegas price
and thetip
is set tofeecap - base fee
.
- Solved by a recent change to the EIP which removes the need for two transaction pools by interpreting legacy transactions as 1559-styles transactions where the
- Transition Period
- Solved by a recent change to the EIP which removes the need for a transition period by interpreting legacy transactions as 1559-styles transactions. This means legacy transactions will be supported until an explicit change to the protocol is made to deprecate them.
-
BASE FEE
Opcode - EIP-3198- A
BASE FEE
opcode will allow smart contracts to retrieve it directly.
- A
- Reference / Consensus Tests
- https://github.com/ethereum/tests/tree/develop/BlockchainTests/ValidBlocks/bcEIP1559
- https://github.com/ethereum/tests/tree/develop/BlockchainTests/InvalidBlocks/bcEIP1559
- https://github.com/ethereum/tests/tree/develop/BlockchainTests/GeneralStateTests/stEIP1559
- (Nethereum) https://gist.github.com/juanfranblanco/4cc998247aecd822d6088e382d94a6f1
- EIPs that return block or transaction data need to be updated to support EIP-1559/2718 style transactions. Updates are being made to the JSON RPC specification here.
- JSON-RPC or equivalent commands that applications and tooling can use to interact with EIP-1559
- Public testnet that applications and tooling can use to test EIP-1559.
- See the Baikal devnet
- Tooling to generate usage spikes on testnets;
- Multi-client PoA testnet to ensure spec can be implemented;
- WIP between Geth, Besu & Nethermind teams.
- Single-client PoW testnet to ensure the spec works with PoW
- Done by Besu team.
- Multi-client PoW testnet to ensure all code paths are tested;
- The Rhoades testnet is a multi-client PoW testnet (link)
- Large state testnet to analyze performance with ~100M accounts on chain.
- The Rhoades testnet has 100m accounts and contract storage slots (link)
- Nethermind is using EIP-1559 as part of a client's network
- Filecoin, Celo and NEAR have implementations of EIP-1559 in their networks
- Analysis of whether EIP-1559 is game-theoretically sound, and potential improvements
- Comparison of EIP-1559 with alternatives (e.g. Escalator Fees)
- "Transaction Fee Mechanism Design for the Ethereum Blockchain: An Economic Analysis of EIP-1559" by Tim Roughgarden
- Analysis by Deribit
- "Floating escalator" simulation to model using the escalator fees approach to the EIP-1559 tip parameter.
- Agent-Based Simulations of EIP-1559
- Legacy vs EIP 1559 users in post EIP 1559 world
- Manipulation of the basefee in the context of EIP-1559
- Community outreach to projects to gather feedback on EIP-1559
- Initial report published by the Ethereum Cat Herders. Feedback still can be shared here. More wallet and exchange feedback is still needed. An update to the report may be published once more feedback has been gathered.
- Second outreach round, where projects can now signal their support
- Outreach to miners to better understand their objections to 1559, and stance if it is to be deployed on mainnet.
- A discord channel has been created for miners to voice their concerns about EIP-1559
- A community call has been organized for miners and other stakeholders to discuss EIP-1559's impact