And I'm back for @ethereum #AllCoreDevs!

Our first post-merge call starts in ~40 minutes. See the agenda here: github.com/ethereum/pm/is… πŸ“œ

You can watch along on YouTube: πŸ“Ί
Will recap on Twitter later, but recommend watching this one live if you care about how The Merge went in detail 🐼!
Ok, we just wrapped up the call! Here we go for the recap πŸ‘‡
The call started with congratulations πŸ˜„πŸŽŠ The Merge really went as smoothly as we could have hoped for, and it's all due to teams' hard work over the past years to get us here πŸ’ͺ
Client teams then gave more granular updates: @nethermindeth saw no issues on any of their nodes, and also already spun up new ones which got in sync just fine πŸ‘Œ
@HyperledgerBesu saw a few minor issues: on the merge block itself, a Bonsai Trie issue caused some users to have to restart their node. They are also seeing minor attestation-related and timeout issues which the team is currently looking into, but overall looking very good βœ…
@HyperledgerBesu @ErigonEth nodes went through the transition smoothly, but they've observed sporadic sync-related issues post-merge when restarting/re-syncing nodes. The team is digging into it πŸ‘€
@HyperledgerBesu @ErigonEth For @go_ethereum, The Merge was, in @peter_szilagyi's words "surprisingly boring" - no issues found, and things were stable enough for the team to spend The Merge following the memes across Twitter & Reddit πŸ˜„
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi A few CL teams were on the call too, and didn't report issues - everything looking good on that front too ✨
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi .@MicahZoltu was the only one on the call who ran into serious issues because, while he spent the past few weeks helping users to update their nodes, he simply forgot to update his πŸ˜‚ All worked fine after he did!
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu In terms of chain health, @parithosh_j reported that we're hovering around 98-99% participation rate, which is <1% away from the pre-merge rate, and that we're seeing full blocks on the network - everything working as expected!
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j We did see a slight participation rate drop right at The Merge (to ~95%), but it's mostly recovered now. We still haven't had the time to investigate what caused that drop and where the remaining <1% drop is coming from. We should know πŸ”œ!
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j The Geth team also gave an update on the PoW side of the fork. So far, we've seen ~25 blocks mined, all using pre-merge Geth releases. The merge geth release was, obviously, optional for miners, but if used, would stop mining once TTD is hit.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j The latest PoW block was 2h old at the time of the call, and we've seen the amount of mined blocks drop significantly because they are no longer being propagated on the network.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j Given that the near totality of nodes upgraded to PoS, and that these nodes stopped gossiping PoW blocks once the network had finalized, there just aren't many nodes who will gossip PoW blocks anymore. Once finality hit, we saw a decrease of PoW blocks mined.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j It's worth noting that there is a rational and non-adversarial reason for miners to keep mining past the first TTD block until finalization: if they mine a valid TTD block, there's still a chance a validator would pick theirs over another one, as it's effectively an uncle block.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j This led us to discuss the Fork ID of the chain. We discussed this on a recent ACD - linking here for context:
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j In short, each network upgrade, nodes update their Fork ID to choose which peer to connect to. If a peer is on a different fork, you then disconnect them. This is specified in EIP-2124, and works using the fork block number.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j Because The Merge wasn't triggered by a block height, but by the TTD instead, this didn't happen automatically, meaning that pre and post-merge nodes can be peered to each other, rather than fully partitioned at the p2p level.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j To fix this, we can simply specify a block at which to update the Fork ID for merged nodes, as we recently did for Sepolia: blog.ethereum.org/2022/08/03/sep…
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j We discussed if/when we should do that for mainnet (and Goerli, which hasn't had this happen either) and the rough consensus was that it can likely wait until Shanghai.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j Discriminating like this at the p2p layer is most useful if there are many nodes on conflicting forks, but in this case, virtually all nodes have run through The Merge, so it's not looking urgent.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j Given this, and the risk associated with upgrades generally, we agreed that unless something weird happened at the p2p layer, we could simply couple this change with the Shanghai upgrade, effectively activating this no-op fork, and Shanghai, on the same block.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j Next up, @metachris gave an update on MEV-boost. In short, everything went well on that front too. In order to avoid any potential complications _at_ The Merge, the Flashbots relay had been turned off for some epochs after the transition. When it came on, it worked as expected!
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl Chris also had a proposal for CL clients to add SSE subscription for newPayload events, but given it was mostly EL folks on the call, we agreed to discuss during next week's CL call. He'll put together a full proposal by then!
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl We then went over a couple more merge related questions/concerns from teams - I'll summarize here, but worth looking at the recording if you want the nuance around any of these issues.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl First, @adietrichs brought up the concern around ExecutionPayload storage duplication. In short, the EL and CL currently both store these by default, adding "useless" overhead to the storage requirements of running a node.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs CL teams are very aware of this and are in various stages of mitigating the issue already. Prysm, for example, already has a fix for it that's available, and which they expect to make the default soon, after some final testing has been done. Lighthouse has a similar feature.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs That said, these implementations rely on the eth_* APIs rather than the Engine API and it could be better to have all client teams implement a more standardized version of this via the Engine API. @jcksie had a PR about this a while back: github.com/ethereum/execu…
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie CL folks on the call agreed to revisit this PR in the next week or so and discuss further on their next call.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie Second, we discussed @vorot93's suggestion of replacing the TTD by the actual merge block in clients.

While at a first glance, this seemed like it could simplify things, there was some concern about how this could have ripple effects across multiple parts of clients.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 As discussed previously, moving to a fork block would affect the Fork ID (or require custom code to have it _not_ affect it), and also impact how the EL/CL first authenticate each other over the Engine API. It seemed like it could be quite the can of worms πŸͺ±
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 That said, it's worth exploring further, and possibly prototyping in a client such as @AkulaApp!
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp This led to some conversations about if and how this initial handshake between EL & CL clients should change, and, if so, how we should integrate this in the Engine API. No strong conclusion here, but you can watch the livestream or monitor the repo for more details!
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp Lastly, we briefly touched on if/how we should version the Engine API. As we're discussing all these potential additions, some optional, some breaking, etc. it's clear there's a case to be made for versioning.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp That said, @peter_szilagyi was skeptical, mostly based on his experience with the eth gossip protocol on the EL. With many clients, if you need to track the versions that each of them supports or not, you quickly add a _lot_ of complexity. Even more so in an EL+CL world!
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp That said, perhaps something like "temporary versioning" could make sense, e.g. having the "live" version and the "next upgrade" one. Again, no strong conclusion here, and we'll discuss further on the Engine API repo: github.com/ethereum/execu…
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp Next up, we discussed how to approach Shanghai planning. In short, there's a _lot_ that's being considered for the upgrade, but, also, we just shipped The Merge and people deserve a bit of breathing room πŸ˜…
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp My proposal to make progress towards Shanghai but also give everyone a well deserved break is to have a month or so without ACD/CL calls, but try and have async conversations about candidate EIPs for Shanghai.

I shared the full thing on @EthMagicians: ethereum-magicians.org/t/shanghai-cor…
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp @EthMagicians TL;DR: EIP Champions can use the ethereum-magicians.org/tag/shanghai-c… tag to signal they'd like their EIP considered, client teams + researchers can use this list to dive into the proposals and discuss their technical soundness, but we *don't* decide on the upgrade scope for now.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp @EthMagicians This allows us to make progress on specific EIPs, and get to a good proposal set, in an async way, but people don't have to monitor things super closely and won't, say, leave for two weeks and come back to a completely different upgrade scope than before leaving πŸ˜…
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp @EthMagicians Of course, this space runs very high on energy and some folks are very eager to keep things moving forward, so even though there won't be ACD/CL calls, we'll have optional voice hangouts in the R&D discord at 14:00 UTC on Thursdays during this time.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp @EthMagicians @EFDevcon .@AnettRolikova and me are putting together a F2F @EthMagicians gathering for the conference, where client teams, researchers and the community can have a merge retro, discuss the Ethereum roadmap, as well as specific EIPs πŸ§™β€β™€οΈ

Info here: ethereum-magicians.org/t/ethereum-mag… πŸ˜„
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp @EthMagicians @EFDevcon @AnettRolikova Finally, @peter_szilagyi highlighted that with The Merge done, there are now many opportunities to simplify Ethereum clients (e.g. all the PoW related stuff can be removed!).
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp @EthMagicians @EFDevcon @AnettRolikova So, when thinking of Shanghai, we should consider how we can simplify codebases and not just pile on even more complexity ASAP.
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp @EthMagicians @EFDevcon @AnettRolikova So, to recap, in the next month or so we'll have:

- CL call next week (Sept 22, 14:00 UTC)
- Devcon (Oct 11-14), with the @EthMagicians session: ethereum-magicians.org/t/ethereum-mag…
- ACD again, on Oct 27, 14:00 UTC

and optional discord hangs Thursdays @ 14:00 UTC in between πŸ˜„
@HyperledgerBesu @ErigonEth @go_ethereum @peter_szilagyi @MicahZoltu @parithosh_j @metachris @hasufl @adietrichs @jcksie @vorot93 @AkulaApp @EthMagicians @EFDevcon @AnettRolikova And that was it! Again, *huge* congrats to everyone involved in The Merge πŸ‘

We did it, Ethereum runs PoS 🐼

Shanghai, we'll see you soon πŸ‘€

β€’ β€’ β€’

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

Aug 18
We wrapped up another @Etherum #AllCoreDevs earlier, covering all things Merge as well as mev-boost and censorship resistance at the protocol level. This was a much less "procedural" call than usual, and touched on a lot of the "softer" governance questions around Ethereum.
@Etherum If you have the time (we even ended early!) I strongly recommend watching the whole recording. The Merge stuff was just ~20 mins, and then it was much more of a free flowing discussion.
@Etherum It's very hard to summarise and keep the nuance, and to not put words in people's mouth, I'll err on the side of brevity.

Agenda is here: github.com/ethereum/pm/is…
Full recording:
Read 55 tweets
Aug 17
I try really hard to avoid being negative on here (lots of that already!) but I think this warrants an exception: @TwitterSupport seems to auto-ban accounts from certain African regions which genuinely work on crypto. Short thread πŸ‘‡πŸ»
@TwitterSupport The @LidoFinance grants team, @LidoGrants, gave grants to @AbrahamMugisha2 and @DavisRau4 to organize meetups about Lido/Liquid staking in Uganda. The pair, and other organizers did a great job, drawing 50+ people each time.
@TwitterSupport @LidoFinance @LidoGrants @AbrahamMugisha2 @DavisRau4 Here's a neat video they put together after the first event πŸŽ₯
Read 9 tweets
Aug 12
This thread touches on an interesting topic: what should be the "thing" that the Ethereum network provides, long term?
One one hand, you can provide full history on every node forever. If you want to do that, you can choose to either limit the throughput of the network (like Ethereum does), or raise the computational+bandwidth requirements of running a node.
Assuming that you want to maintain a large set of node operators, then the question is "what is the most valuable data they should *all* store", and what are things we can easily verify are correct even if they aren't stored by everyone.
Read 15 tweets
Jun 14
Will give 1.2M Sepolia ETH to the first reliable RPC endpoint that's maintained long-term 😁 100k SepETH per month for the next 12 months as long as it works smoothly ✨
plz help
This has to be easier for me than waiting around for my node to sync, so the criteria for payment is you send me an RPC URL, I add it to MetaMask and It Just Worksℒ️
Read 5 tweets
Jun 10
We just wrapped up a *very* eventful @ethereum #AllCoreDevs

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

Will recap here, but IMO if you only listen to a handful of calls per year, this one should be on your list 🎧
@ethereum First on the call, we discussed the Ropsten Merge, which happened earlier this week. @dannyryan gave an update, based in part on @parithosh_j's analysis from earlier this week:
@ethereum @dannyryan @parithosh_j Pre-merge, some CL clients had issues tracking deposits to the beacon chain. This was because they made specific assumptions around block times which did not hold under Ropsten's chaotic block times due to its variable hash rate as a testnet.
Read 52 tweets
Jun 9
Rounds 14 has an Ethereum Infrastructure track πŸ—πŸ₯³!

Tons of great projects there, but I'll shill a few:

1. @go_ethereum finally has a grant: gitcoin.co/grants/6128/go… πŸŽ‰

Goes directly to a multisig controlled by the team, no trusted third party πŸ‘€
@go_ethereum 2. @ProtocolGuild is here again: gitcoin.co/grants/4832/pr… β›“πŸ›‘ With over 110 members across 20 teams, if you're unsure about where to send πŸ’° but want to support the protocol, PG has got you covered!
@go_ethereum @ProtocolGuild 3. A ton of client teams also have their grants directly on Gitcoin - if you're a happy user of them, or just want to tip them for the merge work, your funds will get matched for doing so πŸ™ŒπŸ»

@prylabs gitcoin.co/grants/24/prys…
@sigp_io gitcoin.co/grants/25/ligh…
(cont'd)
Read 5 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

Don't want to be a Premium member but still want to support us?

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!

:(