One reason we’re rebuilding Lodestar’s state-transition hot path in Zig: to reduce GC pressure and make latency more predictable.
In a garbage-collected runtime, the application doesn’t precisely control when memory is reclaimed. Instead, allocation pressure may trigger collection, which can also pause execution.
For most software, that's a fine trade. For a consensus client running against per-slot deadlines, unpredictable pauses can become latency you can’t reliably budget for.
Zig has no garbage collector. Instead, you pass an allocator (an object that hands out and reclaims memory) into the functions that need it, so you decide where memory comes from and when it's freed.
Are you testing Lodestar's Fast Confirmation yet?
Get a stronger-than-head safety signal in seconds instead of waiting 12.8 minutes for full finality.
⚠️ Keep in mind, it's a new, performance-heavy feature under active optimization!👇
Fast Confirmation: safer than 𝐡𝐞𝐚𝐝 and faster than 𝐟𝐢𝐧𝐚𝐥𝐢𝐳𝐞𝐝, now enabled in Lodestar. Learn how it works and how to test it out below 👇🧵
⚠️ This is a new feature and performance-intensive.
The core protocol spec is sound, but this feature is a heavy workload still undergoing optimization. Mainnet validators: we recommend NOT enabling fast confirmation on production nodes yet to avoid impacting attestation performance.
How does Lodestar scale performance in a Node.js environment?
By tapping into @ziglang. Yes, binding Zig to JS comes with challenges.
That’s why we built ‘zapi.’ 🧵👇
10/ Philip Ngo — Lodestar
@philngo_ works on @lodestar_eth at @ChainSafeth. Phil isn’t your ordinary client developer. He’s not a programmer or software engineer by trade. Most of what he’s learned in terms of software development has been self-taught.
https://t.co/ekfgsL0Gyd
this is concerning! ideally no single client should be above 33%
if you are an operator running LH or planning to, it is in your best interest to use any of the other wonderful consensus clients: @grandineio@lodestar_eth@ethnimbus@prylabs@Teku_Consensys
Big milestone for Lodestar-Z!!!
Our BLS cryptography code is now wrapped in Zig. It will be the first Zig code to meet our bar of excellence and will land on mainnet in an upcoming release.
It has already unlocked some interesting optimizations and will allow us to merge a huge performance improvement with state-transition-z. Stay tuned 📡
This allows Lodestar to stay lightweight in TypeScript while dropping into native Zig when performance is critical. Read the full technical breakdown here:
https://t.co/JhGMeCOdhk
How does Lodestar scale performance in a Node.js environment?
By tapping into @ziglang. Yes, binding Zig to JS comes with challenges.
That’s why we built ‘zapi.’ 🧵👇
We got tired of manual argument extraction and error-prone N-API callbacks. So we built ‘zapi’, a wrapper that provides a high-level DSL. Now we write plain Zig functions. At compile time, it automatically discovers them and generates the necessary N-API glue. No positional indices, no manual registration.
Lodestar is officially ready for Glamsterdam Devnet-5! Our team has implemented the full suite of spec updates, locking in our cross-client interoperability 💪
We're joining @ethStaker to talk protocol development in the age of AI, minority clients, and how Zig is the future of all the things.
Starting 1500 UTC, tune in here!
Last week, Ethereum core contributors gathered in Svalbard for the Soldøgn interop: a week long event focused on hardening Glamsterdam implementations to scale Ethereum securely ☀️
Read the full recap, including their candidate post-fork gas limit, below:
In 2013, @philngo_ attended a #Bitcoin meetup in Toronto. In 2014, he read the #Ethereum whitepaper, and in 2015, he mined his first cryptocurrency, @dogecoin.
In this interview, Phil recounts his career path before crypto and what eventually inspired him to leave his job in 2021 at the @CanadianForces to help build @lodestar_eth at @ChainSafeth.
Here's where you can catch @philngo_'s full origin story into crypto and #Ethereum.
YouTube: https://t.co/ElpVQUhBeS
Spotify: https://t.co/CIG6xepKGu
Apple Podcasts: https://t.co/n4IeWT0SRj
Substack: https://t.co/ylGVqjilMm