--- tags: eth2devs description: Notes from the regular Eth2 implementers call image: https://benjaminion.xyz/f/favicon-96x96.png --- # Eth2 Implementers’ Call #62 - 2021-04-22 [Quick contemporaneous notes by Ben Edgington] Agenda: https://github.com/ethereum/eth2.0-pm/issues/214 Livestream: https://youtu.be/D9Aqr8thF9c ## Client updates **Teku** Altair work is going well and I expect we'll be done with it by the end of our current sprint in two weeks. Specifically on Altair: - Reference and fork choice tests are all passing. - Gossip changes are done. - We're working on the validator API and duties. For this, we are following the API format [proposed by Jim McDonald](https://hackmd.io/@QYHAVYiHRg65pdI_CEm7Eg/syncommitteeapi). - We've got logic to parse the Altair fork info from the configuration file and construct fork and forkSchedule objects that transition at the specified slot. - We are almost done with the blocksByRange and blocksByRoot RPC methods for Altair. In other news, we will be migrating our default database from RocksDB to LevelDB over the next couple of releases. We've been running LevelDB in some of our test infrastructure for a couple of months now, and it seems altogether more pleasant than Rocks. In particular, memory consumption is much improved. We'll make sure this is as transparent as possible for Teku users. And we have a release coming tomorrow with a few features worth noting: - First, we have a nice community contribution for specifying multiple Eth1 endpoints and have automatic failover. - Second, Infura is now providing beacon chain state snapshots. On a fresh Teku install you can point to Infura's API endpoint and be fully synced and running in under a minute. We've had snapshot sync for a while now if you have another running node, or a recent state file around. But being able to start up directly from Infura is super convenient. - Finally, we are now storing orphaned blocks in archive mode and providing an API to retrieve them. This was a feature requested by some of our users. Question from Jacek around back-filling blocks after doing a snapshot sync. - Teku backfill's blocks to Genesis after starting, but also starts peering and validating before we backfill. It does not wait until the backfill is complete. (Note, this is different from what I reported on the call - we do backfill to Genesis). Question form Danny: do we authenticate the initial state by any means? - Currently, no. We envisage in future a way to distribute/acquire checkpoints in some trust-minimised way, and we will validate initial states against these checkpoints. But this checkpoint infrastructure is not yet in place, so for now you need to trust Infura (and maybe check the state root somewhere). **Nimbus** Released v1.2 and v1.2.1. Big performance improvement: batched verification of incoming gossip gives 30-50% reduction in CPU usage. New feature, an implementation of the official REST API (in beta). Eth1 failover functionality. New "lazy" attestation packing algorithm, which has increased block rewards. Altair development is making progress. Focusing more on Rayonism, and ready to participate in the first testnet. **Lodestar** As for Altair, passing both fork choice and spec tests with a naive implementation of state transition. Working on networking part and validator duties. v0.20 is out, a minor release for stability updates. Working on a lightclient for the Scaling Ethereum hackathon (rather than Rayonism). **Prysm** For Altair, state transition is done. Working on networking and validators. Spec tests are passing for state transition. New slasher implementation that will be in a release next week. Much more performant. Interop achieved with Catalyst for Rayonism. But there is a bug in hash tree root for nested lists. Welcome to new hire, Casey. **Lighthouse** Passing spec tests for Altair. Planning to merge consensus changes soon. Lots of refactoring to handle forks. Remaining features to be done are sync committee changes and validator client updates. On networking, RPC and gossip changes have been implemented, started work on discovery. Opened two issues on the specs repo: [#2314](https://github.com/ethereum/eth2.0-specs/issues/2314) (Participation rewards are skipped for epoch prior to Altair upgrade) and [#2347](https://github.com/ethereum/eth2.0-specs/issues/2347) (Altair p2p MetaData should contain syncnets field). **Would appreciate review from others**. LH will be participating in Rayonism. Planning a big release with doppelganger support and memory improvements. Recent release improves attestation handling and block packing. Will start development of the user interface in May. ## Altair ### Engineering progress Looks like a couple of weeks until we'll be able to run testnets. This makes end of June for deployment a little early. Especially with Rayonism also happening. Eth1 London fork is planned for Late July (or early August). We can plan our fork when we know the date for London. Important to do Altair "right" rather than "fast". Review in two weeks. Clients should let the others know when they have a viable Altair implementation. ### Spec and Testing Some additional tests for corner cases, and some fixes are coming. There will also be some transition tests. These will be in another pre-release next week, but there are no new features. Proto is thinking about two optimisations for Altair. (1) Reduction in hashing for tree of participation records. Currently random access - there may be some optimisations available; talk to Proto if you've done any work on this. (2) Sync committee pre-computation. Note that the computation differs from that for existing committees, due to differing timescales. ## The Merge There are regular bi-weekly calls. Proto is running office-hours calls three times a week. But note that tomorrow's conflicts with EthGlobal presentations and will be moved. ## Spec discussion Proto did some work on latest sharding designs, so take a look. ## Open discussion Sigma Prime is looking at reviving Beacon Fuzz for Altair. Note that there is an extra all core devs call tomorrow. Monday or Tuesday, there should be an initial Rayonism testnet, with something longer-lived by the end of the week.