--- tags: eth2devs description: Notes from the regular proof of stake [Eth2] implementers call image: https://benjaminion.xyz/f/favicon-96x96.png --- # PoS Implementers’ Call #85 - 2022-04-07 [Quick contemporaneous notes by Ben Edgington; fka "Eth2 Implementers' Call"] Agenda: https://github.com/ethereum/pm/issues/510 Livestream: https://youtu.be/rYWF7N8tS0g Chaired by Mikhail Kalinin. ## Kiln office hours [Pari] No major issues on Goerli shadow fork 2 (with equal client split). Last shadow fork was on Monday, GSF3 which replicated mainnet client split. Geth team is debugging an issue that affected a small subset of nodes, but network is finalising and running well. GSF1 and GSF2 will be deprecated today. Mainnet shadow fork specs have been shared. Fork to take place next Monday. Pari is running all the validators. But main purpose is to test sync - anyone can do this. Plan to do Mainnet SFs every two weeks or so. MSF - be aware that we are using the Mainnet chain-id, so be careful if sending transactions to it: txs may also be included in mainnet blocks and cost you real ETH. [Mikhail] Has been working on a [test coverage document](https://hackmd.io/@n0ble/HyPsdoZQ9). [Terence] is also working on some [manual test cases](https://github.com/prysmaticlabs/prysm/issues/10489) for complex issues. Please feed back anything that's looks to be missing. Prysm has developed a proxy that can manipulate payloads which allows them to test optimistic sync more smoothly in end-to-end tests. ## Other client updates ### Eth2 **Lighthouse** Merge stuff. Full time person working on testing. Work on post-merge logging to make it smoother. Mostly tidying up and testing. Recent release enables proposer boost on mainnet. **Teku** Stefan Bratanov has joined. Working on MEV-Boost integration. On the Merge, we implemented another check on terminal block detection to take into account the block timestamp - we had had issues in testing due to a terminal block with a future timestamp. Now we ignore a potential terminal block with a future timestamp. **Lodestar** Continue Merge work. Substatial updates to gossip and SSZ coming in a release soon. Iterating on light client PoCs: have a closed-loop demo on Kiln, presented in Dubai. **Prysm** Release next week will enable proposer boost. Everything for the Merge is now in the master branch. Mostly tidying and testing now. Fixing some optimistic sync things. Working on integrating Web3Signer. **Nimbus** Integrating Merge branch into main branch. Looking at MEV-Boost and have early progress on light client support. Putting in support for threshhold signatures in the remote signer. Nimbus *execution* layer is now able to participate on Kiln! **Grandine** Fixes for the Merge. Web3Signer support. ### Eth1 **Geth** Debugging GSF3 issue ## Merge planning Recap of last ACD call decisions. Mainnet difficulty bomb will start being felt in May, becoming a problem in the following weeks. Would be good to Merge before it is too noticeable - 15-15.5s block times in July; 17s by end of July on a quick estimate. 15s is probably the maximum tolerable. We might be able to bundle the Execution client releases with a bomb postponement to buy a couple of weeks. Go/no-go decision on forking testnets to be made on ACD call 29th April. Probably fork a testnet every two weeks. Or whether to delay the bomb for a while. Clients need to be basically feature complete and production ready by the start of testnet forking. ## Spec discussion and AOB PR from Danny on [timeout](https://github.com/ethereum/execution-apis/pull/207) for Engine API calls. Does anyone think 120s is insufficient? Timeout being the number of seconds per epoch might also be convenient for progress of the chain. Please review! Next: [`LatestValidHash`](https://hackmd.io/@n0ble/SJ0WjzE75) stuff. These are Mikhail's thoughts. Do we want to support this? Please give feedback to Mikhail. ### Builder API / MEV-Boost [Lightclient] [Builder API/MEV-Boost](https://github.com/flashbots/mev-boost/pull/82) has been changed from being a middleware design. It's now a separate service that can provide blocks to the consensus client. How are teams doing with this? It's slightly more work than previously. There are three methods in the builder API. Two types of signing required: blind signing and fee recipient announcement. This approach moves towards being more gossip-based. [PaulH] Changing names so as not to conflict with engine API was a good move. Should we move the API spec out of the FlashBots repo? A little more credibly neutral. [Jacek] This all becomes part of the attack surface of Ethereum. Maybe we should require that clients implementing this feature should always have a back-up block available from the normal sources (Eth1 node). Discussion of reputation systems... need to make progress on having in-protocol solutions for these situations. [Lightclient] We should be more intentional about the proposer/builder separation direction of travel. [Terence] noted that no-one from FB joins these calls, though they host their own calls. EF could host general "block builder meetings" to help maintain some neutrality. Break-out room calls have been working well as part of ACD. Discuss further at DevConnect. Aslo see `#block-production` on discord to discuss builder API related things. ## Research and Spec ### Withdrawals [Alex] Take a look at [Partial Withdrawals PR](https://github.com/ethereum/consensus-specs/pull/2862) - looking good; mostly about parameter tuning right now. ### Networking There are a couple of pending PRs in the networking spec. Please review! - Deprecate BeaconBlocksByRange.step https://github.com/ethereum/consensus-specs/pull/2856 - Ignore subset aggregates https://github.com/ethereum/consensus-specs/pull/2847 ## AOB No call in 2 weeks due to DevConnect. Next call in 4 weeks. But ACD in three weeks, 29th April, will cover a lot of Merge things, so please join (and on the 15th). * * * # Chat highlights From Me to Everyone 02:59 PM : gm From lightclient to Everyone 02:59 PM : gm!' From Tim Beiko to Everyone 02:59 PM : gm! From Ansgar Dietrichs to Everyone 02:59 PM : gm From terence(prysmaticlabs) to Everyone 02:59 PM : gm From Mikhail Kalinin to Everyone 03:08 PM : https://hackmd.io/vjgC9hV_TrK1ZuftVm1rZA?both#Transition From terence(prysmaticlabs) to Everyone 03:10 PM : https://github.com/prysmaticlabs/prysm/issues/10489 From Ansgar Dietrichs to Everyone 03:28 PM : ttd + difficulty bomb delay + 3074 sounds like a perfect mini-fork 😛 From lightclient to Everyone 03:28 PM : +1 From Tim Beiko to Everyone 03:28 PM : +BLS From lightclient to Everyone 03:28 PM : ofc, another perfect mini-fork contender From stokes to Everyone 03:29 PM : +1 bls From Ansgar Dietrichs to Everyone 03:29 PM : maybe +progpow, seeing how it’s our final chance to have fun with pow? From Trenton Van Epps to Everyone 03:30 PM : tim we need to ban Ansgar I've been telling you this From Micah Zoltu to Everyone 03:30 PM : Oh man. That would be epic. From Trenton Van Epps to Everyone 03:30 PM : sorry that was supposed to be private From pari & proto to Everyone 03:30 PM : EIP to ban Ansgar? From lightclient to Everyone 03:30 PM : april fools was last week pari + proto From Trenton Van Epps to Everyone 03:30 PM : I've had a draft waiting for this day From Tim Beiko to Everyone 03:30 PM : My chat is all public on YT: there are no private messages From Micah Zoltu to Everyone 03:31 PM : ProgPoW which runs for "2 weeks"... but because there are no ASICs it ends up running for 2 months instead and we have to manually change the TTD. :P From Trenton Van Epps to Everyone 03:31 PM : (private message was a joke to be clear) From lightclient to Everyone 03:31 PM : nice cover up From Mikhail Kalinin to Everyone 03:32 PM : https://github.com/ethereum/execution-apis/pull/207 From Micah Zoltu to Everyone 03:32 PM : I'm now *super* tempted to DM Tim inappropriate things on accident... 12/120 is fine with me. From Marius to Everyone 03:35 PM : We can write ELs that take 100 seconds to execute a block to test that the CLs are working okaish From lightclient to Everyone 03:35 PM : that would be fun From Micah Zoltu to Everyone 03:36 PM : Just use the executable spec. From Mikhail Kalinin to Everyone 03:36 PM : https://hackmd.io/GDc0maGsQeKfP8o2C7L52w From lightclient to Everyone 03:47 PM : https://github.com/flashbots/mev-boost/pull/82 here is a diagram of the flow btw https://github.com/flashbots/mev-boost/blob/da3b1aa8cf9551a200329b6d62a154e47556cf51/docs/specification.md From Hsiao-Wei Wang to Everyone 04:00 PM : Partial withdrawals PR: https://github.com/ethereum/consensus-specs/pull/2862 From Mikhail Kalinin to Everyone 04:02 PM : deprecate BeaconBlocksByRange.step https://github.com/ethereum/consensus-specs/pull/2856 Ignore subset aggregates https://github.com/ethereum/consensus-specs/pull/2847 From lightclient to Everyone 04:04 PM : meant to also say, we've been using #block-production on discord to discuss builder API related things!