Polkadot Documentation

Polkadot Introduction

Polkadot (DOT) is a third generation blockchain which focuses on interoperability and scalability. Polkadot is pioneering interoperability through building a network which supports a constellation of independent blockchains. These self-sovereign blockchains are referred to as parachains. The Relay Chain acts as the central backbone of the Polkadot network. Parachains create blocks of transactions which are sent to validators operating on the Relay Chain. These validators confirm that the blocks can be added as a permanent addition to the ledger. The result is that all parachains enjoy the same level of rigorous security guarantees. 

 

Polkadot is enabling developers to launch application specific blockchains (parachains) tailored to their specific needs. These custom blockchains are designed to be interoperable with one another, allowing for seamless cross-chain communication and transfers of value. Communication is enabled by the Cross-Chain Message Passing (XCMP), while transactions take place across bridge parachains in the network. Polkadot operates a sharded blockchain model in which transactions are processed in parallel rather than sequentially, vastly improving the number of transactions per second. 

 

The Polkadot project was pioneered by Dr. Gavin Wood, a co-founder and former CTO of Ethereum, architect of the Solidity programming language and author of the first formal specification of a blockchain, the Yellow Paper. While Dr. Wood’s groundbreaking Solidity language laid the foundation for the use of custom smart contracts on the Ethereum blockchain, Polkadot is going a step further by allowing any developer the ability to create their own custom blockchain.

An Overview of Polkadot’s Network Architecture


(Source – Polkadot — An Early In-Depth Analysis — Part One — Overview and Benefits by Kevin Sekniqi)

 

Fast Facts 

Token ticker: DOT 

Inflation: 10% (the year of network launch)

Annual return (approx): >10%

Number of validators upon network maturity (est): 1,000 

Token unbonding period: 28 days 

Quick start guide: How to stake on Polkadot

Step 1: Generate Stash and Controller accounts.

 

This step can be done using a Ledger hardware wallet, or the Polkadot extension.

  1. Stash Account is a cold wallet that holds funds. It decides how much funds are bonded and has its stored funds bonded to a Controller Account.
  2. Controller Account acts on behalf of the Stash Account to nominate and validate. It also sets preferences such as payout accounts and commission, and acts as signing accounts that dictates governance. 

 

Step 2: Bond Tokens via Polkadot-JS UI 

  1. Selecting the amount you wish to bond 
  2. Choose payment destinations for reward distribution, such process will be executed with the Controller Key while the tokens will be bonded in Stash key
  1. If choosing “Stash account (increase the amount at stake)”, reward will be compounded, bonded and hence subject to 28 days of bonding period
  2. If choosing “Stash account (do not increase the amount at stake)”, “Controller account” or “Specified payment account” for payment destination, reward will not be bonded and will be liquid
  1. Once bonded, staked principal will be subject to 28 days of bonding period

Step 3: Nominate a validator via Polkadot-JS UI

  1. A nominator can nominate up to 16 validators 
    1. If run your own validator, you need at least 1.804MM DOT (as of May 2021)
  2. Once selected validators, nominations will be active in the next era (~24h), which will be the period when validators are elected for block production. 
    1. Only the elected validator and its pool will receive rewards

Step 4: Reward Distribution

  1. Reward is distributed to validators in each era (~24h) 
  2. Equal block rewards are paid to validator pools regardless of total amount staked in the individual validator pool, meaning pools with less stake will generally pay more to the nominators than pools with more stake. A pool is the term for a validator and its nominators. 
    1. A percentage of the total reward from Blockdaemon’s validator pool is paid to Blockdaemon as commission.
    2. The remainder is paid proportional to the amount staked by nominators.
  3. Reward compounds or not
    1. If you choose payment destinations specified in step 2.b.i, rewards are compounded and subject to a 28 days of bonding period. 
    2. If you choose payment destinations specified in step 2.b.ii, rewards are not automatically compounded, but such settings can change at any point and time. 

Step 5: Claiming rewards via Polkadot-JS UI (manual reward trigger and unbond)

  1. Rewards are claimed and distributed to nominators by the Blockdaemon team once a week.
    1. You will be able to self claim your rewards more often by using the polkadot-js UI. You will be responsible for paying the transaction fees for the claim, if done this way.
    2. If you choose to compound reward in step 2.b.i, the selected amount of reward will be subject to a 28 days unbonding period, during which the unbonded DOTs cannot be transferred nor accrue staking rewards.

 

Blockdaemon’s Polkadot Delegation Process

 

What is a staking proxy account? 

With the controller account’s permission, a staking proxy account can sign for the controller account in staking and governance votes but not transfer funds. At any time the controller account can replace its staking proxy account. 

 

Polkadot era rewards are validator proportional, not stake proportional. By staking with us, you don’t have to set Blockdaemon as a proxy. Where Blockdaemon is designated as a staking proxy for you, we apply best practices to balance nominations efficiently with the intent to maximize your rewards. Blockdaemon provides no guarantees on rewards earned through its best efforts.

Key features of Polkadot 

Parachains

As mentioned, parachains are deployable blockchains on the Polkadot network that allow developers unprecedented access to interoperable and scalable blockchain infrastructure. The introduction of parachains on Polkadot’s mainnet represents the fifth and final phase of Polkadot’s launch. However, for a parachain to exist it must inhabit a parachain slot. There are a limited number of such parachain slots available in the network and it is possible that only a few slots may become unlocked every few months to host parachains. It is hoped that there will eventually be 100 parachain slots available. Occupying a slot is necessary to guarantee that blocks produced will be included at every Relay Chain block. Who gets to occupy a parachain slot is determined by a parachain auction

 

Parachain slot durations are capped at 2 years and divided into 3 month periods. By splitting each period into a 3 month duration, the protocol can cater to both big and small players alike. For example, a wealthy parachain could buy a slot in an auction, yet not require full use of all periods. This would allow a smaller project access to periods that aren’t used by the wealthier player. Parachain slots are fungible, meaning they do not need to inhabit the same slot but as long as any slot is inhabited they can continue as a parachain. Outside of candle auctions, parachains can be bought and sold on secondary markets, where a winning slot owner can re-sell their slot to another party. This would include transfer of the deposit tokens locked up as well. 

 

As of June 2021, parachain auctions and parachains themselves are scheduled for roll-out on the Kusama blockchain (Polkadot’s canary network), before inclusion in the Polkadot main chain. 

Substrate

Substrate is a core pillar of Polkadot. The word substrate is defined by the Oxford English Dictionary as a substance or layer which is under something or on which something happens. This definition fits the use case for Substrate as the technology layer underpinning Polkadot and all of its connected blockchains. Parity created Substrate as a way to build custom blockchains quickly and easily. Substrate’s FRAME (Framework for Runtime Aggregation of Modularized Entities) runtime system is what lets developers build out their own blockchain logic. Runtime, in the context of blockchain, refers to the business logic which defines a blockchain’s behaviour. FRAME makes it easy to construct a runtime by giving developers access to modulus known as ‘pallets’. Such modules are the building blocks for constructing a unique blockchain, with each pallet containing its own domain-specific logic. This can refer to governance, treasury, assets and more. The advantage that this brings to developers is eliminating the need to build a custom chain from scratch, although FRAME grants the option to create a custom module. Substrate provides a solid foundation for developers to build on.

 

Substrate also facilitates smart contracts on the Polkadot blockchain. Smart contracts are possible because FRAME contains a module (‘pallet’) which implements an API for typical functions that smart contracts need. This module is the contracts pallet, and enables functions such as storage, querying information about accounts, etc. ink! is a Rust based eDSL (Domain Specific Language) which is specifically for the contracts pallet. It is in this language that Polkadot smart contracts are written.

 

Substrate runtime is compiled into a native executable and a WebAssembly (Wasm) binary. ink! contracts are compiled to Wasm, meaning anyone can build a smart contract in a Wasm compatible language. This is the same technology used by many blue-chip organizations as a faster alternative to JavaScript for the web. By utilizing Wasm for on-chain logic and smart contracts, Polkadot is taking advantage of the thousands of hours worth of development time which went into building the technology by the W3C, the organization behind WebAssembly. 

Nominated Proof of Stake (NPoS)

Polkadot’s Nominated Proof of Stake (NPoS) selects the validator set. The two key parties involved in NPoS are validators and nominators. Nominators nominate validator candidates they trust to participate in block production. Each nominator can submit a list of up to 16 validators that they support with their stake. In the following epoch (a standard timeframe for block production, lasting 4 hours), validators with the most amount of DOT staked to them become elected for block production. Anyone can help secure the network by running their own validator node, while there are no particular requirements to become a nominator. Polkadot aims for proportional justified representation, meaning no validators and their associated nominators are over or under represented. To achieve this, Polkadot gives elected validators equal voting power in the consensus protocol. 

Staking Rewards

Validators that are successfully elected and produce blocks are rewarded with the native DOT token. Nominators who back a validator and earn such a block reward share in the return. These rewards are distributed automatically to the nominators at a protocol level. Validators are paid the same regardless of how much stake they have, meaning pools with lower stake will pay proportionally more to nominators than pools with larger stake. This incentivizes nominators to distribute their stake to smaller pools, in order to maximize their rewards. This intends to align what’s best for the network (avoiding control by a few powerful validators) with what’s best for the individual (maximizing financial rewards). 

 

While staking rewards remain constant, the amount of rewards distributed to nominators will be also influenced by the commission fee the validator charges. This is a variable fee set by the validator to cover their operating costs. Lower commission validators will distribute higher rewards to nominators. Rewards are recorded approx. every 4 hours on Polkadot and calculated per era, every 24 hours. In Polkadot’s native web wallet, rewards can be claimed by triggering a payout for all unclaimed eras.

 

Polkadot also has a built-in limit of 256 nominators per validator to which a validator can pay rewards. These are determined by the top amounts of stake allocated to the validator. Nominators who fall outside the 256 threshold receive no rewards for supporting a validator. 

Polkadot’s Consensus Mechanisms

Consensus refers to how a group of distributed, independent actors participate and agree on the state of the blockchain. Polkadot uses a hybrid consensus mechanism to split finality and the block production mechanism. This ensures probabilistic finality (ability to produce new blocks) and provable finality (having everyone agreeing on the state of the chain). Both mechanisms combined ensure blocks are produced rapidly, with a provable way to finalize the state of the chain, without any slow down in transactions being processed. The two mechanisms are called BABE and GRANDPA.

BABE

BABE (Blind Assignment for Blockchain Extension) is the block production mechanism. It determines which validator nodes will produce blocks. BABE uses a verifiable random function (VRF) to randomly select a validator among all eligible candidates. This VRF is based on research published in the Ouroboros Praos paper, which is the current consensus mechanism used by the Cardano blockchain. This election is totally private, ensuring no validator can be coerced by an attacker at the time of block production. 

GRANDPA

GRANDPA (GHOST-based Recursive Ancestor Deriving Prefix Agreement) is the mechanism used to finalize blocks in the Relay Chain. This works by having ⅔ of the validators acting honestly. As long as ⅔ validators attest to a chain containing a block, all blocks leading up to that are finalized. 

Slashing

Slashing penalizes a validator for misbehaving. Slashing removes a percentage of the validator’s stake, rather than a fixed amount. Validators with higher stake will therefore receive higher penalties. Slashed DOT is added to the treasury to help fund the growth of the ecosystem. Nominators who support slashed validators also have their own stake proportionally removed.

 

Chilling removes a validator from the active validator set, and takes them out from the pool of eligible candidates in the next NPoS election cycle. Validators can do this themselves (when they know their services will be offline, for example) to eliminate the risk of slashing. This voluntary chilling lets them keep active in the current epoch, but not in the following. Chilling can also be used as a punishment to disable validators from taking part in consensus, when a validator was unresponsive or found to have committed a slashable offense within two eras.

Why should I participate in Polkadot staking with Blockdaemon? 

  1. Secure validator nodes

PoS networks are heavily dependent on network participation and validator integrity. Blockdaemon makes it easy to run your own dedicated validator node or stake your tokens to Blockdaemon’s validators to earn participation rewards. With regional and data center diversity and node redundancy, Blockdaemon takes an engineering 1st approach to provide best-in-class uptime. We have deployed over 1,000 full nodes – making us the most battle-tested provider in the node infrastructure industry.

 

  1. Failover Safeguards

Blockdaemon has manual failover with a trained and battle-tested team to eliminate risk of double signing. Blockdaemon manages all of this for you automatically, so you don’t have to worry about staying online, in sync, and up to date. Just follow our easy delegation instructions for your preferred protocol, and monitor your balance.

 

  1. Enhanced monitoring 

Blockdaemon monitors all machine and protocol metrics with 24/7 human and automated monitoring to avoid downtime-related slashing. With engineers distributed globally, protocol-specific failover strategies are in place to eliminate risk of double-signing, and hot-spare and fully-synced backup nodes exist for fast recoveries when needed.

 

  1. Slashing Guarantee

If slashing does occur due to any fault on the part of Blockdaemon, we ensure 100% loss coverage. However, Blockdaemon do not cover slashing losses that result from network malfunctions, as these are outside of our control.