Ethereum Cat Herders Update #43

Rayonism update, Eth2 mainnet incident retrospective, latest on London & Altair upgrade; Steklo, Aleut & Baikal testnet. ACD, Eth2, Merge, EIPIP meeting update. JSON RPC documentation update, PEEPanEIP on refund removal proposal, upcoming community event and more.

Pooja Ranjan
Ethereum Cat Herders

Newsletter

9 min readMay 4, 2021

--

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

Rayonism ☀️

Rayonism is a scaling project around the ETH Global Scaling Hackathon (April 16 — May 14), experimenting with Merge and Sharding Eth1-Eth2 testnets. The project is live now!

Steklo, a super experimental Eth1-Eth2 post-merge testnet which is launched on April 30th with four Eth2 clients & 3 Eth1 clients. This is a step closer to The Merge.

Ethereum All Core Developers’ meeting

Removal of refunds (EIP-3529)

  • EIP-3529: Reduction in refunds — An alternate proposal to EIP-3403. Vitalik explained the proposal.
  • Tomasz (Nethermind) suggested avoiding it for London.
  • Martin S. (co-author) reiterated the benefit of the proposal — it helps get rid of Gas tokens which cause bad UX, gas prices going up. Refund removal will make state size more deterministic.
  • Tomasz shared some information — currently gas token minting is done at the lowest price. Miners will no longer be able to fill the block with gas minting. Not enough gas token to perform any attack. State bloating — if gas minting becomes unviable then there will be no issue of state bloating. State cleaning wasn’t the motivation earlier but a good reason for moving forward.
  • More Q&As, worth watching the recording.
  • Clients in agreement to finish implementing on time for London.
  • Lightclient’s tweet thread about this proposal.

Difficulty bomb (EIP-3238)

  • EIP-3238: Difficulty Bomb Delay to Summer 2022
  • Discussion on having a PR to change the timeline for pushing the bomb.
  • Afri S. is unwell and unavailable to merge the PR.
  • James H. will look into the proposal to create a new one and add Afri S.as a co-author.
  • General agreement: push the difficulty bomb to Dec 2021.
  • Alexey Akhnov (TurboGeth) argued defusing the bomb in London. Further discussion will continue async.

EVM Object Format (PR-3541)

  • PR-3541: Reject new contracts starting with the 0xEF byte
  • A new Proposal 3541 is introduced to be included in London, which is a stepping stone to proposal 3540- EVM Object Format (EOF) v1.
  • EOF will be a larger overhaul to the EVM and hence would be needed in Shanghai.
  • Clients generally seem okay with the proposal to be added as CFI for London. Go & no go will be decided in the following meeting.

Aleut (1st devnet for London)

  • Jochem (JavaScript) provided an update on the Aleut devnet. He sent multiple tx.
  • Access list tx are not getting mined because Besu does not include the tx. Besu will connect async to resolve the issue.
  • Few bugs found.
  • This devnet is nuked.

Baikal (2nd devnet for London)

London Upgrade Infrastructure Readiness Call

Ethereum Core Devs meeting 112 #: agenda, video, Tim’s tweet, ECH notes. The next meeting is planned for May 14th. Agenda.

Ethereum Core Devs meeting 111 #: agenda, video, Tim’s tweet, ECH notes.

Eth1.0 Clients update

  • GethKepler Verge (v1.10.2) is a maintenance release, containing bug fixes and a few minor new features.
  • OpenEthereum v3.2.4 — Fix for Typed transaction broadcast.
  • Besu21.1.5. Additions and Improvements — Ignore nonce when supplied to eth_estimateGas or eth_call. Ignore privateFor for tx estimation. Bug Fixes. Fixed NullPointerException when crossing network upgrade blocks when peer discovery is disabled.
  • TurboGeth2021.04.05-alpha. Changelog —
    fixes to trace_transaction and trace_get; Aleut support (EIP-1559 + BASEFEE opcode). Enabled by --chain aleut; version compatibility check for RPC daemon (for both DB schema and gRPC compatibility); newPendingTransactions subscriptions; eth_getTransactionReceipt now returns chainID; improved Clique support.
  • Nethermind — v1.10.66. [SYNC] Update pivots; [JSON RPC] Enable compression on HTTPS when requested by the client; [Logging] Some logs cleanup; [Rayonism] hotfixes for Rayonism testnets.
  • Ethereum JS @ethereumjs/tx v3.1.4. Added a new boolean hashMessage parameter (defaulting to true) to getMessageToSign() to allow for returning the raw unsigned EIP-155 tx and not only the hash,

Eth2.0 Implementers meeting

  • Teku: Altair work going good, Gossip changes all done, API format working well, storing orphan blocks. Infura is providing Beacon chain API for Teku.
  • Nimbus: Two releases, performance improvement, implementation of rest API (beta), implemented web2 providers. Attestation backing and participating in the Rayonism testnet.
  • Loadstar: Altair — implemented fork choice & spec test, passing consensus test, will be working on Lightclient during the hackathon.
  • Prysm: Altair - finished implementing a state transition, working on networking and validators stuff right now. Spec tests are passing for state transition. New slasher implementation will be in a release next week. Interop achieved with Catalyst for Rayonism.
  • Lighthouse: Passing tests for Altair - Issue — 2314, Issue- 2347. A lot of refactoring, RPC & gossip changes implemented. Participating in Rayonism. Big release with Doppelganger support.

Altair (Eth2 upgrade)

  • Feature complete version of Altair to begin the testnet is awaited. Working on transient testnet.
  • Refinement of additional test for Altair, sanity test, historical batch root, have to be done.
  • Pre-release for Altair this week.
  • ETA — end of June 2021.
  • Altair Optimization

Participation record optimization

— Sync committee computation optimization

Research updates

  • Merge discussion is active R&D Discord, mostly covered in the merge call.
  • Proto is managing 3 office hour calls for Rayonism.
  • Unified development of merge with Rayonism going well.

Eth2.0 implementers meeting 62#: agenda, video, Ben’s notes, ECH’s notes.

Eth2 Mainnet Incident (24–25 April)

— At epoch 32302, the beacon chain started missing a lot of block proposals.

— Most of Prysm Beacon Nodes were unable to produce new blocks for the next 18 epochs.

Epoch 32320 started behaving normally and the incident was considered to be over at that time. Around 24 hours later, the incident manifested itself again with a similar impact.

— A detailed report with the timeline and a retrospective is published by the Prysmatic Labs Team.

Eth2.0 Clients’s update

Source: https://medium.com/prysmatic-labs/eth2-mainnet-incident-retrospective-f0338814340c
  • Nimbus-eth2 v1.2.2. This is a bugfix release that improves the stability of the REST API and addresses issues discovered during the mainnet incident. Added an efficient attestation processing pipeline (less queuing). Fixed insufficient validation of third-party Eth1Data votes, sporadic REST API connection interruptions (due to large requests or
    result payloads), incorrectly logged empty GossipSub IWANT messages. Libp2p grafting timer: unnecessary re-grafting which occasionally led to scoring penalties.
  • Lighthouse — Pencilvester.
  • Lodestar — Release v0.20.0. Changelog — Lightclient consumer; add dependentRoot to duties API, remove getAttesterDuties limit in REST API; re-org validator REST API client; Altair: Sync Committee utils, SyncCommitteeContribution; add API REST response time metric. Save 1 epoch transition when the node is synced. Update performance test statistic. Add API endpoint to return state multi proof. Add fork_choice spec test, extend beacon state API to get unarchived finalized states. Merge rest controllers and routes. naive Altair alpha.3; getLatestWeakSubjectivityCheckpointEpoch API endpoint. Improve AggregateAndProof gossip validation.
  • Prysm — v1.3.8-hotfix+6c0942. This hotfix release has two critical fixes to resolve issues in mainnet. Initialize Data Correctly For Powchain Service. Independent eth1 voting. Update to this release immediately.
  • Teku —v21.4.1. Upcoming Breaking Changes — head event on the REST In a future release it will be changed so head the event is only published when a new chain head block is imported. The --Xvalidators-dependent-root-enabled option can be used to switch to the new behavior now for testing. The /teku/v1/beacon/states/:state_id endpoint has been deprecated in favor of the standard API which now returns the state as SSZ when the Accept: application/octet-stream header is specified on the request. The default docker image will be updated to Java 16 in an upcoming release. Support for automatic fail-over of eth1-endpoints. Basic authentication is now supported. Infura can now be used as the source of initial states. Implement standard rest API /eth/v2/beacon/blocks/:block_id which supports Altair blocks. Documented under 'Experimental' endpoints until more widely implemented. Implement Teku rest API to retrieve all blocks at a slot, which will return both canonical and non-canonical blocks at a given slot.

Merge Implementers’ Meeting 🤝

Rayonism Updates

  • Four Eth 2 clients — Teku, Prysm, Nimbus, Lighthouse and three Eth1 clients — Geth, Besu, Nethermind are ready for the first devnetSteklo.
  • Eth2 clients working on interop with other clients and Catalyst.

Research

  • The fork choice rule of the execution layer is updated.
  • Eth2 to Eth1 Validator’s withdrawal design has a PoC implementation for the withdrawal mechanism. Currently, partial withdrawals are not supported. It only works with validator exit, which leads to full withdrawals. The spec will be extended with partial withdrawals in a few days. Everyone interested in withdrawal should check it out.

Spec discussion

  • The Merge will go on the mainnet before sharding.
  • Theoretically, the changes that need to be done to the spec are pretty independent and can be worked on on the two specs in parallel. There's not much value in implementing sharding before the merge, except for testing value.

Merge implementers meeting #3: agenda, video, ECH’s notes.

EIPIP working group

Splitting out EIP repository into EIPs & ERCs

  • A new ERC repo has to be created.
  • For ERC number assignment — the ERC author creates an issue at the EIP repo to assign themselves a number.

JSON RPC API spec in Eth1.0 repo

  • Alita M. worked on ethCall, and submitted the Eth block number spec. Expected to have ethCall following week.
  • Pooja proposed creating an issue to track tasks.
  • Alita opened a JSON RPC discord channel to share work-in-progress specs.
  • It will be on the ACD Discord channel when the full spec is ready.

EIP GitHub repo action bot

  • Making good progress, hopefully will be done, depending on the bandwidth of reviewers.
  • It’s starting to get close to functional. It has hacks, but less than the bot that is currently used.
  • Shout outs to Micah Zoltu and Alita Moore.

Canonical source for EIPs

  • Making good progress,
  • A WIP EIP Signal Source Cleanup document can be followed to share your feedback and comments.

EIP and ERC editors

  • matt garnett volunteered to be an editor for ERC repo.
  • The group is working on determine pay rate for EIP and ERC editors.

EIPIP meeting 31#: agenda, video, ECH’s notes.

Events & Hackathon

Ethereum Cat Herders

Peep an EIP

https://youtu.be/jqmM3xL6Ny8

ECH meetings

  • The new ECH website is live. Minor bug fixing needed, should be ready be next ECH meeting. We welcome your feedback and improvement suggestion.
  • Resources to document notes — ECH is currently inviting community participation to document client meeting notes and claim allocated bounty. If you’re interested to contribute, please reach us at ECH Discord.
  • The Ethereum Cat Herders meeting #57: agenda, video, notes. The next meeting is scheduled for May 11, 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.