Ethereum Cat Herders Update #42

Berlin upgrade, OpenEthereum consensus issue, ACD meeting, Aleut testnet, London & Altair upgrade, Rayonism, Merge implementers call, EIPIP meeting, community events and more updates.

Pooja Ranjan
Ethereum Cat Herders

Newsletter

7 min readApr 21, 2021

--

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

Berlin upgrade 🎉

https://youtu.be/GQcXUn5XG5c

overview of Berlin improvement proposals,

understanding Forkmon explorer by Martin Swende (Go-Ethereum),

stories of earlier upgrades, EIPs fun facts, and other interesting conversations.

Ethereum All Core Developers’ meeting

OpenEthereum consensus issue

— Bug in the way 2929 was implemented. Martin found the bug.

— It is fixed, recommended to switch to version 3.2.4.

— The team will be publishing a postmortem report soon.

Analysis

— Initially, it was considered as an oversight but later realized that it could not have been discovered because of the chain configuration.

— Had Hive chain config been identical to the number, could have been identified earlier.

Mitigation plan (suggestions)

— In order to debug things, it is good to have tools to forcibly import and trace non-canonical blocks that were previously rejected.

— Have a standard tracing format (Martin has an Opcode trace which is standard tracing format).

— The hive test suite could potentially use more mainnet-like config files.

Aleut

— The Aleut devnet is up and running with EIP-1559 and EIP-3198, but the JSON RPC APIs are not fully defined for 1559.

— Nethermind — syncing with the devnet, getting ready for London

EIP-3403: Partial removal of refunds

  • Will Morris highlighted some of the concerns that had been brought up on EthMagicians.
  • TurboGeth & Geth agrees to go ahead with EIP-3403. OpenEthereum & Nethermind do not agree to put in the devnet as yet, but generally in favor of the proposal. Adding to the devnet was supported by other researchers on the call.

EIP-3436: Expanded Clique Block Choice Rule

Danno Ferrin proposed EIP-3436 that suggests adding a four-step block rule to Clique that should reduce block production deadlocks. This may help address the issues that the Goerli network saw a few months back. Not enough time to collect responses.

EIP-3074: AUTH and AUTHCALL opcodes

Matt Garnett provided an update for EIP-3074. The team is working with EF to get an audit done. Ansgar proposed to add EIP-3074 to Aleut devnet. No strong conclusion derived. Ethereum Cat Herders are organizing a community call for EIP-3074.

Other resources

ACD meeting #110: agenda, video, Tim’s tweet. The next meeting is scheduled for April 23, 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

Altair

— Need more clean-up, testing is being done. The implementation team needs to provide thumbs up for release.

— Estimated timeline — June or July but too early to confirm.

  • Metrics standardization— Paritosh & Leo brought up metrics standardization efforts. refer to Eth2 client metrics here.

Research

— Block restructure is changed

— No change to n/w structure.

— Good security & performance

— Seems like a good fix

Note: This is not for Altair but a modification of the phase 0 rule.

Merge

— Continue to refine the spec

— PR in the spec repo for change in terminology

— Contributors are organizing devnets for the Rayonism hackathon.

— Focused on former PoW client to turn in the execution engine.

Eth2 implementers meeting #61: agenda, video, Ben’s notes, notes, Alex Stokes tweets.

Eth2.0 Clients’s update

  • Nimbus-eth2 v1.2.1. This is a hotfix release that solves the database migration issue highlighted in the previous release (v1.2.0). v1.1 was the big I/O update, v1.2 is all about the CPU - together, these updates help secure Nimbus against future network growth, and provide us with a higher security margin and substantial profitability improvements. CPU usage has been cut by up to 50% over v1.1.0. v1.2.0is the first release officially recommend for validating on a Raspberry Pi 4.
  • Lighthouse — Pencilvester. This release contains an important bug fix to the Beacon Node (lighthouse bn) and should be considered a high priority for all stakers. An additional validation condition is applied to aggregated attestations which prevent incorrect attestations from filling up the operations pool. Additionally, provides improvements to block-packing which will result in better block rewards for stakers.
  • Lodestar — Release v0.19.0
  • Prysm — v1.3.8. This weekly release of Prysm has no critical bug fixes. Notable changes: Gossipsub peer scoring is now enabled for all. Improved health check for eth1. ListForkChoiceHeads is implemented in standard API. Many refactoring and commentary updates.⚠️ 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. ⚠️
  • Teku — v21.4.0. Optimized validation of aggregate gossip messages to reduce CPU usage. Upgraded to use BLS implementation BLST version 0.3.3. Teku now waits for Eth1 nodes to finish syncing before requesting data from them. Reduced CPU usage required when processing gossip messages by optimizing peer scoring. Added new metrics to Validators. Early access: LevelDB based database to reduce native memory usage and disk space. Migration for the existing database will be added in a future release.

Merge Implementers’ Meeting 🤝

Terminology

  • Update in general terminology. Eth2 ->Consensus, Eth1 ->Execution
  • Layer ->Engine or Sub-system

Execution layer discussion

  • Communication protocol — How to handle potential issues and errors of failure? No spec specification available for error handling.
  • Geth — Started working on new consensus engine, not merged yet. The team will start working on synchronization.

Merge implementers meeting #2: agenda, video, Proto’s notes,

Additional resources

EIPIP working group

https://www.youtube.com/watch?v=FdCeXxok2Fw
  • Split EIP and ERC repos.
  • JSON RPC spec shall be documented under eth1.0-specs/json-rpc
  • Remove “testing greelight” from EIP process.
  • Progress on EIP bot.
  • EIPIP meeting #30: agenda, video, notes.
  • The next EIPIP meeting is scheduled for April 21 at 1500 UTC. Agenda.

Community events

Ethereum Cat Herders

Peep an EIP

Released video

EIP-3198: BASEFEE Opcode Ratan Rai Sur.

Upcoming

All new Ethereum Cat Herders website

Ethereum Cat Herders has launched a fresh new look for the website to make information easily available for the community. Many thanks to Unvetica team for the design & development of the website. If you have got an improvement suggestion, share it with us.

  • The Ethereum Cat Herders meeting #56: agenda, video, notes. The next meeting is scheduled for April 27, 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.