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.
@Etherum One last caveat before I start - any errors/misrepresentations here are fully on me. If in doubt, please cross-check with the recording. And, with that said, let's get into it 👇
@Etherum First thing on the agenda was Sepolia's post-merge upgrade. It's scheduled for block 1735371, which was originally supposed to hit yesterday. Due to some validators being offline, it's now expected around Aug 21st. You can track it here: sepolia.etherscan.io/block/countdow…
@Etherum Then, we got an update on our 11th Mainnet Shadow Fork (yes, they are still happening!). We had 34/35 nodes make it through The Merge without issues, with the 1/35 simply not having synced!
@Etherum Post-merge, we saw two known issues, one with Erigon producing a bad block which had happened on Goerli before, and one which had to do with Nethermind's block production when interacting with certain client pairs.
@Etherum Both of these have fixes in progress, and we'll test them on future shadow forks once merged.
@Etherum We then discussed the TTD we set on the CL call last week. Although there have been some minor fluctuations in hashrate, the ETA for 58750000000000000000000 is still ~Sept 15, so we agreed to keep it. In short, TTD confirmed ✅! You can track the ETA at bordel.wtf
@Etherum At this point, the only thing that could cause the TTD to change would be a massive drop in hashrate once Bellatrix is hit. If, for example, we saw that 58750000000000000000000 would be hit several weeks past Sep 15th, we could coordinate a TTD override.
@Etherum While this is unlikely, it's also a pretty easy process: clients just update a value in their releases or users simply pass the new TTD in as a flag, like we did for Ropsten: blog.ethereum.org/2022/06/03/rop…
@Etherum Next up, we discussed the deprecation of the Kiln testnet, which had been launched for users to test post-merge Ethereum well before Goerli/Ropsten/Sepolia were scheduled to fork.
@Etherum We had announced we'd shut it down "at the mainnet merge" (blog.ethereum.org/2022/06/21/tes…) and confirmed we'll do so around when Bellatrix is activated on mainnet, on Sept 6. The network has barely any transactions going on it, and 3 testnets now offer a post-merge environment.
@Etherum And that was it for the merge-related contents. Next up on the call were two topics put on the agenda by @MicahZoltu: potential censorship issues with mev-boost relays, and client developers' general stance towards punishing censoring validators on the network.
@Etherum@MicahZoltu To kick things off on the call, Micah, after a brief summary of the issue, framed the question whether client developers want to launch "with" MEV-boost, despite the fact that censorship at the relay level is possible or likely?
@Etherum@MicahZoltu One clarification on the "with" above: currently CL clients do *not* bundle MEV-boost by default. They expose an API, the builder API (github.com/ethereum/build…), which MEV-boost can connect to.
@Etherum@MicahZoltu Similarly, MEV-boost can accommodate multiple relays. While Flashbots, the main developer of MEV-boost, has some restrictions in their relay/API, they have now open sourced the codebase
@Etherum@MicahZoltu Again, strongly recommend watching the discussion here for all the nuance, but here are some of the comments during the discussion.
@Etherum@MicahZoltu First, @dankrad mentioned that there have previously been sanctioned Ethereum addresses and wasn't convinced the situation had materially changed. He expected a majority of validators to not use censoring relays.
@Etherum@MicahZoltu@dankrad Then, @VitalikButerin highlighted that "censorship" can mean two different things: not including transactions in one's block or refusing to attest/follow a chain which includes transactions you do not like.
@Etherum@MicahZoltu@dankrad@VitalikButerin The first case is one where, for full censorship to happen, you effectively need 100% of the stake to censor in unison. Otherwise, a non-censoring validator will include the transaction eventually.
@Etherum@MicahZoltu@dankrad@VitalikButerin For ex, if 80% refuse to include a transaction, in practice it would be included within 5 blocks on average. 90% -> 10 blocks, and so on.
@Etherum@MicahZoltu@dankrad@VitalikButerin So, this requires a far higher degree of coordination than refusing to extend a chain which contains transactions you dislike, where 51% of the stake could effectively make that censored chain "canonical".
@Etherum@MicahZoltu@dankrad@VitalikButerin On the other hand, this second approach requires much more custom software - it is effectively a soft/hard fork where you add some censoring conditions as part of your block validity rules. To Vitalik's knowledge, this software isn't being developed now.
@Etherum@MicahZoltu@dankrad@VitalikButerin Then, Mamy highlighted the power of the community to also address these concerns. In the short time since the conversation started around censoring relays, many actors have stepped up to say they would offer various kinds of differentiated relays.
@Etherum@MicahZoltu@dankrad@VitalikButerin After @dannyryan commented on the idea of CL teams removing their support for the Builder API. This would simply lead to a lot more forked clients (like mev-geth in PoW) and be a net negative: the mev market wouldn't change, but it would be run with less visible software
@Etherum@MicahZoltu@dankrad@VitalikButerin@dannyryan .@URozmej shared his concern that mev-boost is slightly worse than the current status quo wrt censorship because validators accepts full blocks from relays, rather than transaction bundles in mev-geth, removing the ability to add more transactions to the block.
@Etherum@MicahZoltu@dankrad@VitalikButerin@dannyryan@URozmej .@thegostep clarified that this is because otherwise validators could steal MEV from searchers submitting bundles. AIUI, in mev-geth this doesn't happen because Flashbots has direct relationships with the various mining pools, and could cut their access if they defect.
@Etherum@MicahZoltu@dankrad@VitalikButerin@dannyryan@URozmej@thegostep The tradeoff with mev-boost is that in order to serve a much larger number of validators, rather than a handful of known pool operators, the relay has to send full blocks rather than a bundle to include within a block.
@Etherum@MicahZoltu@dankrad@VitalikButerin@dannyryan@URozmej@thegostep That said, @thegostep added that there are designs being explored to allow validators to append transactions to the end of blocks. If you can prove that transactions are only appended, then there is no risk of the bundle being front-run by the block proposer, as it will run first
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 👇🏻
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™️
@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.
@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 🙌🏻
Ethereum's longest lived PoW testnet is moving to Proof of Stake! A new beacon chain has been launched today, and The Merge is expected around June 8th on the network.
Node Operators: this is the first dress rehearsal💃
For The Merge to happen, we now need two things on Ropsten. First, its beacon chain must activate the Bellatrix upgrade, scheduled for June 2. Then, a PoW total difficulty value, the Terminal Total Difficulty (TTD) will be chosen to trigger the transition.
The TTD should be chosen by June 2/3 (to avoid miners messing with the transition again 😅), and will also be announced at blog.ethereum.org. We'll pick a value we expect to hit around June 8 or so. PoW on testnets is hard to estimate, so keep an eye out 👀
@ethereum First on the call, we discussed what happened on Ropsten. I gave a recap, which I had also shared in written form yesterday here: notes.ethereum.org/@timbeiko/rops…
@ethereum TL;DR of the issue is that the Ropsten TTD was hit before the Beacon Chain for the testnet was live and Bellatrix, the CL fork which activates merge functionality, had gone live.