Expand description
Verifiable information dispersal (VID) for the new protocol.
A block’s payload is erasure-coded per namespace and spread across the committee so the block can be recovered from any subset of storage nodes whose shards cover the recovery threshold. This module owns the three stages of that lifecycle, one per submodule:
-
disperse– the leader side.VidDispersererasure-codes each namespace, coalesces namespaces into size-balanced buckets, and unicasts to every node a stream ofAvidmGf2DisperseShareFragmentmessages (one per bucket), each carrying that node’s shares for the bucket’s namespaces. -
fragments– the receive side of dispersal, the mirror ofVidDisperser.VidFragmentAccumulatorbuffers the fragments a node receives for its own share and, once every namespace has arrived, reassembles them into a completeVidDisperseShare2. That share is then verified, attached to this node’s vote, and fed to the reconstructor. -
reconstruct– block recovery.VidReconstructorcollects the verified shares contributed by many voters (each node’s own share, carried on its vote) and decodes the payload once their shards cover the recovery threshold.
Modules§
- disperse 🔒
- fragments 🔒
- reconstruct 🔒
Structs§
- VidDisperse
Output - VidDisperse
Request - VidDisperser
- VidFragment
Accumulator - VidReconstruct
Error - A failed reconstruction attempt for one view and claimed commitment.
- VidReconstruct
Output - VidReconstructor
Enums§
- VidDisperse
Error - VidFragment
Error - VidReconstruct
Error Kind - Why a reconstruction attempt failed.