Polkadot is a next-generation blockchain protocol that unites an entire network of purpose-built blockchains, allowing them to operate seamlessly together at scale.
Polkadot is a network protocol that allows arbitrary data - not just tokens - to be transferred from one blockchain to another.
This means that Polkadot is a truly multi-chain application environment, where cross-chain registries and cross-chain computation are truly possible.
Polkadot allows data to be transferred through public, open and permissionless blockchains as well as permissioned blockchains.
This allows the creation of applications that obtain permissioned data from a private blockchain and use it on public blockchains.
Polkadot documentation available on SenseiNode
Relay Chain
The Relay Chain is the central chain of Polkadot. All Polkadot validators are locked (staking) to the Relay Chain at DOT and validate for the Relay Chain. The Relay Chain is made up of a relatively small number of transaction types that include ways to interact with the governance mechanism, parachain auctions, and NPoS participation. The Relay Chain deliberately has minimal functionality – for example, smart contracts are not supported. The main responsibility is to coordinate the system as a whole, including the parachains. Other specific jobs are delegated to parachains, which have different implementations and features.
Validators
Validators secure the Relay Chain by staking DOT, validating collator proofs, and participating in consensus with other validators.
These participants play a crucial role in adding new blocks to the Relay Chain and, by extension, to all parachains. This allows parties to complete cross-chain transactions through the Relay Chain. Parachain validators participate in some form of off-chain consensus, submitting candidate receipts to the tx pool for inclusion on-chain by a block producer. Relay Chain validators ensure that each parachain follows its own rules and can pass messages between shards in a trust-free environment.
With the parachains now in the network, para-validators are selected each epoch to validate the parachain blocks for all parachains connected to the Relay Chain. Para-validators work in groups to validate parachain blocks.
The selected para-validators are one of 297 randomly selected validators (per epoch) to participate in the validation, creating a validator pool of 200 para-validators.
Validators perform two functions:
- Verify that the information contained in an assigned set of parachain blocks is valid (such as the identities of the transacting parties and the object of the contract)
- Participate in the consensus mechanism to produce Relay Chain blocks based on the validity claims of other validators. Any case of non-compliance with the consensus algorithms leads to a punishment consisting of the removal of part or all of the DOT staked by the validator, which discourages bad actors. However, good performance will be rewarded, as validators will receive block rewards (including transaction fees) in the form of DOT in exchange for their activities.
Parachain and Parathread slots
Polkadot can support a number of execution slots. These slots are like the cores of a computer processor (a modern laptop processor might have eight cores, for example). Each of these cores can run one process at a time. Polkadot allows these slots using two subscription models: parachains and parathreads. Parachains have a dedicated slot (core) for their chain and are like a constantly running process. Parathreads share slots among a group, and thus are more like processes that need to be woken up and run less frequently.
Most of the calculations that are performed on the Polkadot network as a whole are delegated to specific parachain or parathread implementations that handle various use cases. Polkadot places no restrictions on what parachains can do, other than that they must be able to generate a proof that can be validated by the validators assigned to the parachain. This test checks the state transition of the parachain. Some parachains may be application specific, others may focus on specific features such as smart contracts, privacy, or scalability, and others may be experimental architectures that are not necessarily blockchain in nature.
Polkadot offers many ways to secure a slot for a parachain for a set amount of time. Parathreads are part of a pool that shares slots and auctions to win individual blocks. Parathreads and parachains have the same API; their difference is economic. Parachains will have to reserve DOT for the duration of their slot rental; parathreads will pay per block. Parathreads can become parachains, and vice versa.
Shared Security
The parachains connected to the Polkadot Relay Chain share the security of the Relay Chain. Polkadot has shared state between the Relay Chain and all connected parachains. If the Relay Chain should be reversed for whatever reason, then all parachains would also be reversed. This is to ensure that the validity of the entire system can persist and no individual part is corruptible.
Shared state ensures that the trusted assumptions when using Polkadot parachains are only those of the Relay Chain set of validators and not others. Since the Relay Chain set of validators is expected to be secured with a large amount of staking to back it up, parachains should benefit from this security.
Bridges
A blockchain bridge is a connection that allows the transfer of arbitrary data from one network to another. These chains are interoperable across the bridge but can exist as independent chains with different protocols, rules, and governance models. In Polkadot, bridges connect to the Relay Chain and are secured through Polkadot's consensus mechanism, maintained by collators.
Polkadot uses bridges to bridge the future of Web 3.0, as bridges are central to Polkadot's interoperable architecture by acting as a [secure and robust] communication channel for isolated chains.
Roles in the consensus mechanism
Nominators
Nominators tie their stake to certain validators to help them get into the pool of active validators and thus produce blocks for the chain. In exchange, nominators typically receive a portion of that validator's staking rewards.
Validators
Validators, if elected to the validator pool, produce blocks in the Relay Chain. They also accept valid state transition tests from collectors. In return, they will receive staking rewards.
Collectors
Collators are full nodes in both a parachain and the Relay Chain. They collect the transactions from the parachain and produce state transition tests for the validators in the Relay Chain. They can also send and receive messages from other parachains using XCMP.