A Lodestar for Ethereum Consensus #1
Authored by Ben Adar
Amphora merge interop; optimizing validators; paving the way for Ethereum Consensus light clients; and a call to action from our devs
Lodestar is ChainSafe's Ethereum Consensus (Eth2) client built with TypeScript. Lodestar provides highly accessible tooling libraries that benefit the entire Ethereum ecosystem. Our libraries are written in idiomatic TypeScript, making them accessible to a broad swath of developers. Additionally, Lodestar will feature heavily in the Ethereum Consensus ecosystem as light-client deployable. Check out this blog post, this talk and these slides for an introduction.
Hello and welcome to our new series titled "A Lodestar for Ethereum Consensus". This series will be used to give periodic updates for the Lodestar client. Just as sailors of yore used lodestars and the celestial body to navigate, we too hope that Lodestar and these community project updates can serve as a guiding light for those looking to navigate and learn about the Ethereum space.
A lot has been going on in the Lodestar world! From getting the light client ready, to an entire rebranding, to participating in the Amphora Merge interop! While these are significant milestones, the team has also been working hard to improve the beacon node and validator performance, increase metrics/analytics coverage, and have been transitioning the client into production-ready mode.
Validator Optimization
In exciting news, for the first time ever with the Lodestar v0.31.0 release, our client achieved a 100% profitability rate in its first 24 hours. Our goal is to constantly optimize our beacon node and validator to achieve the best possible profitability outcome, while being mindful of resource utilization.
We are finally at a point where the team feels comfortable with v0.31.0, and in the last few weeks, ChainSafe has switched over all of our Ethereum Consensus nodes to use the Lodestar beacon chain and validator on mainnet. This achievement gives Lodestar the distinction of becoming the 5th fully functional Ethereum Consensus client running on mainnet (the other 4 being Lighthouse, Prysm, Nimbus, and Teku). Fine company indeed :)
The team has also been in the process of reducing the memory footprint and improving the performance of Lodestar. This push has resulted in a more stable beacon node that leads to a more profitable validator.
While the team will keep pushing the validator towards a consistent 100% profitability rate over a longer period of time, we will continue to keep adding more metrics to measure validator performance and to look in every nook and cranny for potential improvements.
Altair & Light Client Integration
Check out this cool demo of the Lodestar light client by dapplionโ๏ธ
As mentioned above, the team has been working non-stop on the light client prototype. While we finally have a demo ready and a helpful article by Colin Schwarz going into detail about how it works, it is worth mentioning some of the work the team has done leading up to this point.
The main goal was to build full Altair support (a network upgrade to Ethereum) which adds sync committees. Sync committees is the feature that allows for light clients to exist in the first place, and again, Colin's last article on our light clients is a really helpful resource to understanding how it works. With sync committees enabled, Lodestar nodes can now feed real data to a Lodestar light client prototype.
A brief list of steps that got completed for this goal includes:
-
Upgrading Altair to the latest available spec version.
-
Participating in several of Teku's first Altair devnets.
-
Working out various bugs and performance issues found through devnets.
-
Upgrading the light client prototype with the most recent node improvements.
-
And finally, a final debugging of the light client demo!
Our team is also at the forefront of leading light client server API specifications. Cayman developed implementation notes for light client servers on the beacon chain that would benefit from community feedback as we continue to lead consensus on developing these standards. Please contribute to and comment on our API proposals here.
Also, check out this talk from EDMTo* on the Lodestar Light Client given by Cayman, where he goes over the basics of Lodestar, what is a Consensus Light Client, before diving into a show-and-tell:
Metrics & Analytics
As Tim Ho said in a previous Lodestar update, Lodestar's recent progress, metrics, and other oddities ๐ญ :
"METRICS ๐ ARE ๐ EVERYTHING!"
In that vein, the Lodestar team will not rest until they have achieved metrics and benchmarking coverage for all critical areas in the beacon node, validator, and light client. In the process of getting more coverage, the team has fixed various errors and oddities in existing benchmarks to make them simpler and more reliable and predictable. For example, benchmarks will now always be done with blst-native, not herumi, making the results more predictable. The epoch transition benchmark now only runs a single epoch transition, saving job time.
Moving forward, the Lodestar team will be adding more metrics for validator debugging and performance.
To learn more about the Lodestar metrics and how they help us, please check out Tim Ho's excellent work above, โ๏ธ where he goes into detail about the metric tools and use cases!
Preparing for The Merge
Cayman and Lion recently participated in person at the Merge Interop with most of the Execution and Consensus teams of Ethereum!
The Amphora devnets were an opportunity for our team to test Lodestar's ability to interoperate with other Execution and Consensus clients of Ethereum in preparation of the Merge to Proof of Stake. After implementing the specifications, it was important to work closely with other clients to test our compatibility to sync on a common chain and simulate the transition. Lodestar was one of the leading clients to achieve the interop milestones!
The event wrapped up with a merge interop devnet for Ethereum. We're now one step closer to moving Ethereum to Proof of Stake. This also means we are now able to experiment with our light client implementations to utilize Ethereum Execution (eth1) data trustlessly! More to follow as we get closer to the Merge.
Get Involved and Keep Up to Date!
We've gotten to a point where we now need community contribution and participation to help us battle test the Lodestar software. To that end, Lodestar Project Manager Phil Ngo has written a useful setup guide for anyone interested in running your very own Lodestar Beacon Chain node and validator.
We invite the community to get involved by exploring our developer tooling and leveraging our Eth2 libraries to aid in your project's development!
If you are interested in getting involved and contributing to the project, check out our Github. If you would like to get in contact with one of the Lodestar team members, feel free to drop by on Chainsafe's Discord on the #lodestar-general channel or email info@chainsafe.io. We would love to know more about you, your team and your project!
For more details on Lodestar, please head to our documentation site.
Learn more about ChainSafe by visiting our website, through our Medium, via Twitter, or visiting the ChainSafe GitHub.
Thank you to Cayman, Phil Ngo, and Tim Ho for helping me with this update!