We just wrapped up @ethereum #allcoredevs no. 130! Covered a lot of Merge β›“ & Shanghai updates πŸ‡¨πŸ‡³

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

Recap below πŸ‘‡πŸ»
@ethereum First on the call, @mkalinin2 presented an upgrade to the Engine API spec to address some issues we've seen on Kintsugi w.r.t. re-orgs. Full link here: github.com/ethereum/execu…
@ethereum @mkalinin2 In short, the PR makes it optional for EL clients to actually execute a payload when receiving an executePayload call (and hence renames that call to newPayload for clarity).
@ethereum @mkalinin2 The reason here is that when ELs receive payload which isn't on the canonical chain, they may choose to simply store/cache it rather than execute it immediately. This relaxes the constraints on the specification to allow this.
@ethereum @mkalinin2 That said, on the call, @mhswende suggested that we should only make this optional for non-canonical payloads, and that we should expect ELs to execute all payloads received on the main chain, see this comment:
@ethereum @mkalinin2 @mhswende It also addresses some CL <> EL communication issues when clients are syncing and receiving blocks on fork chains in parallel, see:
@ethereum @mkalinin2 @mhswende All EL teams on the call seemed to agree this was a good idea. We'll keep discussing this week and hopefully have it merged/agreed to by the CL call next week. Of course, we'll need to add test cases for the various edge cases implied by this change.
@ethereum @mkalinin2 @mhswende Next up, @mhswende presented his suggestion for an authentication mechanism between EL and CL nodes: github.com/ethereum/execu…
@ethereum @mkalinin2 @mhswende The goal of this mechanism is to act as a simple guard against people potentially exposing their Engine API to the open internet when running a node. While before, the worst that could happen with exposing a port was spam/DoS, post-merge, someone could mess with validator actions
@ethereum @mkalinin2 @mhswende The proposal is to use a JWT token for HTTP and websocket requests, which can be either user-supplied or, if not supplied, generated by clients on startup.
@ethereum @mkalinin2 @mhswende All EL teams seemed generally fine with this approach. Martin will open a PR, and we'll get feedback from CL teams before/on the CL call next week. Assuming all that is good, we'll proceed with implementing it πŸ› 
@ethereum @mkalinin2 @mhswende Next up on the call, Harry from @trufflesuite raised some potential issues around tooling due to the DIFFICULTY opcode being renamed and having its value changed to RANDOM post-merge.
@ethereum @mkalinin2 @mhswende @trufflesuite In short, this change will make it hard for tools which look at bytecode to, without context, know how to interpret this opcode. While this isn't great, there isn't an easy fix at the protocol level, and there are limited cases where the pre/post-merge context isn't available.
@ethereum @mkalinin2 @mhswende @trufflesuite We agreed to not change anything at the protocol level to address this, but will make sure to mention it in the next merge community call (cc: @trent_vanepps!)
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps Next up, we discussed how we should approach testnets beyond the merge. A few people had been asking in the discord where they should deploy things, and we hadn't explicitly thought through the options before.
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps Recommend watching the livestream for the discussion, but, in short, we agreed it makes sense to always have at least one testnet with publicly open validator sets, and one with a closed one (for stability).
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps Similarly, we agreed that over time, testnets grow in size and there isn't a ton of value in that. So we should perhaps try and be more aggressive in deprecating old testnets and spawning new ones.
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps We didn't come to a crystal clear conclusion, and will keep discussing this in the coming calls, but if you are looking for the safest bet for a testnet that will stay around long term post-merge, it's probably Goerli.
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps @peter_szilagyi Last on the call, we discussed a few potential EIPs for Shanghai. First was a question from @mhswende about EIP-4444. TL;DR, it's one thing to remove historical data, but we need to ensure it is available *somewhere*. How do we do that?
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps @peter_szilagyi A bunch of folks are working on this, and will be sharing updates in coming calls as they make progress. See a recent thread by @0xRaino on the subject for more context:
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps @peter_szilagyi @0xRaino Next up, @ralexstokes mentioned wanting to champion EIP-2537 and that he is looking for feedback from teams about blocks given that this EIP was close to inclusion in both Berlin and Shanghai.
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps @peter_szilagyi @0xRaino @ralexstokes We now have BLS libraries used in production on the beacon chain, so a lot of the issues around that are no longer as salient. Similarly, when planning London, there were concerns that perhaps EVM384 could make BLS less useful.
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps @peter_szilagyi @0xRaino @ralexstokes EVM384 seems less likely to happen now, and even if it did, there seems to be some desire to also have a precompile for BLS.
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps @peter_szilagyi @0xRaino @ralexstokes Lastly, @greg_colvin had shared his thoughts about a potential roadmap for the various EVM improvement EIPs, see: github.com/ethereum/pm/is…
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps @peter_szilagyi @0xRaino @ralexstokes @greg_colvin We want to avoid repeating what happened with 2315, where it was included in an upgrade but removed at the last minute because it wasn't clear whether there were strong use cases for it.
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps @peter_szilagyi @0xRaino @ralexstokes @greg_colvin So it's valuable to think through the priority list now and solicit feedback from the community. We didn't get much time to discuss this on the call, but after the call there were some indications that 3540, 3670 and 3860 would make sense in Shanghai.
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps @peter_szilagyi @0xRaino @ralexstokes @greg_colvin If you have strong opinions about the EVM or any of these proposals, now is the time to share them! The "discussions-to" link of each of these EIPs is the best place to do so:

* eips.ethereum.org/EIPS/eip-3540
* eips.ethereum.org/EIPS/eip-3670
* eips.ethereum.org/EIPS/eip-3860
@ethereum @mkalinin2 @mhswende @trufflesuite @trent_vanepps @peter_szilagyi @0xRaino @ralexstokes @greg_colvin And that was it! Expect a next version of the merge spec next week with the changes discussed above. Next CL call is Jan 27 14:00 UTC, and next ACD is Feb 4th 14:00 UTC. See you then πŸ‘‹πŸ»

β€’ β€’ β€’

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

Jan 7
The first @ethereum #AllCoreDevs of the year just wrapped up 🎊 Updates on The Merge, as well as what Shanghai could look like πŸ‘€
@ethereum First, updates on the Kintsugi 🍡 devnet! There was a lot of testing over the holidays, and @vdWijden managed to break the network again πŸ’₯
@ethereum @vdWijden He tweeted about it earlier:

TL;DR: his fuzzer created a block which replaced certain fields by others, and because of caching+validation issues, some clients accepted an invalid block as valid.
Read 35 tweets
Dec 10, 2021
We had our last @ethereum #AllCoreDevs of 2021 today πŸ“†! This was IMO one of the most interesting calls of the year, and recommend people interested in the tradeoffs of Ethereum governance watch the entire thing πŸŽ₯

Agenda: github.com/ethereum/pm/is…
Stream:
@ethereum First on the call, we discussed the Arrow Glacier upgrade from yesterday. Things went smoothly! Two miners, @HuobiGlobal and @OKEx hadn't upgraded. Now, it seems they have, as they've mined blocks on the main chain:

Huobi: etherscan.io/block/13777482
OKEx: etherscan.io/block/13776941
@ethereum @HuobiGlobal @OKEx Then, we discussed progress on the Kintsugi 🍡 merge devnets. The 4th devnet, devnet-3, was launched this week. While there was chaos at first, it's now stable and even @vdWijden's fuzzer didn't take it down!
Read 37 tweets
Nov 26, 2021
We just wrapped up #AllCoreDevs 127 πŸ¦ƒ

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

Recap below πŸ‘‡πŸ»
First things first, Arrow Glacier is happening πŸ”œ

If you still haven't, please upgrade your node 🚨

Client versions available here: blog.ethereum.org/2021/11/10/arr…
Next up we had Kintsugi 🍡 upgrades. A lot of progress on the milestones board: notes.ethereum.org/@djrtwo/kintsu…
Read 44 tweets
Nov 21, 2021
Lots of thoughts on the conversations this weekend, and while I think there is a charitable interpretation to some of the criticisms, let me start by saying it's pretty rich to criticize people for "jerking off and watching the burn" when well....
Obviously, narratives get distilled on Twitter, but, to say the least, i makes it harder to educate folks about the subtleties (e.g. willeip1559lowergasprices.org) when this is what's pushed.
Similarly, no one ever dropped the "1.x roadmap": it was literally the last Ethereum event that happened pre-COVID and work on its various aspects is progressing (not to mention 1559 was part of it...)
Read 13 tweets
Oct 15, 2021
We wrapped up @ethereum #AllCoreDevs 124 this morning, and, as promised, we've had several merge updates since the last call!

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

Recap below πŸ‘‡πŸ»
@ethereum First on the call, we recap'ed the #amphora🏺 interop from last week. Rather than rehashing the recap, here's the blog post covering the event 😁:
@ethereum A couple updates from the call that aren't in the blog post: Pithos, the new devnet which was launched yesterday, is now running with 3 consensus clients + geth. Besu + Nethermind will be added soon. Explorer: pithos-explorer.ethdevops.io

Build instructions: github.com/parithosh/cons…
Read 28 tweets
Sep 17, 2021
We wrapped up another @ethereum #AllCoreDevs this AM πŸ› 

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

Recap below πŸ‘‡πŸ»
@ethereum First up, @nethermindeth had an announcement urging people to upgrade to v1.11.2 to mitigate a potential PoW vulnerability. More details here:

Upgrade your nodes 🚨
@ethereum @nethermindeth Then, we discussed several things related to The Merge β›“
Read 29 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

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(