Skip to content

Queue and batch verify gossip data columns #7699

Open
@jimmygchen

Description

@jimmygchen

@dapplion 's idea:

We could implement batch verification for columns over gossip like we do for attestations
If gossip_data_column_queue.len > 1 often that could help amortize the kzg verification costs. I thought we had metrics for it

Currently, gossip data columns are verified individually. On supernodes, this becomes expensive at high blob counts (especially the KZG proof verification), and we could benefit from batch verifying them.

Below are some test results on 48 blobs

  • 1 column batch: 5.76ms
  • 8 columns batch: 34.3ms
  • 64 columns batch : 257ms
  • 128 columns batch: 508ms

If columns are KZG verified individually, it would cost ~737ms, whereas it only cost 508ms if they're batched. Furthermore, batching would also allow us to save time on block header verification.

We're already doing something very similar using the reprocessing queue to batch attestation verifications.

Metadata

Metadata

Assignees

No one assigned

    Labels

    dasData Availability SamplingfuluRequired for the upcoming Fulu hard forkoptimizationSomething to make Lighthouse run more efficiently.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions