Ethereum Cat Herders Update #41

An updated roadmap for Stateless Ethereum, Verkle tree migration, Epoch based state expiry scheme, Merge Implementers meeting — Consensus Upgrade discussion, Eth1 upgrades -Berlin, London, Shanghai update, Eth2- Altair, Prater, research update, ECH Berlin community call, PEEPanEIP — RPC spec, ENS & Fork identifier proposals, and more.

Pooja Ranjan
Ethereum Cat Herders

Newsletter

9 min readApr 7, 2021

--

Welcome to another edition of the Ethereum Cat Herders community update to bring you up to speed since the last update.

Ethereum Statelessness: Epoch-based state expiry

Verkle tree migration

Epoch based state expiry scheme

— Only the most recent tree (ie. the tree corresponding to the current epoch) can be modified.
— Full nodes (including block proposers) are expected to only hold the most recent two trees, so only objects in the most recent two trees can be read without a witness.

An updated roadmap for Stateless Ethereum

— Stateless validators for “The Merge” via block witnesses

— Mitigating state growth via State Expiry

— Stateless Client Infrastructure via “Portal Clients”

— Regenesis (but maybe without the state clearing)

There is a huge requirement for developers to work on the proposal and are looking to have different teams — State expiry team, Statelessness team, History expiry team. If you are interested or you know someone who can be helpful, please reach out to Piper Merriam.

Other resources:

Merge Implementers’ Meeting

Rayonism announcement ☀️

  • Rayonism is a scaling project around the ETH Global Scaling Hackathon (April 16 — May 14), experimenting with Merge and Sharding Eth1-Eth2 testnets. This is an important hackathon that may help decide the timeline of the merge. If you’re interested to participate and or contribute in any way, contact Protolambda (Eth2).

Consensus Upgrade discussion

For general understanding,

  • Application layer = Mempool, EVM, change mgmt, tx pool
  • Consensus Layer = Beacon chain & consensus layer

Application-layer (EVM layer)

  • Mikhail shared Ethereum consensus upgrade [application-layer perspective] that contains the design for application layer post-merge.
  • Communication between the Application & Consensus layer— Currently switching between modes is one-way action, which can be considered bi-directional. The beacon chain will pass on the information.
  • Block processing — block will be usable at the exact time
  • Block gossip is deprecated after the merge.
  • Finalization — 64 blocks

This document also provides us an overview of the Transition Process. Application-layer switches between three subsequent operation modes during the transition.

  1. PoW mode. Application-layer operates as normal. The chain is secured by PoW, thus, all PoW validity conditions are maintained and the fork choice rule remains unchanged.
  2. Transition mode. PoW blocks are received from the wire, verified, and processed as usual. It implies missing ancestor blocks are being requested from other peers. The total difficulty rule is replaced by the external fork choice rule.
  3. PoS mode. Block gossip is disabled implying that no PoW blocks are processed and propagated across the network. Consensus-layer messages become the only source of application blocks.

Consensus-layer (Beacon chain layer)

Merge implementers meeting #1: agenda, video. The next meeting is scheduled for April 15, 2021, at 1400 UTC.

Ethereum All Core Developers’ meeting

Berlin updates

  • Rinkeby testnet is forked on Mar 21, 2021, everything went well. Mainnet expected on Apr 15th.
  • EthCatHerders is organizing a Berlin Upgrade Countdown Community Call to watch it go live. Also, read The Berlin Upgrade Overview to learn about Berlin EIPs.

London upgrade

  • EIP-1559 — Besu, Nethermind and Geth implementation are in sync on a testnet with the latest version including EIP-2718 transaction envelopes implemented. An issue is identified, the team will work on that.
  • The first client integration testnet for London will be started soon. It will be called Aleut.

Shanghai or merge

  • There is huge community sentiment in favor of merge sooner rather than later. However, not all teams can move at the same speed. TurboGeth is working on a new client from scratch, OpenEthereum is still in the process of being transitioned over to new maintainers, etc. so we need to be mindful of that if we want to maintain client diversity.

Other proposals

  • EIP-3403: Partial removal of refunds — William Morris shared his disagreement with the proposal and interest in the EIP-3298: Removal of refund. EIP-3403 & its alternatives will make GasToken unusable and the value of existing gas tokens would go to zero.
  • EIP-3198: BASEFEE opcode — It is a very small change. No major objection for this proposal and it will be included in the Aleut devnet.
  • EIP-3074: AUTH and AUTHCALL opcodes — This proposal received huge interest from the dApp developers community. A Geth implementation, testnetis setup for testing the proposal! If you’re interested in trying it out as a smart contract or wallet developer, reach Sam Wilson. Alexey A. (TurboGeth) & Martin S. (Geth) expressed some concerns. matt garnett a document Threat model to address possible security concerns. Vitalik mentioned that multi-operation transactions will become more and more common as people start using multisig/social recovery wallets, so in practice, we are headed to a world with 3074-like trust guarantees and we’ve to come up with ways to address the security concerns and this proposal may be useful for the future. Dan Finlay’s comment on Fellowship of Ethereum Magicians.
  • EIP-2537: Precompile for BLS12–381 curve operations — Kelly Olson shared the progress update. It is almost at the same state as last time except for minor repricing. He asked, “What additional information is needed by core dev for CFI?” There is no clarity if either or both BLS & EVM-384 should be implemented.
  • EVM-384 — Paul published a report on the progress.
  • EIP-2677: Limit size of `initcode` — No strong objection but more investigation needed before including.

ACD meeting #109: agenda, video, Tim’s tweet, notes. The next meeting is scheduled for April 16, 2021, at 1400 UTC.

Eth1.0 Clients update

  • GethGemini Sigma (v1.10.1) is a minor release with the sole purpose of enabling the Berlin hard-fork!
  • OpenEthereum v3.2.2-rc.1. Bug fixes & enhancements. Add Nethermind to clients that accept service transactions. Bump ethereum/tests to v8.0.2. rpc module reverted for RPC JSON api. Revert “Remove eth/63 protocol version.
  • Besu21.1.3. Increase node diversity when downloading blocks. Ethereum Node Records are now dynamically recalculated when we pass network upgrade blocks. This allows for better peering through transitions without needing to restart the node.
  • TurboGeth2021.04.01-alpha. rpctest: recording/replaying requests. fixups for gas estimation, cleanup of unused code.
  • Nethermind — v1.10.51. Fixing fast sync for networks after Berlin fork. Mitigate issues with long branches. It could cause high memory usage and trouble with application closing. Support block reward block transitions. Database is forward compatible. The older version of Nethermind won’t work with a database created by 1.10.50 and above.
  • Ethereum JS @ethereumjs/vm v5.3.0. EIP-2930 Tx Access List Generation added, there is an edge case on accessList generation where an internal call might revert without an accessList but pass if the accessList is used for a tx run (so the subsequent behavior might change). This edge case is not covered by this implementation.

Ethereum 2.0

Eth2.0 Implementers meeting

Eth2 HF1 (Altair)

  • Altair specs.
  • Validator rewards analysis — Barnabe Monnot found that the invariant of 1 “base reward” per validator per epoch is slightly off, it is expected to be fixed in alpha.3 — test generator fix for fork choice test.

Eth2 Testnet (Prater)

  • Prater launch went well. Nimbus reported minor issue but resolved seems About 98% participation now!
  • Prater is a “devnet”, will migrate users soon, so they can use Pyrmont for testing e.g. non-finality

Research

Eth2 implementers meeting #60: agenda, video, Ben’s notes, notes, Alex Stokes tweet.

Eth2.0 Clients’s update

  • Nimbus-eth2 v1.0.12. This is a bugfix release correcting a minor error in the built-in Prater testnet configuration (an error which led to incorrect eth1 voting).
  • Lighthouse — Shleemypants. This release contains a fix for an issue where a small clock disparity between the beacon node and validator client would cause errors stating “request epoch [n+1] is ahead of the current epoch [n]”. This release also mitigates an incompatibility with Eth2 Infura (not Eth1 Infura) which was prematurely including Altair parameters in their API endpoints.

Lighthouse produced its first Eth1 & Eth2 merge transaction.

  • Lodestar — Release v0.19.0
  • Prysm — v1.3.6. This minor release has a few bug fixes and general improvements. This release contains an update to the most recent blst cryptography library. ⚠️ Prysm slasher binary will be deprecated soon. The slasher functionality will be available in the beacon node binary in an upcoming release. Validators using remote slashing protection will need to update their configuration in an upcoming release. ⚠️ Update blst to latest release.
  • Teku —v21.3.2. The events api /eth/v1/events - block event now returns the slot and root as detailed in the standard API specification, instead of the entire block.

EIPIP working group

  • EIPIP meeting #28: agenda, video, notes.
  • The next EIPIP meeting is scheduled for March 24th at 1500 UTC. Agenda.

Community events

Ethereum Cat Herders

Peep an EIP

Released video

EIP-2124: Fork identifier for chain compatibility checks with Felix

EIP-1474: Remote procedure call specification with Erik Marks & Marius VanDerWijden

ENS EIP-137: Specs. & 2544:ENS Wildcard Resolution with Nick Johnson

Upcoming

Upgrading the Ethereum Cat Herders website

The first draft of the website design was shared in the ECH meeting. With a new theme, it seems to be coming out well. If you have got an improvement suggestion, share it with us.

  • The Ethereum Cat Herders meeting #55: agenda, video, notes. The next meeting is scheduled for April 13, 2021, at 1500 UTC. Agenda.

Support the Ethereum Cat Herders

https://gitcoin.co/grants/782/ethereum-cat-herders-community-fund

Share your question, comments, and suggestions with me on Twitter. Thank you for reading 🙏.

— The Ethereum Cat Herders

--

--

Pooja Ranjan
Ethereum Cat Herders

Herder-in-chief @EthCatHerders, Founder @ether_world, EIPsInsight.com. I share news and views about blockchain technology. Ethereum.