An article to understand how Polkadot performs effective sharding between parachains

avatar
PolkaWorld
4 years ago
This article is approximately 688 words,and reading the entire article takes about 1 minutes
Polkadots availability and validity protocol.

Editors Note: This article comes fromPolkaWorld(ID:gh_6c4c2038ddba), reproduced by Odaily with authorization.

), reproduced by Odaily with authorization.

Polkadots Availability and Validity (AnV: Availability and Validity) protocol enables the entire network to be effectively sharded between parallel chains, while having strong security guarantees.

secondary title

  • Phases of the AnV Protocol

  • The Availability and Validity Protocol (AnV Protocol) is divided into six phases.

  • Parallel chain stage

  • Relay Chain Commit Phase

  • Availability and Unavailability Subagreement

  • angler objection procedure

Invokes the Byzantine Fault Tolerance finality gadget to solidify the chain

secondary title

The parachain phase of the AnV protocol is when the collators of the parachain propose candidate blocks to the validators currently assigned to the parachain.

A candidate block is a new block from a parachain collator, which may or may not be valid, and must pass a validity check before being included in the relay chain.

secondary title

Relay Chain Commit Phase

  • Validators then check the candidate block against the validation functionality provided by that parachains registration code. If the verification is successful, the validator passes the candidate block to other validators in the gossip network. However, if validation fails, the validator immediately considers the candidate block invalid.

  • Candidate receipts are prepared when more than half of the parachain validators agree that a particular parachain candidate block is a valid state transition. Candidate receipts will eventually be included in the relay chain state. This includes:

  • Parachain ID

  • Collectors ID and signature

  • Candidate receipt hash of the parent block

  • The Merkle root of the erasure-coded fragment of the block

  • Any Merkle roots that emit messages

  • block hash

After the block is executed, the state root of the parachain

The above information is all constant, but the actual PoV block of the parachain is of variable length, which is enough information for anyone with access to the full PoV block to verify the state transitions contained within.

Availability and Unavailability Subagreement

During the availability and unavailability sub-protocol phases, validators circulate erasure coding fragments in the network. At least 1/3 + 1 validators must report that they have their code field. Once the validator threshold is reached, the network can consider the PoV block for the parachain.

secondary title

erasure coding

Erasure coding converts a message into a longer code, making it possible to recover the original message from a subset of the code without requiring parts of the code. The code is the original message stuffed with some extra data, allowing the code to be reconstructed in case of erasure.

In Polkadot, erasure codes are used to keep the parachain state available to the system without requiring all validators to keep tabs on all parachains. Instead, validators share smaller data and can later reconstruct the entire data under the assumption that 1/3 + 1 validators can contribute their respective data.

Note: The 1/3 + 1 threshold of validators that must respond in order to construct complete parachain state data corresponds to Polkadots security assumptions about Byzantine nodes.

fisherman

Anglers are full nodes of parachains, similar to Collators, but play a different role in their relationship with the Polkadot network. Instead of packing state transitions and producing the next parachain block as collators do, anglers will observe the entire process and ensure invalid state transitions are not included. Fishermen need to moderately pledge a part of tokens on the relay chain, which is different from collectors who do not require chips on the relay chain. If misconduct is found to have occurred during the production process of the parachain, the fisherman will submit an invalidation report. If the reported misconduct is proven correct, they will be rewarded handsomely, but if they are proven wrong, they may lose part of their stake. Anglers are thus similar to bounty hunters, who are paid handsomely when they complete a job and otherwise have no steady pay.

secondary title

How to run a fisherman node

The requirements to run a Angler node are expected to be relatively modest compared to the staking requirements of a validator node. Registering the fishing status on the relay chain will require a certain amount of tokens. If a phisher submits an incorrect invalidation report, the protocol could slash these tokens significantly. The slash risk exists to prevent phishers from spamming the network, since re-establishing parachain state is an expensive process for the relay chain.

This article is from a submission and does not represent the Daily position. If reprinted, please indicate the source.

ODAILY reminds readers to establish correct monetary and investment concepts, rationally view blockchain, and effectively improve risk awareness; We can actively report and report any illegal or criminal clues discovered to relevant departments.

Recommended Reading
Editor’s Picks