2.42.0 is what you want to be running if you use the client!
@ethereum@ErigonEth Lodestar has put out a new (optional) release, and Prysm might do so as well prior to the upgrade. That said, the versions in the announcement for both of these are compatible with Shapella
@ethereum@ErigonEth Nethermind has some big updates planned in their first post-fork release: they decided to delay them to minimize any risk with Shapella going live
@ethereum@ErigonEth Testing is entering its final stages, with a last mainnet shadow fork scheduled next week and cross-client EVM fuzzing of the latest releases.
@ethereum@ErigonEth@alexberegszaszi In short, the spec addresses some of the concerns raised about code & gas observability, and tries to remove these as much as possible from EOF contracts. The link shared above highlights all of the required changes, which were spread out across multiple EIPs previously.
@ethereum@ErigonEth@alexberegszaszi Alex went deep into the details on the call, so I recommend watching it for all the nuance. At a high level, to remove code/gas introspection, contract creation must be significantly altered, and several opcodes are disabled or modified.
@ethereum@ErigonEth@alexberegszaszi Changes could be done to the proposed 4844 transaction type to accommodate the new contract deployment constraints.
@ethereum@ErigonEth@alexberegszaszi Teams were generally positive towards EOF, but skeptical that it could fit alongside EIP-4844 in Cancun. There were proposals to potentially schedule it for the next fork. That said, there was also some pushback related to how this would impact Verkle Tries... more on that later!
@ethereum@ErigonEth@alexberegszaszi This EIP would follow the rules laid out in EIP-4758 (eips.ethereum.org/EIPS/eip-4758) *except* when SELFDESTRUCT happens in the same transaction as a contract creation. This would hopefully strike the right balance between implementation complexity & not breaking deployed contracts.
@ethereum@ErigonEth@alexberegszaszi We've agreed to CFI EIP-6780 for Cancun to send a signal that "this is happening", but obviously will only make a final decision about inclusion once more analysis has been done.
@ethereum@ErigonEth@alexberegszaszi@ralexstokes Alex proposed three options to address this on the call. There weren't a ton of reactions, so teams will also look into this in the coming weeks.
@ethereum@ErigonEth@alexberegszaszi@ralexstokes@mkalinin2 As a reminder, this flag would allow ELs to suggest the CL override external builders based on heuristics. This could help in cases of censorship that is detectable by clients (e.g. transactions re-orged out, pending despite a high max fee, etc.).
@ethereum@ErigonEth@alexberegszaszi@ralexstokes@mkalinin2 The question was around whether this should be done before or along with Cancun. Some client teams said they can likely start prototyping this soon. Once we have some prototype implementations, we'll merge in the API changes.
@ethereum@ErigonEth@alexberegszaszi@ralexstokes@mkalinin2 Lastly, we had an unscheduled update by @gballet on Verkle Tries😄 During the EOF conversation, there was some debate about its readiness relative to VT, so Guillaume walked us through all the latest updates. If you haven't followed Verkle recently, I recommend the full stream 📺
@ethereum@ErigonEth@alexberegszaszi@ralexstokes@mkalinin2@gballet First, Guillaume shared there are currently two VT testnets: Beverly Hills, which is running a minimal, EL-only, VT spec, and Kaustinen, which also implements CL changes. Currently, the VT implementations are ~40% slower than MPT, but improving rapidly!
@ethereum@ErigonEth@alexberegszaszi@ralexstokes@mkalinin2@gballet Then, @URozmej bombarded Guillaume with questions! Quick summary:
Re-orgs have been tested, JSON RPC performance hasn't. Tests have been run with mainnet-style blocks, but not shadow fork yet. No multi-client devnet forks yet, and a new sync mode will be needed for VT.
@ethereum@ErigonEth@alexberegszaszi@ralexstokes@mkalinin2@gballet@URozmej There were then some questions about whether all clients could do this without adopting a similar data model to Erigon. It could be done, but would require relying on these nodes to gossip the VT, which is a risk. Nethermind shared they are working on a similar DB architecture!
@ethereum@ErigonEth@alexberegszaszi@ralexstokes@mkalinin2@gballet@URozmej Finally, Guillaume shared some high level details of the trie transition: some nodes would build the VT, and share it over gossip. Then, clients would maintain both the VT & MPT in parallel. Once the VT+MPT are sync'ed, you can switch the consensus rules from MPT to VT.
@ethereum@ErigonEth@alexberegszaszi@ralexstokes@mkalinin2@gballet@URozmej Oh, actually, there was one more question: do zkEVMs make VTs obsolete? @dankrad shared that, in theory, yes, but we're still very far from this happening on mainnet. Provers still require significant resources, which would fundamentally change trust assumptions on Ethereum!
Not sure how explicit badge holders where about these splits, but it seems reasonable? Could argue that individuals vs. teams should be closer to 50-50, or maybe flip to 2/3rd towards individuals (idk what's best!), but it's encouraging to not see a 10x skew either way!
The results of this round have made me more optimistic about public goods "interop": it feels more like "legos" than "competition", and I think it's worthwhile to keep going that route to allow capital allocators to mix & match as they please 🧱
@optimismFND I also like that both @ProtocolGuild and client teams can get allocations: PG goes directly to individuals, and some of them who fall between clearly delineated teams, and most teams' funding go back to the "org", which helps pay for both the engineers, but also everyone else!
@optimismFND@ProtocolGuild We started PG in part because ~every funding system in the space is biased towards orgs vs. individuals, and so it's great to see something like RPGF allocating to both ends of the spectrum 😄
If you're a validator, you should check out our Withdrawals FAQ to make sure you are ready for the upgrade 🤖notes.ethereum.org/@launchpad/wit…
For the security/vulnerability-minded folks, note that from now until April 5th, the Ethereum Bug Bounty rewards have been doubled for Shapella vulnerabilities 🐞
Had a big #ACDE today: set the Shapella mainnet date (!!), covered every potential Cancun EIP so far, discussed local block building, and a node operator survey by @EthCatHerders 😸
@EthCatHerders First, apologies, there were some issues in the recording, where only my audio was coming out when we recap'ed the Goerli fork + started discussing mainnet dates. Starting at 9:00 on the recording should work, and I briefly summarized the first few minutes of the call 😅
@EthCatHerders That said, @parithosh_j shared his observations of the Goerli fork. While we did see a drop in participation rates, it was due to clients not having updated rather than any issue with Shapella. Once this was fixed, the network was running smoothly!
Deposits are being processed (goerli.beaconcha.in/validators/wit…), but it seems like several validators haven't upgraded. Looking into it 👀
One challenge with testnet validators is that given the ETH is worthless, there's less incentive to run a validator/monitor it.
Another possible cause is the large # of withdrawal credential changes processed right at the fork. Given this is the first time people can submit those changes, there are many more that need to be processed, which can lead to missed blocks/attestations on low-resource nodes