This week's off-schedule @ethereum #AllCoreDevs call just wrapped up (early, for the first time in months!) 😁

Agenda: github.com/ethereum/pm/is…
Stream:
Summary below 🧡
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.
There were four specific EIPs we were considering alongside the already included ones (1559, 3198, 3238) for London: EIP-2537, EIP-2677, EIP-3403, and EIP-3074.
EIP-2677 was the simplest: small change, but no one strongly in favor and, given it would add testing overhead, we're not adding it to London ❎
Then, we discussed EIP-3403. The EIP proposes to remove refunds from SSTORE and SELFDESTRUCT, except in a handful of cases. Because refunds can increase block gas consumption, and 1559 does too, limiting them in London was brought up as a security concern previously.
The challenge with 3403 lies in the "except in a handful of cases": adding such logic to clients increases code complexity and is prone to bugs. OTOH, completely disabling refunds would be a very large breaking change, and was already rejected (EIP-3298).
So, @VitalikButerin and @mhswende have been working on a new proposal, which would lower gas refunds from SSTORE from 15k to 4.8k gas, remove SELFDESTRUCT refunds and lower the maximum extra execution from refunds from 1/2 to 1/5th of the block.
This proposal would achieve the goal of reducing block elasticity, disincentivizing things like gas token, and reduce implementation complexity relative to 3403. The EIP was discussed in more detail on the call, but should be formally created early next week.
Everyone on the call seemed favorable to the idea, but given there is no actual EIP to look at yet, clients will review it over the next week and we will make a decision about this on next Friday's call βœ…
Next up, we discussed EIP-2537, the BLS precompile. The champion asked what clients would like to see to include it in London, and there were two potential concerns: first, the desire to move to a new library, which would require more testing, and second, some gas price changes.
While neither of these are very large changes, they would require more work, and this could potentially delay London.

The question, though, is if this doesn't make it into London, when would we see it on mainnet? The same question applies for EIP-3074.
We then spent a large part of the call discussing how we could balance having a "lean London", keeping The Merge a top priority, and shipping features that the community clearly wants, such as 3074 and 2537.
There was a lot of back and forth about this, and I encourage you to watch the livestream for the nuance, but this is what we agreed to πŸ‘‡πŸ»
1️⃣ Keep London lean, and aim for a mid-July mainnet deployement. Only 1559, 3198, 3238 and the to-be-created refund EIP.

2️⃣ Keep working on the Merge in parallel to London and aim to ship it ASAP.

3️⃣ When London is done, start working on another small feature fork, Shanghai.
Shanghai should really be "only the things that we wanted in London but couldn't make it". If it is ready before the Merge, we ship it first. If the Merge is ready before, everyone is OK delaying Shanghai (and doing the extra technical work to adapt it) to after the merge.
Client teams were all confident that doing this would keep the most momentum: they are already focused on London and The Merge in parallel and good progress is happening on both. When London is out the door, then we can focus on Shanghai.
It's worth noting this is how we are operating for London: most of the work got started as Berlin was rolling out, and this is how we're able to have the fork happen only a few months (vs. 1+ year) after the previous one.
As for London timelines, this is roughly what we are going for. We didn't want to set blocks on this call given that code is still not merged in clients and we are still waiting on an EIP, but the dates should be pretty fixed, and blocks should come during the next call.
So, to summarize, we're looking at mid-July for London, and the fork will contain EIPs 1559, 3198 (BASEFEE opcode), 3238 (Ice Age pushback), and very likely a to-be-created EIP addressing the refunds issue which we'll discuss next call.
As for the Ice Age pushback, the current EIP was scheduled to push it back to Q2 2022. Given that we want to either ship Shanghai and/or the Merge this year, we agreed we should make the bomb go off sooner as a forcing function. Everyone on the call agreed on aiming for December.
Then, @lightclients proposed a new EIP, 3521 (github.com/ethereum/EIPs/…), which would improve the way EIP-2930 access lists are generated. People were generally positive, but there are some quirks to figure out.
We aren't including it into London, but it may be a good, small change to include in Shanghai πŸ‘€
Lastly, we discussed a few process-related things. The first was to have the "Considered for Inclusion" status for EIPs reset between each network upgrade. In short, this status is to signal that core devs like an EIP, but that there is still technical work to be done on it.
Given that people propose EIPs for specific upgrades and that they tend to "go stale" if they are not accepted in an upgrade, I proposed that we reset the status each time. If someone wants to get their EIP re-CFI, they simply have to propose it for a new fork.
No objections, we're going forward with that βœ… More conversation about this here: github.com/ethereum/pm/is…
Then, we spend a bunch of time discussing the value of these off-schedule calls, whether we should make decisions on them, and whether we should move AllCoreDevs to a weekly cadence instead of bi-weekly.
Again, lots of back and forth, and an interesting part of the stream to watch if you are interested in the cat herding of all this! We agreed to _not_ have the calls go weekly, and a few people highlighted that it was useful that I reached out to client teams between the calls.
So, I agreed to take more meetings for myself instead of everyone on the call, and whenever it feels like there are complex topics we need to get clients' thoughts on, I'll make sure to chat with all the teams and summarize their opinions prior to the calls 😁
Obviously, these calls being public is very important, so even though I will do the meetings myself and share a summary, I'll always make sure to leave room on the call for people to voice opinions on these topics. Let's see how this goes!
And that was it: it was the first time in a while we finished early! Next call is one week from now, April 30th, 14:00 UTC πŸ‘‹πŸ»

β€’ β€’ β€’

Missing some Tweet in this thread? You can try to force a refresh
γ€€

Keep Current with Tim Beiko | timbeiko.eth

Tim Beiko | timbeiko.eth Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @TimBeiko

2 Apr
.@ethereum #AllCoreDevs starting in ~15 minutes

Agenda: github.com/ethereum/pm/is…
Stream:

Lots to cover, and I'll be back here after the call for a summary 😁

One note: Berlin is happening on mainnet soon πŸ‡©πŸ‡ͺ If you haven't updated your node, do it now 😁
Ok here we go!
First up on the call was Berlin updates πŸ‡©πŸ‡ͺ The Rinkeby fork went well, nothing to report. The mainnet fork block is going to happen on April 14/15, see a countdown here: goto.etherscan.com/block/countdow…
Read 50 tweets
31 Mar
.@gladstein thanks for engaging! These are all good questions. The answers may not all be tweet-sized, so here's a thread to go through them 🧡
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.
Read 20 tweets
5 Mar
.@ethereum #AllCoreDevs starting in ~5 minutes with a PACKED agenda (doubt we get through it all πŸ˜…)

Last minute Berlin changes πŸ‡©πŸ‡ͺ, and a slew of potential London EIPs πŸ‡¬πŸ‡§, including EIP-1559 πŸ”₯

Agenda: github.com/ethereum/pm#ac…
Stream:

πŸ”œπŸ”œπŸ”œ
First up, @hudsonjameson announces this is the last call he'll be facilitating. Starting next call, I'll be facilitating them πŸ‘‹πŸ»

Hudson will still be available to help out, and will be working on other initiatives at the EF πŸ¦„
Next, is a discussion about whether we should keep EIP-2315 in Berlin, which was kicked off by a tweet from earlier this week:

@lightclients opened an issue questioning whether we should keep it in based on that feedback: github.com/ethereum/pm/is…
Read 39 tweets
26 Feb
.@EthCatHerders EIP-1559 community call happening in ~10 minutes πŸ”₯⛏

Stream:
Announcement/agenda: medium.com/ethereum-cat-h…

We'll be discussing 1559 with miners, researchers and implementers. I'll live-tweet as much as possible 😁 Panelists include πŸ‘‡πŸ»
.@poojaranjan19 & @hudsonjameson to moderate the whole thing, @barnabemonnot, @gakonst @hasufl on the research side, @tkstanczak @AFDudley0 as implementers, @f2pool_official, @BitsBeTrippin & @Inno_Miner on the mining side, @iamDCinvestor representing "ETH is Money", ...
and finally @JHancock @trent_vanepps and myself who have helped with various bits of coordination along the way!

Tune in πŸ‘€
Read 79 tweets
19 Feb
.@ethereum #AllCoreDevs starting in ~5 minutes.

We've changed how we track the agenda, you can now find it here, with separate issues for each discussion topic: github.com/ethereum/pm#ac…

Stream:
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 βœ…
Read 33 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!