--- tags: eth2devs description: Notes from the regular proof of stake [Eth2] implementers call image: https://benjaminion.xyz/f/favicon-96x96.png --- # PoS Implementers’ Call #83 - 2022-03-10 [Quick contemporaneous notes by Ben Edgington; fka "Eth2 Implementers' Call"] Agenda: https://github.com/ethereum/pm/issues/489 Livestream: https://youtu.be/SEVY6-Zr2OM ## Kiln office hours Public Kiln testnet: configs went up yesterday. ~105k validators currently planned. Contact Pari if you want some validator keys. PoW genesis has occurred. PoS genesis (beacon chain) has not yet happened - genesis will be tomorrow. TTD is set to ~100 million, which should take us to mid next week before the Merge event. Expect a blog post from the EF ~~tomorrow~~Monday. [Mikhail] [Kiln v2.1 spec](https://hackmd.io/@n0ble/kiln-spec#v21-change-set): backwards compatible with v2.0. Can upgrade to 2.1 later after testnet is started. - Quality of service change on ping exchange - Optimistic sync update [Marius] Has written a differential fuzzer for the execution layer. Starting to add clients. Already found some difference between Geth and Besu. Adding Nethermind, EthereumJS and Erigon in due course. Contact Marius to get your client added. Sigma Prime is working on updating Beacon Fuzz for Bellatrix. [Mikhail] [Kiln milestones](https://notes.ethereum.org/@timbeiko/kiln-milestones) table could do with some updating. Client teams, please continue to maintain this. The transaction fuzzer is running intermittently on Kiln. The bad block generator has been updated to the v2 spec, but is not running yet (it's only useful post-merge). We should add a random validator operations generator to the consensus side (exits, slashing reports, etc). Will aim to do a "more frozen" consensus spec release at the end of March after seeing how it goes on Kiln. [Pari] Would be great if infrastructure providers could start testing on Kiln, especially with execution endpoint and security token. We've found some issues recently and there may be more that it would be good to surface. [Tim B] There is a [Dune dashboard](https://dune.xyz/yulesa/Blocks-per-Week) looking at mainnet block frequency - this will help in [predicting](https://ethresear.ch/t/blocks-per-week-as-an-indicator-of-the-difficulty-bomb/12120/2) the difficulty bomb timing. ## Other client updates **Teku** Is updating CLI options to remove the `-X` experimental prefix for Merge things. The `kiln` network is now supported in the master branch. Release early next week. ### Fee recipient handling **Prysm** Implementing fee-recipient handling. **Lighthouse** Fee recipient stuff is in place, but could do with some polishing. **Teku** Available from the next release. [Marius] The coinbase can be specified on the Eth1 side - should we override the consensus client if it does not provide a coinbase? Note that Geth currently won't start the miner if the coinbase is not set. [Danny] If the consensus layer is not providing a useful fee recipient then using information on the execution side to set it is reasonable. Alternative is to not allow a validator client to start without having fee recipient set - at least it ought to be noisy about it. Teku will not start if it has validators but no fee recipient, and also will refuse to propose a block. Refusing to start might be too severe, as a validator can still attest with no fee recipient set. [Marius] We've learned that most people don't look at logs - better to blow up quickly rather than run a bad set-up. But the contrary view was put by [PaulH]. Teams to consider how to handle this for their own clients. ## Research Updates ### Blob transactions [Proto] EIP 4844 consensus layer [changes](https://github.com/ethereum/consensus-specs/pull/2850) (blob transactions) has been moved in to consensus specs repo. Please review and comment. Prysm has an [experimental branch](https://github.com/prysmaticlabs/prysm/pull/10315) with the changes. [Proto] Would like some review on the sync method for the blobs. Similar to `getBlocksByRange` method. Working on some benchmarks for the KZG commitments ahead of next week's ACD call. [Further discussion...] Plan is to implement this when the withdrawals fork takes place (corresponding to the Eth1 Shanghai or whatever name fork). [Proto] EIP 4844 (as currently specified) does not affect the beacon state format. There is a small change to the beacon block format. [Saulius] Grandine has done [some benchmarks](https://github.com/sifraitech/kzg/runs/4868992790?check_suite_focus=true) of KZG commitments with different libraries and some parallelism that may be useful. [If `ckzg` is my own [c-kzg](https://github.com/benjaminion/c-kzg) library, then I am happy to see that it looks to be the quickest :rocket:] ### Withdrawals Putting together a meta-spec with some more narrative to make the picture more coherent. ## Spec discussion and AOB What's the plan for hosting specs that span both consensus and execution layers (meta-specs)? [Tim B] There are advantages to using EIPs for this - it's a tried and tested process. Execution specs are moving closer to looking like the consensus spec. EIPs could then contain prose explanation plus links to a PR against each of the consensus and execution specs. [Proto] Request to discuss in next ACD call. [Micah] Please bear in mind that there is already a shortage of EIP editors. [Tim B] Ideally the new process would be _less_ work overall. Any updates on algorithm for calculating safe head? [Dankrad] There are some issues with the LMD part of GHOST that are making things harder than previously thought. Continuing to work on this. [Danny] Suggest continuing to stub "head" for "safe" until this is resolved and not exposing this to users via the Eth1 API. Could use "finalized" instead, but best approach is not to allow the execution layer to expose this information until it is sorted out. There is a call tomorrow to discuss the Eth1 fork naming for the fork previously known as Shanghai (tomorrow 1400 UTC). Note that daylight saving is starting in the USA, so meetings will move around - they are anchored to UTC! * * * # Chat highlights From lightclient to Everyone 02:01 PM : gm From Me to Everyone 02:01 PM : gm From protolambda to Everyone 02:01 PM : gm From terence(prysmaticlabs) to Everyone 02:01 PM : gm From Enrico Del Fante to Everyone 02:01 PM : gm From danny to Everyone 02:02 PM : https://github.com/ethereum/pm/issues/489 From pari to Everyone 02:03 PM : https://kiln.themerge.dev/ From Lion dapplion to Everyone 02:05 PM : What's the initial validator count of the network? From pari to Everyone 02:06 PM : 104k validators General public have already made a dozen validators From Lion dapplion to Everyone 02:06 PM : That's the target for the next 1-2 months? Or want to ramp up to 300k From pari to Everyone 02:06 PM : Currently we have no plans to scale it to that degree From Mikhail Kalinin to Everyone 02:09 PM : https://hackmd.io/@n0ble/kiln-spec#v21-change-set From Mikhail Kalinin to Everyone 02:13 PM : https://notes.ethereum.org/@timbeiko/kiln-milestones From pari to Everyone 02:14 PM : Nope, no node running bad block generator yet. From Tim Beiko to Everyone 02:18 PM : https://dune.xyz/yulesa/Blocks-per-Week https://ethresear.ch/t/blocks-per-week-as-an-indicator-of-the-difficulty-bomb/12120/2 From Micah Zoltu to Everyone 02:29 PM : We should assume people don't look at logs at all. Fail hard, fail fast. From Micah Zoltu to Everyone 02:31 PM : How about **SHOULD** hard fail if there is no validator at startup? Clients can have exceptions, but barring a good reason you should fail hard and fast. From Lion dapplion to Everyone 02:33 PM : Do expect users to provide the fee-recipient at the validator binary or beacon node binary? From Enrico Del Fante to Everyone 02:35 PM : On teku side, if you run in single-process mode the param is the same. If you run in two process we actually want the param to be specified both side From terence(prysmaticlabs) to Everyone 02:37 PM : Prysm prototype: https://github.com/prysmaticlabs/prysm/pull/10315 From Marius Van Der Wijden (M) to Everyone 02:37 PM : i think retrieval of individual blobs is too inefficient From Paul Hauner to Everyone 02:37 PM : I accidentally DMd this, but LH accepts fee recip on BN and VC but we recommend users supply to BN. The prepare_beacon_proposer endpoint suggests it should at least be on the VC. From terence(prysmaticlabs) to Everyone 02:41 PM : I just had a thought, in the config file, do all clients consider the case if the operator inputs an address that is pending status and which doesn’t have a validator index? From Saulius Grigaitis to Everyone 02:49 PM : https://github.com/sifraitech/kzg https://github.com/sifraitech/kzg/runs/4868992790?check_suite_focus=true benchmarks From Tim Beiko to Everyone 03:03 PM : “Unsafe-ish” Small nit: would people generally prefer “final” over “finalized” in the APIs, so we avoid the English vs. American spelling issues? From Micah Zoltu to Everyone 03:04 PM : unsafe, safe, final? From Tim Beiko to Everyone 03:04 PM : Very weak opinion, fine with finalized +1 on consistency From Marius Van Der Wijden (M) to Everyone 03:04 PM : finalised? From Mikhail Kalinin to Everyone 03:05 PM : bikeshedized! From Adrian Sutton to Everyone 03:05 PM : Zed everyone, not zee. 😛 From danny to Everyone 03:05 PM : ised* From Marius Van Der Wijden (M) to Everyone 03:05 PM : finaliczed finalißed From Tim Beiko to Everyone 03:05 PM : Whoever volunteers to maintain the JSON RPC spec gets to choose :-D From Micah Zoltu to Everyone 03:05 PM : How about finalized, but we require everyone who spells it pronounce it zed? Worst of all worlds. From Marius Van Der Wijden (M) to Everyone 03:06 PM : 🚲⛺ From Tim Beiko to Everyone 03:07 PM : Going downhill fast From Marius Van Der Wijden (M) to Everyone 03:07 PM : couldn't find the shed emoji