Skip to content
Documentation/App Docs/specs/src/networking.mdView on App Docs
App Docs/specs/src/networking.md

Networking

Networking

Wire Format

AvailableData

name type description
availableDataRows AvailableDataRow[] List of rows.

AvailableDataRow

name type description
shares Share[] Shares in a row.

Invalid Erasure Coding

If a malicious block producer incorrectly computes the 2D Reed-Solomon code for a block's data, a fraud proof for this can be presented. We assume that the light clients have the AvailableDataHeader and the Header for each block. Hence, given a ShareProof, they can verify if the rowRoot or colRoot specified by isCol and position commits to the corresponding Share. Similarly, given the height of a block, they can access all elements within the AvailableDataHeader and the Header of the block.

ShareProof

name type description
share Share The share.
proof NamespaceMerkleTreeInclusionProof The Merkle proof of the share in the offending row or column root.
isCol bool A Boolean indicating if the proof is from a row root or column root; false if it is a row root.
position uint64 The index of the share in the offending row or column.

Invalid State Update

If a malicious block producer incorrectly computes the state, a fraud proof for this can be presented. We assume that the light clients have the AvailableDataHeader and the Header for each block. Hence, given a ShareProof, they can verify if the rowRoot or colRoot specified by isCol and position commits to the corresponding Share. Similarly, given the height of a block, they can access all elements within the AvailableDataHeader and the Header of the block.