Grandine AMA

@ Interop Event 2024

Huge thanks for inviting us!
There would be no Grandine without YOU!

History

  • Started in 2019 as a side project;
  • Already two other Rust clients back then - Lighthouse and Shasper;
  • Received commercial grant (obligation to generate revenue);
  • The first 0.1.0 binary release in 2021;
  • Opensource in 2024;
  • Team - 4 core + extra people;
  • Used in production.

Architecture

  • Original fork-choice implementation;
  • Performance focused (parallelization, micro-optimisations);
  • Low memory footprint (in-memory-only at the beginning);
  • Tree-states;
  • Thin database layer;
  • Coupled beacon node and validator client.

Community crates

  • Heavy usage of general purpose Rust community crates (~1000, Tokio, Axum etc.);
  • rust-libp2p based networking crates by Lighthouse team;
  • libmdbx-rs by Akula, later by Reth.

What drives development?

  • Initially - isolated benchmarks (state transition function was ~3x faster than the next fast implementation);
  • Later - qualitative comparision with the other implementations using Vouch;
  • Latest - user feedback.

Research

  • Mainly performance (speed, memory usage);
  • Optimal attestations packer;
  • Rust-kzg (parallel CPU, GPU, multibackend):

AMA

deck

By saulius

deck

  • 11