lighthouse icon indicating copy to clipboard operation
lighthouse copied to clipboard

Add option to select KZG library for PeerDAS

Open jimmygchen opened this issue 7 months ago • 0 comments

Description

We've recently switched from the c-kzg library to the Rust peerdas-kzg library on the das branch (#5941). The purpose for the switch was to:

  1. Try out a new alternative to c-kzg;
  2. Allow us to merge das branch to unstable without having to update c-kzg to a development version

However we've now lost the option to run the das branch with ckzg, which has been quite stable for a while. We've recently run into a few issues with peerdas-kzg, including slow startup time and stack overflow during block production (#6105). Therefore I think it would be great to have the option to use ckzg library, especially for public denvets, where a small number of reliable supernodes is required.

Ideally we want to be able to:

  1. maintain the ckzg library version for the mainnet code path
  2. optionally include the ckzg peerdas library when it's enabled via a feature flag, so both ckzg library will co-exist when this ckzg-peerdas feature is enabled, however this library will only be referenced by the PeerDAS portion of the code.
  3. allow selecting the ckzg-peerdas library via a hidden runtime flag

jimmygchen avatar Jul 16 '24 05:07 jimmygchen