timbeiko.eth Profile picture
Mar 30 30 tweets 33 min read Twitter logo Read on Twitter
We wrapped up another @ethereum #ACDE today: covered Shapella, EOF, SELFDESTRUCT, EL -> CL state access, local block building & verkle tries 🌳

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

Recap below 👇
@ethereum First, Shapella is coming! The announcment came out earlier this week:
@ethereum Note that @ErigonEth has had a version update since the initial announcement:

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 Next up, @alexberegszaszi gave an update on EOF - whose latest spec version is ambitiously named 😂

notes.ethereum.org/ZOEv9yyHQdmxTV…
@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 A diff with the previous meta spec can be found here: gist.github.com/axic/85c0ed993…
@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 Next up, Dankrad shared a new proposal to deal with SELFDESTRUCT: EIP-6780 (eips.ethereum.org/EIPS/eip-6780)
@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 will be analyzing contracts more thoroughly in the coming weeks - if you think EIP-6780 would break something significant on chain, please make yourself heard here: ethereum-magicians.org/t/deactivate-s… 📣
@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 Next up, @ralexstokes gave an update on trust-minimized CL access by the EL: notes.ethereum.org/@ralexstokes/n…
@ethereum @ErigonEth @alexberegszaszi @ralexstokes As the doc states, the first part here is providing access to the CL's state roots on the EL, which is what EIP-4788 proposes. That said, to verify proofs, you would also need access to the CL's Generalized Index (github.com/ethereum/conse…)
@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 Next up, @mkalinin2 asked for updates on implementing the builder override flag in EL clients: github.com/ethereum/execu…
@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 The conversion from MPT to VT is also still a bottleneck, taking 18h on the quickest implementation (Erigon) and much longer on others.
@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!
@ethereum @ErigonEth @alexberegszaszi @ralexstokes @mkalinin2 @gballet @URozmej @dankrad And that was it! Next ACDE is set for April 13, right after Shapella 👋! See you then 😄

• • •

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

Keep Current with timbeiko.eth

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

Mar 30
Looking at the numbers, it seems like about 2/3rd of funds allocated to client teams went to the *teams* vs. 1/3rd to PG (individuals) 👀

Results skew more towards individuals if you add the 4844 collection, which had some interesting pushback: gov.optimism.io/t/feedback-on-…
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 🧱
Read 4 tweets
Mar 30
@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 😄
Read 4 tweets
Mar 28
It's happening 🎊

Shapella is scheduled on mainnet for epoch 194048, scheduled for 22:27:35 UTC on Apr. 12, 2023 📆

Client releases compatible with the upgrade are listed in the announcement below 👇

blog.ethereum.org/2023/03/28/sha…
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 🐞

ethereum.org/en/bug-bounty/
Read 6 tweets
Mar 16
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 😸

Agenda: github.com/ethereum/pm/is…
Recording: youtube.com/live/ViLwzeIuJ…

Recap below 👇
@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!
Read 27 tweets
Mar 14
Goerli forked!
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
Read 6 tweets
Mar 8
🌃 Goerli is moving to Shapella 🌃

📆 Upgrade @ epoch 162304, (10:25:36 PM UTC on Mar. 14, 2023)📆

Client release versions, FAQs and community calls + watch parties are all linked below ⤵️

blog.ethereum.org/2023/03/08/goe…
If you're a staker, I strongly recommend reading the Withdrawals FAQ: notes.ethereum.org/@launchpad/wit…
If you'd like to test things prior to the Goerli upgrade, you can run a validator on Zhejiang zhejiang.ethpandaops.io
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!

:(