Skip to content

Pre-RFC: incremental improvements to DA #136

@ordian

Description

@ordian

RFC 47 proposed a way to enable systematic chunk recovery for Polkadot's DA, improving the efficiency/reducing the CPU overhead. However, systematic recovery can only be (reasonably) used for small PoVs given the bandwidth constraints of the validators. On top of that, enabling it requires making a breaking change to the protocol (including the collator node side).

The idea of this Pre-RFC is to backport some of the changes made in JAM to Polkadot and bundle them alongside with the breaking change of RFC-47.

In particular, 2 changes are being proposed:

  1. Switch the format and the library for reed-solomon encoding/decoding.
    According to these benches, a proper SIMD implementation (like this one) of reed-solomon is 3-4x faster in encoding and up to 9x in full decoding.
    The current erasure coding format and algorithm has not been specified and here we have an opportunity to fix that too.
  2. We are using Merkle Patricia Trie for computing the erasure root. Switching to a simple merkle binary tree would reduce the CPUoverhead of merkle chunks and make them smaller.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions