Module proofs

Source
Expand description

This module implements encoding proofs for the Avid-M Scheme.

Structs§

MalEncodingProof
A proof of incorrect encoding. When the disperser is malicious, he can disperse an incorrectly encoded block, resulting in a merkle root of a Merkle tree containing invalid share (i.e. inconsistent with shares from correctly encoded block). Disperser would disperse them to all replicas with valid Merkle proof against this incorrect root, or else the replicas won’t even vote if the merkle proof is wrong. By the time of reconstruction, replicas can come together with at least threshold shares to interpolate back the original block (in polynomial form), and by recomputing the corresponding encoded block on this recovered polynomial, we can derive another merkle root of encoded shares. If the merkle root matches the one dispersed earlier, then the encoding was correct. If not, this mismatch can serve as a proof of incorrect encoding.
NsProof
A proof of a namespace payload. It consists of the index of the namespace, the namespace payload, and a merkle proof of the namespace payload against the namespaced VID commitment.