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
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.
- 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.
- 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
- Selecting the amount you wish to bond
- Choose payment destinations for reward distribution, such process will be executed with the Controller Key while the tokens will be bonded in Stash key
- If choosing “Stash account (increase the amount at stake)”, reward will be compounded, bonded and hence subject to 28 days of bonding period
- 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
- Once bonded, staked principal will be subject to 28 days of bonding period
Step 3: Nominate a validator via Polkadot-JS UI
- A nominator can nominate up to 16 validators
- If run your own validator, you need at least 1.804MM DOT (as of May 2021)
- Once selected validators, nominations will be active in the next era (~24h), which will be the period when validators are elected for block production.
- Only the elected validator and its pool will receive rewards
Step 4: Reward Distribution
- Reward is distributed to validators in each era (~24h)
- 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.
- A percentage of the total reward from Blockdaemon’s validator pool is paid to Blockdaemon as commission.
- The remainder is paid proportional to the amount staked by nominators.
- Reward compounds or not
- If you choose payment destinations specified in step 2.b.i, rewards are compounded and subject to a 28 days of bonding period.
- 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)
- Rewards are claimed and distributed to nominators by the Blockdaemon team once a week.
- 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.
- 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
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
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 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.
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.
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 (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 (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 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.