ethereum/pm

Proposal to Include EIP-1559 in London

Closed this issue ยท 6 comments

After 1.5 years of active development, I believe EIP-1559 is finally ready to be included in a network upgrade and would like to propose it be included in the upcomming London upgrade.

The work on EIP-1559 was done in two "phases", the first during 2019 and the second from ~March 2020 to now.

The first phase was mostly driven by Vulcanize, which put togehter an implementation study as well as an initial implementation, and came on AllCoreDevs to discuss the EIP. A few technical objections were brought up regarding the EIP, mainly the risk of DoS attacks, but it was nevertheless moved to "Considered for Inclusion".

Around March 2020, the Besu team re-started the work on EIP-1559 in earnest with the goal of addressing the objections raised on AllCoreDevs and from others in the community. This work has been tracked here.

While there are still things to iron out in the client implementation, I believe that there are no "major issues" outstanding on the EIP and that it is ready to go through the normal network upgrade testing process.

Finally, while the EIP does give an overview of its benefits, I've written a more extensive description of them here.

Technical note, if EIP-1559 is accepted, then we should also strongly consider including EIP-3198, which adds an opcode that returns the BASE FEE.

The EIP will also require changes across several JSON-RPC endpoints, and EIPs have begun to be drafted to change these. They are listed here.

If we get consensus that we want to include this, then I strongly suggest that we get EIP1559 tests in ethereum/tests ASAP. Also tests for the actual transition (so a Berlin to London test suite), since the logic right at the fork block seems rather complex to me.

Who is the champion of this EIP? Ah - just found out that it is @timbeiko ๐Ÿ˜„ . Could you focus on getting tests in ethereum/tests? This is of tremendous help to actually implement this EIP.

Agreed, hence why I think we need a decision quickly. The EIP has a very long list of authors, but recently I've been doing most of the non-technical work and @abdelhamidbakhta has been championing from a technical PoV. He can help get it tested thoroughly!

I think it is pretty generally agreed throughout community that delays in scaling is the biggest existential threat to Ethereum. If it's truly "ready to be included" then yes, it's time.
But according to the readiness guide we're still missing tests on consensus and a completed Geth implementation. How is that still being incomplete not a major issue in the rollout?

@jschiarizzi there is still work to be done on it, yes, but this is normal for EIPs after they are included in an upgrade. The reason to include it now and only deploy it around July is to give us the time to finish that work. Re: consensus tests, see the issue linked right above your comment. Re: implementations, Geth, Besu and Nethermind are adding the latest changes due to EIP-2718 being in Berlin, but aside from "Berlin support", the implementations are basically done.

EIP-1559 was included in London ๐ŸŽ‰ Closing this issue, and opened #270 about the BASE FEE opcode.