--- tags: eth2devs description: Notes from the regular proof of stake [Eth2] implementers call image: https://benjaminion.xyz/f/favicon-96x96.png --- # PoS Implementers’ Call #84 - 2022-03-24 [Quick contemporaneous notes by Ben Edgington; fka "Eth2 Implementers' Call"] Agenda: https://github.com/ethereum/pm/issues/501 Livestream: https://youtu.be/ThoT6-eLTN0 ## Kiln office hours There was a devs call last Monday around testing. The next few weeks are critical: lots of testing required. Members of each team should help support these efforts: work with Hive, Kurtosis, etc. [Pari] Goerli Shadow fork config released and nodes are running. TTD in around ~~an hour~~ten hours. Pari is running all the nodes. Uses a mainnet-like distribution of clients. [Explorer](https://beaconchain.goerlishadowfork.ethdevops.io/). We need to have the base fee above 255 Wei in order to test the endianness issue that showed up on Kiln launch. It's currently 9 Wei, so need to spam Goerli for a while. Marius to take care of this. Shadow forking mainnet: plan to include more participants, target 2 weeks from now. Plan is to run devnet-6 next week, depending how that goes and Goerli shadow fork then do shadow fork of mainnet. Configs for devnet-6 expected Monday. [Danny] Suggest using the ERC20 variant of the deposit contract for the mainnet shadow fork to allow us to add validators without burning all the ETH. Client teams should closely monitor the shadow fork and treat any issues as a "fire-drill". [Pari] There is now a nightly CI cycle with Kurtosis, with each client as a majority. This is getting large, so would be good for client teams to look in and check on their own client runs. Let Pari know which branch or release method your team uses so as to get the right versions (if he doesn't already have the info). [Mikhail] JSON RPC block tags. Previously discussed adding a "justified" tag, and decided not to. List is now "earliest", "finalized", "safe", "unsafe", "pending" - [PR](https://github.com/ethereum/execution-apis/pull/200). There is a suggestion to remove "latest" as it is considered deprecated, but this is likely too disruptive to Dapp developers. [Jacek] In parallel with optimistic sync, Nimbus has been playing with light client sync. Plan to launch Req/Resp and gossip for light clients on Kiln, unless anyone has any objections. There is a (draft) PR in the consensus spec repo that defines the protocol. Nimbus prefixes a `v0` so as not to pollute the stable namespace. "It's kind of cool". [Terence] Is anyone implementing a way to retrospectively verify the terminal block (if it has been synced optimistically)? Lighthouse has a PR for it; Teku does this. If it fails, panic - it's irrecoverable. ## Other client updates **Teku** [Incident report](https://github.com/ConsenSys/teku/wiki/Post-Incident-Review---Deposit-Processing-Performance) is out. **Nimbus** Consensus spec thoughts: 1. Aggregate bandwidth and de-duplication. [PR-2847](https://github.com/ethereum/consensus-specs/pull/2847) expands on aggregates we are allowed to ignore. Also extended to contributions, gives a nice improvement. 2. Beacon blocks by range requests has a `step` parameter. But nobody takes advantage of this and it is difficult to maintain the code, so propose removing the feature. [PR-2858](https://github.com/ethereum/consensus-specs/pull/2856). Also does not fit well with execution client API. It can be removed in a backwards-compatible way by returning only one block. **Please review the PR** and consider how your client would be impacted. [Nishant] Prysm does use this for periods of non-finality, but can workaround with step being one. ## Withdrawals [Meta-spec](https://notes.ethereum.org/@ralexstokes/Skp1mPSb9). Consensus layer changes: - [PR-2836](https://github.com/ethereum/consensus-specs/pull/2836) - plan to merge it today - [PR-2854](https://github.com/ethereum/consensus-specs/pull/2854) - Credential change operation to be merged today - Partial withdrawals proposal. Danny will post PR today on this. Would like more eyes on these, please! ## Research Updates Any updates on EIP-4844? (Blob transactions). Terence has a Prysm branch, Lodestar starting work soon. ## Spec discussion and AOB [Tim] How about EIPs for changes to the consensus layer? Eth Magicians' [discussion](https://ethereum-magicians.org/t/core-eips-in-an-executable-spec-world/8640/3) - please get involved. Idea is to unify the process on both sides around executable specs. [Danny] Keeping features in separate directories while they are under development rather than putting the whole of an upcoming fork's changes in one directory. Merging them before the fork. [Lightclient] mentioned a different approach based on PRs that I didn't quite catch, but is being discussed on the execution side [further discussion...]. PRs are short-lived, branches are long-lived (and independent of GitHub). _Closing rallying cry: Testing, Testing, Testing!_ * * * # Chat highlights From pari to Everyone 02:05 PM : https://beaconchain.goerlishadowfork.ethdevops.io/ https://explorer.goerlishadowfork.ethdevops.io/ https://rpc.goerlishadowfork.ethdevops.io/ From Tim Beiko to Everyone 02:09 PM : Tune in to ACD next week for the GoETH supply conversation! From lightclient to Everyone 02:09 PM : short goeth, long acd From Tim Beiko to Everyone 02:10 PM : To Shadow Fork mainnet, we need to deploy a deposit contract on mainnet? From pari to Everyone 02:10 PM : We could reuse the existing deposit contract and just change the genesis fork id From Mikhail Kalinin to Everyone 02:13 PM : +1 for ERC-20. I think it’s a simplest way to do this thing. Dealing with deposits isn’t in the scope of shadow-forking Mainnet testing effort. From pari to Everyone 02:14 PM : I made a mistake with the goerli shadow fork ttd estimation, we’re still 5000 tdd away. So it’ll be hit in ~10h and not in the next hour. From Tim Beiko to Everyone 02:14 PM : Not sure if Danny mentioned this, but next week’s testing call is at an AUS-friendly time! From Mikhail Kalinin to Everyone 02:18 PM : https://github.com/ethereum/execution-apis/pull/200 From Gajinder lodestar to Everyone 02:24 PM : could you share the PR, lodestar would be interested to try it out :) > Jacek to share in Discord later. From Me to Everyone 02:28 PM : https://github.com/ConsenSys/teku/wiki/Post-Incident-Review---Deposit-Processing-Performance From danny to Everyone 02:28 PM : good eye preston! From Preston Van Loon to Everyone 02:30 PM : glad I could help From danny to Everyone 02:32 PM : https://github.com/ethereum/consensus-specs/pull/2847 https://github.com/ethereum/consensus-specs/pull/2856 We do use step i think as part of finding the common ancestor but it’s relatively rare we wind up needing to go down that path (only periods of non finalisation) and our experience is that other clients rate limiting is so tight as to make step pretty useless (they count the number of slots the request span instead of the number of slots actually requested). So I don’t think it’s an issue to remove it. from adrian (teku) https://notes.ethereum.org/@ralexstokes/Skp1mPSb9 From lightclient to Everyone 02:39 PM : mergemock is updated to kiln-v2 fyi From Tim Beiko to Everyone 02:44 PM : https://ethereum-magicians.org/t/core-eips-in-an-executable-spec-world/8640/3 I think PRs are harder to keep a historical for Most EIPs don’t make it to mainnet, but we want a historical record of the proposals. If we use PRs, it’s 100% dependent on Github, but if we use a folder in the spec, that gets saved in the .git repo directly.