Lighthouse Update #38

TL;DR

  • Lighthouse has been participating in the Kintsugi merge testnets.
  • The 40+ pull-requests which implement the merge in Lighthouse are likely to be merged into unstable this week. See #2786.
  • The team has been researching post-merge consensus syncing and has produced the Optimistic Sync Homepage.
  • Paul Hauner featured in PEEPanEIP #50 to discuss the merge.
  • Lighthouse has been looking at post-merge MEV and has published the Flashbots for Ethereum Clients document.
  • Attestation performance has been down across-the-board lately. A new change to the specification should help this. More Lighthouse optimisations are expected in the next release, too.
  • The next Lighthouse release is expected in 2-4 weeks.

Merge Progress

The last month has involved a heavy focus on The Merge, bringing execution into the Beacon Chain and ending proof-of-work for Ethereum.

Simultaneously, we continued work on maintaining Lighthouse and doing our part to maintain the Beacon Chain in general.

There's been plenty of excitement in the Ethereum community regarding the Kintsugi testnets that took place in November. Lighthouse has implemented the specification and has shown to be a stable and reliable client, at least by testnet standards.

It seems that long-lived Merge testnets are on the horizon and the Lighthouse team is working to merge our current Kintsugi testnet to the unstable branch. That means that future releases will be able to run a post-merge testnet out-of-the-box. You can follow along at #2786.

The Optimistic Sync Homepage document was shared by the Lighthouse team in the last fortnight. It provides background research and a practical way forward for consensus clients (e.g., Lighthouse) to continue to sync the chain whilst the execution clients (e.g., Nethermind) sync theirs at a slower speed. Execution clients have to verify a lot more than the consensus clients. We are currently working on an optimistic sync implementation for Lighthouse. We also have plans to produce an "official" optimistic sync specification for the ethereum/consensus-specs repository.

I (Paul Hauner) featured in PEEPanEIP #50, where I share some slides about "Merging Ethereum". This includes a high-level overview of post-merge Ethereum and some of the technical features (including optimistic sync). Please excuse the poor audio quality on my end 😳.

Flashbots, Nethermind and Lighthouse have collaborated towards producing a post-merge implementation of their highly popular MEV-extraction offering. Lighthouse seeks to ensure that post-merge Ethereum supports safe, transparent and client-diverse MEV tools. Our Flashbots for Ethereum Clients is an effort to start conversation about a multi-client standard for current-generation proposer/builder separation schemes. The team at Prysm have also been collaborating on this effort.

Attestation Performance

Over the last month, there appears to be an across-the-board regression in attestation performance on the beacon chain. This isn't an immediate practical issue; epoch participation floats healthily around 96-99% and we only need 66% for finality. However, all clients strive for perfect performance and I think we can do better.

A significant portion of the issues are related to late blocks. We've spoken a lot about this in previous blog posts, it's something that consensus clients have been working on for many months. Whilst client optimisation has reduced the frequency of late blocks, the impact of late blocks will be reduced by the Proposer LMD Score Boosting spec modification. This specification change will cause clients to "skip" late blocks more frequently, ensuring that the producers of late blocks wear the costs of a late block (missed proposal), rather than well-behaved and "innocent" attesters receiving missed head/target vote penalties.

Furthermore, the Lighthouse team is looking inward to ensure that Lighthouse can process blocks as fast as possible. Faster block processing reduces the impact of blocks that arrive shortly before the deadline for attesting. Reduce frequency of full state storage and Keep late blocks in snapshot cache are some recent optimisations that should tangibly reduce the occurrence of missed head/target votes for Lighthouse validators.

Release Schedule

The latest release of Lighthouse is v2.0.1 Planetina, which was released on October 18, 2021. It's been over a month since our last release, but we've been as busy as ever in the meantime.

We expect to produce another release in the next 2-4 weeks. There is no immediate pressure to release, since v2.0.1 is stable. However, we want to get our latest optimisations into the hands of users sooner rather than later.

Stay tuned and watch our Twitter, Discord and/or Mailing List for updates about upcoming releases.