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.
Welcome to another edition of the Ethereum Cat Herders community update to bring you up to speed since the last update.
Berlin upgrade 🎉
- Ethereum Berlin upgrade was deployed on Apr-15–2021 10:07:03 AM +UTC on block #12244000.
- Ethereum Cat Herders streamed Berlin upgrade countdown community call. Watch the recording for
— overview of Berlin improvement proposals,
— understanding Forkmon explorer by Martin Swende (Go-Ethereum),
— stories of earlier upgrades, EIPs fun facts, and other interesting conversations.
- Berlin upgrade retrospective details the timeline of the OpenEthereum Mainnet Consensus Issue.
- A Twitter thread about the issue by Alex Stokes.
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
- AllCoreDevs Update 002 by Tim Beiko
- Ethereum Core Developer job opening at Gnosis.
ACD meeting #110: agenda, video, Tim’s tweet. The next meeting is scheduled for April 23, 2021, at 1400 UTC.
Eth1.0 Clients update
- Geth — Gemini 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.
- Besu — 21.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.
- TurboGeth — 2021.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
- Alpha.3 (pre-release)
— 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
- Fork choice spec are ready PR -2292
— 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% overv1.1.0
.v1.2.0
is 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
- How to set up a local eth1-eth2 merge testnet — A tutorial by Protolambda.
EIPIP working group
- 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
- EIP-3074 community call on April 26, announcement blog.
- Global Scaling Hackathon (April 16 — May 14), participate in Rayonism.
Ethereum Cat Herders
Peep an EIP
Released video
EIP-3198: BASEFEE Opcode Ratan Rai Sur.
Upcoming
- Difficulty bomb with Afri S.
- Follow EIP scheduled at ECH GitHub. If you have any questions related to a proposal, or you want to join a talk with the author, reach me on ECH Discord.
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 yours ❤️ with the Cat Herders at Gitcoin & Clr.fund. We accept all tokens!
- Join the decentralized project management team by submitting the ECH onboarding form and at ECH Discord.
- Follow the Ethereum Cat Herders at Website, GitHub, Twitter, Medium, and YouTube.
Share your question, comments, and suggestions with me on Twitter. Thank you for reading 🙏.
— The Ethereum Cat Herders