A deep dive into what makes Polkadot unique – TL;DR
Polkadot is a network of blockchains that can seamlessly interact with one another, process data in parallel, and is secured under the umbrella of Polkadot’s Relay Chain. The Relay Chain is a blockchain singularly focused on providing security to the network. The blockchains making up this network are called parachains and can be built by anyone for any purpose. To become a part of the Polkadot ecosystem, these parachains must bid and win auctions for the ability to rent space on the network and run their services.
Introduction
If the crypto world becomes multi-chain, there’s a good chance it will be built on Polkadot. Gavin Wood, a co-founder of Ethereum and Parity Technologies (responsible for launching Polkadot), understood the limits of Ethereum and the blockchain data structure’s abilities to safely and efficiently run the world’s data at scale.
To pursue such a global undertaking, Wood proposed Polkadot as a “scalable, heterogeneous multi-chain” solution in the protocol’s first whitepaper. Keyword: “multi-chain.” Admittedly, from the whitepaper, “Polkadot itself is designed to provide no inherent application functionality at all.” (Polkadot Whitepaper, pg. 3) Rather, the bedrock Relay Chain is responsible for securing the network of blockchains within its ecosystem. These blockchains are referred to as parachains.
The beauty of parachains on Polkadot is their pooled security from being hosted on the network and their inter-chain interactability, known as interoperability, that allows them to seamlessly transfer data among each other. Instead of one blockchain supporting every type of smart contract — like how Solana and Ethereum operate — Parity has made it easier for teams to focus on creating domain-specific blockchains that handle their own throughput and can function with other chains on Polkadot without friction.
Parachain Architecture
Relay Chain
The Relay Chain is the umbrella of security that guarantees safe operations for parachains. Adhering to the lack of application functionality described in the whitepaper, the Relay Chain cannot even support smart contracts. It simply exists to manage the ecosystem as a whole and can only support transactions relating to Polkadot governance, parachain slot auctions, and nominated Proof-of-Stake (NPoS) participation.
The validators that help secure the network validate for the Relay Chain and stake the native DOT token on the Relay Chain. Pooling parachain security keeps the history/state of the Polkadot ledger shared among all connected parachains. So if the Relay Chain reverts (changes its state), all of the parachains would revert as well. This mechanism takes away the incentive to try to corrupt an individual parachain’s state and puts trust on only the Polkadot Relay Chain validator set.
Parachain slots
For a parachain to operate under the security umbrella of Polkadot’s Relay Chain, it must rent out space in the network. This “rented space” is most commonly referred to as a parachain slot, and Polkadot only plans to have 100 of them due to theoretical computing constraints. The parachain slot is a subscription model for individual chains that want constant and long-standing connectivity to the network. This subscription model requires the specific parachain to reserve DOT for the duration of its slot lease, capped at two years and divided into three-month periods.
Parathread slots
Parathreads are a part of a group of chains that share slots. The subscription model for parathread slots is often used by early-stage chains or ones that do not need a constant connection to Polkadot. This model allows early-stage chains to focus on their product instead of hustling to win an auction. With a pay-as-you-go model in place for parathreads, payments are made on a per-block basis with an auction for each block. Parathreads can become parachains, and vice-versa.
Bridges and the XCM format
Bridges connect parachains and parathreads to external networks. Data on other networks is recorded in various formats and is processed differently than how Polkadot processes data moving through its network. These incongruences lead to a lack of compatibility. A couple of examples exist of bridges being built between Polkadot & Ethereum and Polkadot & Bitcoin; however, use is not widespread and bridges have a degree of clunkiness to their structures.
Bridges between parachains are much smoother than between independent networks. Polkadot parachains support a cross-consensus messaging format (XCM), which allows them to transfer any type of data between one another. The XCM format complements the Relay Chain’s validation logic that facilitates the trustless and interoperable interactions between parachains.
Parachain Types
Common good parachains
Parachains that function to benefit the entire ecosystem are referred to as common good parachains. Through on-chain governance, a certain subset of slots is reserved for common good parachains — that would otherwise be underfunded due to the free-rider problem — to benefit the entire network. These chains often get categorized as system-level chains or public utility chains.
A system-level parachain moves functionality from the Relay Chain to a parachain. An example of a system-level responsibility is governance. By moving the governance process off of the Relay Chain and onto a parachain, this could free up traffic to allow the Relay Chain to more efficiently process parachain activity.
Public utility parachains attempt to implement new functionality that would benefit the network. As a common good chain that adds functionality beyond the Relay Chain, it is subject to using only the native Relay Chain currency DOT. Examples of public utility chains could include bridges or smart contract platforms. Common good parachain leases do not expire and are only removable via governance voting.
Slot-auctioned parachains
Parachains that are not deemed as “common good” chains participate in a permissionless auction to win an execution slot. Project teams for these parachains can bid with their own DOT tokens or hold decentralized crowdloan campaigns to solicit DOT from their communities. The winners of the first three parachain auctions were Acala, Moonbeam, and Astar, raising $574 million, $631 million, and $182 million, respectively. Only holders with at least five DOT can participate in crowdloan campaigns. If you’re interested in learning more about parachain slot auctions, read this comprehensive overview here.
Parachain and Network Security
A few roles were developed and incentivized in certain ways to ensure the security of the Polkadot network. These roles include Collators, Validators, Nominators, and Fishermen. And the key mechanism ensuring good behavior for consensus on the Polkadot network is staking, like most platforms.
Collators
Collators are like miners for the individual parachains. They maintain the history of their parachain by assisting in creating new blocks for their parachain. Technically, they take block headers (hash output) and new transactions and generate a state transition proof that cryptographically describes the history in that particular block. Each block also contains a hash output describing the history in the previous block, which is how collators maintain the history of their specific parachain.
Validators
Validators, nominators, and fishermen all secure the Relay Chain and must stake DOT tokens to perform their respective roles for the network. After putting their tokens at stake, their next actions determine whether they receive a reward or get their stake slashed by the protocol. If they do their job correctly and behave well, they will be rewarded with more DOT. If they behave badly and do not do their job, the amount of DOT they staked gets slashed, causing them to lose the staked DOT.
Validators represent the first layer of security for consensus on Polkadot. They are tasked with validating the proofs that collators send to them. These collator proofs are the hash output that collators produce, containing chain history. Validators do not know who other validators are, so they cannot collude to misrepresent a parachain’s history. Because they put DOT at stake, if they are found out to be acting in bad faith, that DOT will be slashed, creating a loss for the validator.
Nominators
Nominators are the second security layer on Polkadot. They essentially have the same structure as validators, validating the validators’ proofs of the collators’ proofs. Hence, nominators validate validated proofs. A bit redundant, but it ensures safety as they determine the trustworthiness of validators. This determining of trustworthiness is how nominators choose the validators they believe should be securing the network. Because nominators also don’t know who other nominators are and stake an amount of DOT to ensure good behavior, they are incentivized to perform their job honestly or else be at risk of getting their DOT slashed.
Fishermen
The last role, the fisherman, is that of a bounty hunter. A fisherman observes the validators to try to find and report bad behavior. Fishermen put a smaller amount of DOT at stake, which gets slashed when they report bad behavior incorrectly. This small amount of staked DOT subject to slashing prevents fishermen from spamming the network of reports. When they find bad behavior, however, they are rewarded with a big, one-time payout. The roles of fishermen, nominators, validators, and collators harmonize to form the backbone of parachain and network security.
Technical Aspects
Substrate
The inventor of the Solidity programming language (used to build smart contracts on Ethereum) and founder of Polkadot, Gavin Wood, spearheaded the development of Substrate, a software development kit (SDK) for building blockchains.
Developing the Polkadot Relay Chain, the Parity team realized that many of the components they were building would be useful for building Polkadot parachains. This realization led to the team collecting these components and forming a blockchain framework that would become Substrate.
The Substrate framework alleviates the pains of developing on Ethereum like building a project on top of a smart-contract blockchain with inapplicable design decisions, being restricted to Ethereum’s transaction pool, being subject to clunky network upgrades, and building logic tuned for the EVM.
With Substrate, developers have the freedom to build their own independent chains that connect to Polkadot via bridges or can create a parachain that seamlessly transfers data between other parachains. Building with Substrate allows developers to build their own forkless, purpose-built blockchains with less technical experience than if they started from scratch. The flexibility of using components gives development teams the option to deploy quickly or to custom-build components that others may use in the future.
WebAssembly (Wasm) & forkless upgrades
WebAssembly (Wasm) is a compiler target (code generated by compilers) with a platform-agnostic binary format. For the layman, Wasm allows for the execution of C, C++, and Rust at very high speeds and will run the same instructions across whatever machine it is operating on.
Wasm helps all nodes in a peer-to-peer network run state transition updates without forcing every peer to utilize the same exact hardware. By using Wasm in Substrate, chains built with the Substrate framework can implement forkless upgrades. With Wasm deployed on-chain, updates are small, isolated, and easy to manage.
Summary
The point of Polkadot is to reduce the limitations of blockchains by increasing throughput and providing a toolset for reducing the workload needed to launch blockchain projects. The Substrate SDK is a great tool for saving time, technical know-how, and costs. By giving development teams a modular framework to build blockchains that can be secured under one network’s security umbrella, Polkadot conceives of a world where blockchain throughput scales in parallel, while parallel blockchains (parachains) built to serve specific domains can interoperate seamlessly among each other.
Parachains are a beautiful idea implemented well at the technical level. Polkadot has many incentives in place, like slot auctions and slot leases, that ensure parachains on its network are invested in the greater ecosystem and provide value to users. With the Substrate attracting developer talent to Polkadot, it will be interesting to see the utility that future parachains offer while auctioning for slots.
Polkadot’s biggest challenge is simplifying the interaction with its ecosystem through the Polka.JS wallet. It’s nowhere near as simple as any Algorand wallet, Solana’s Phantom wallet, or Cosmos’ Keplr wallet. For a project as big as Polkadot, how mainstream users interact with the ecosystem and parachains on it should be much simpler. From crypto-novice friends, Polkadot’s wallet, compared to the aforementioned ones, is full of complexity. Parachains as a means of parallel processing and serving specific domains will be even more successful if Polkadot builds a simpler interface for the ecosystem’s primary wallet.