Core devs will also be doing more testing on Baikal over the next few weeks, but if you want to try and break stuff, now is the time π
Next up, we discussed whether to include EIP-3541, which was live in Baikal, in London. As a quick reminder, this EIP prevents deploying contracts which start with `0xEF`. It's a small change, but sets the stage for a large EVM overhaul, EIP-3540 eips.ethereum.org/EIPS/eip-3540
We agreed to include it in London π¬π§ At this point, not including it would have been more complicated because we would have had to both remove the EIP from clients and add testing to check that the EIP was _not_ activated.
Next up, we discussed EIP-3554, @JHancock's alternative to EIP-3238, which pushes back the difficulty bomb to ~December. James walked through his script on the call, and we agreed to include it instead of 3238 β
Given that the amount on hashrate on the network can influence the bomb, James said we should re-run the script in a few months to make sure we're still on track. I will do date in ~2 months π£π
Then, we discussed JSON RPC naming for the various fields that EIP-1559 introduces in the block and transaction objects. We had been discussing this async over the past week or two and it was hard to get to consensus. This document summarizes the options: gist.github.com/karalabe/1565eβ¦
After a surprisingly brief conversation, we came to agreement π
We'll go with the same naming scheme as the EIP, namely `baseFeePerGas`, `maxFeePerGas`, and `maxPriorityFeePerGas`. The first term is obviously the base fee, the second has often been called the "fee cap" and the third represents the "tip".
We should be able to finish it and get it merged now that the naming has been agreed upon ππ»
Then, we discussed timing for the upgrade. There was some concern on the call that this is the quickest we've gone to deploy an upgrade, and 1559 is a _big_ change, which touches almost all parts of the clients.
Given the large scope of the change, client teams really want to see how this goes on testnets before hardcoding a mainnet block. This way, if something goes wrong on a testnet, we won't be in a spot where we need to change a previously hardcoded mainnet block.
The thinking here is that it is worse to have part of the network fork on block X and part on block Y if we change the block rather than have part of the network simply not upgrade if they run a client version which supports London on testnets but not mainnet.
So, for testnets, here are the blocks we've agreed to, again, from the London spec: github.com/ethereum/eth1.β¦
We're still aiming for July 14th on mainnet, but we want to wait and see the first testnet fork successfully before we set a mainnet block in clients.
The final London-related topic on the call was a discussion about how clients will handle replacing transactions with changing gas prices. @adietrichs had already written about that (hackmd.io/@adietrichs/15β¦), and clients will keep discussing to make sure they are aligned on it.
Then, @dannyryan gave an update on the Rayonism hackathon that's been happening over the past month.
4 Eth2 and 3 Eth1 clients have been syncing on a merged testnet called Nocturne π
.@protolambda has been the mastermind organizing this and getting everyone unstuck over the past month. Without him, this wouldn't have happened. Here's his tweet linking Nocturne network stats
It's worth noting that Nocturne is a prototype network: it doesn't go through the PoW -> PoS transition, it doesn't deal with historical state sync, etc. Those are all things we'll need to figure out for the merge in the coming months.
In terms of next steps, we're currently improving the testing coverage of the merge spec and thinking through the best API for communication between the eth1 and eth2 parts of the system. Production work will slow a bit over the next month or two as London & Altair get deployed.
Then, to finish, we had three announcements π£
First, @trent_vanepps will be organizing an EIP-1559 UI-focused call with various wallets incl. @MetaMask, @ethstatus and @argentHQ. The time + date is still being set, but follow/DM him for details if you'd like to participate π
In short, he is looking to onboard core developers and providing them a stipend over the summer to learn and work on protocol-related projects. Applications open!
Finally, @JHancock announced he will be stepping back from his role as HF coordinator at the EF. There has been a lot of change in the AllCoreDevs process over the past year, and he'll be taking some well deserved time off before deciding what to do next, with an eye on EIPs π
It's been a pleasure working with James, and I hope he'll come back as a strong contributor after what is hopefully a break from AllCoreDevs/Ethereum/etc. for a few weeks π
One final note on the merge: to accomodate folks for whom these calls are already at a terrible time, we're moving the calls to 1h before the Eth2 calls. This means the next one will be 3 weeks from now π
And that was it! The next ACD is scheduled for May 28, 14:00 UTC. See you then ππ»
β’ β’ β’
Missing some Tweet in this thread? You can try to
force a refresh
First up, I gave a summary of my conversation with the various client teams over the past week. I had pasted a text version in the agenda as well:
TL;DR: client teams prefer a tighter-scoped London upgrade, London in July would be best, and if we keep London small + the Merge work goes according to plan, we should be able to do another feature fork this fall without delaying the merge.
You can see the current numbers for yourself here: beaconcha.in/pools. One important thing to note is that Ethereum's PoS algorithm uses penalties that are correlated with how many other people do something wrong along with you.
This means that while we can't stop people from staking on AWS, or using the most popular client, etc. we can give them an economic incentive to setup their staking node in a way where their failures are uncorrelated from the rest of the network.
We've got a ton to cover today: two hard forks, eth2 merge requirements, a list of things we should remove from Ethereum by @VitalikButerin and a quick shoutout for the 1559 community call with miners happening next week.
First up is checking in on YOLOv3's status: Besu, OpenEthereum, Nethermind and Geth are all in sync β