The Launch of Parachains
The staged launch of Polkadot is about to reach another chapter. As we approach the launch of Parachain functionality and the auctions and crowd-loans behind them, let’s look at what’s coming.
The launch of Polkadot began around ten months ago with the first four phases; the last — a move to complete decentralisation and permissionlessness — happened finally at the end of July last year. Now, phase five, the final phase in the launch of Polkadot is beginning.
Polkadot is a heterogeneous scalable multichain. In its brief history, Polkadot has demonstrated a highly decentralised and inclusive staking system (anyone with as little as 1 DOT may take part in Polkadot’s staking system and be rewarded), seamless upgrades to its core logic and open, functional governance. However it has so far existed only as a single chain in isolation. With the launch of parachain functionality, this is about to change and the final vision of a heterogeneously sharded system is about to become reality.
Last week, Parity Technologies (the core team behind the development of Polkadot’s initial implementation) released Polkadot version 0.9 and with it a huge step forward. This release, now being run by the vast majority of the Kusama network, includes the requisite logic for deploying parachains to the network. It also includes the final logic for running parachain slot auctions and logic for crowdloans which can be used to crowd-fund the auction bids. Kusama has already been upgraded to the logic contained in this release (v9010) and so is now finally ready to host parachains.
Polkadot’s parachains launch is expected to begin once two things have happened: firstly, a full external audit should be completed on all new logic. Secondly, the Kusama canary network should have demonstrated that the new logic works in the wild by executing at least one successful auction involving crowdloans and hosting at least one functional parachain.
The audit in question has already begun and we expect it to be completed in the near future. The road to getting everything started on Kusama has already begun and is expected to be completed over the coming days in three steps.
First, a Shell parachain will be deployed to it, which was just approved by governance today. The Shell parachain is an “empty” parachain — it produces blocks, but has no functionality beyond being upgradable. It has no concept of user accounts, staking, governance or balances. It doesn’t even have the time-stamping module to understand “time”. Instead, all it does is listen out for a message coming from the Relay Chain’s governance apparatus authorizing it to upgrade. When such a message is received, the Shell parachain will allow itself to be upgraded to whatever new logic the Relay Chain has authorized. It is our staging ground, and as the first common-good parachain, it will be given identity 1,000 (the first system parachain will have identity 0). This requires a full governance motion and referendum which was already passed today.
The second step is to do such an upgrade. In this case, governance will vote to upgrade the Shell parachain to become the Statemine parachain. Statemine is the Kusama instance of Polkadot’s Statemint parachain, a common-good chain which allows the hosting of arbitrary assets, both fungible and non-fungible. It also serves as a low-cost chain for keeping and transferring the Relay Chain’s native token (KSM/DOT).
We will propose the upgrade once we have seen 24 hours of the Shell parachain running without any issues and once the same upgrade has been successfully conducted on the Westend testnet. The upgrade will require a full governance motion and referendum just like the initial deployment.
The third step is to begin the auctions. The network will do this once it has demonstrated that parachains with transactions and consensus work well on the Kusama network with its highly decentralised 900 validators. We have already tested this on the Rococo testnet, however Kusama presents a somewhat less uniform foundation. Seeing Statemine work properly will provide the confidence that any third-party teams’ chains will also work correctly.
Much of the KSM pool is currently locked in Kusama’s staking system and cannot be moved without seven days notice. The Kusama website will therefore announce the first auction’s start date one week in advance, and along with it the expected timetable for further auctions. At present, the network is expected to commit to five auctions, each seven days apart. If no major issues are discovered, then further auctions can be made following them. After Kusama’s first auctions complete successfully, one would expect Polkadot’s auctions to happen soon after. When the final parameters of auctions have been determined, they will be published alongside the auction schedule.
For the next two months, effort will be directed towards reliability, refactoring and performance. At present, transaction volume is intentionally capped to a conservative limit in order to minimise the chances of any systemic issues spanning from the current unoptimised implementation. Instead of around 2,000 milliseconds of work being executed within each block, the network only allows for 500 milliseconds, thereby reducing the effective transaction volume by more than 75%. As the code becomes faster and more robust, these artificial limits will be lifted and transaction volume will increase toward its theoretical limits.
Following this restive period there are three new features, beyond those originally envisioned, in focus for Polkadot: Parathreads, Off-chain XCMP and Spree. While work on all three will happen simultaneously, Parathreads will likely see the first release of the features and Spree, owing to its complexity, the last.
The feature of Parathreads has already had some great articles written about it, such as this one. Put simply, Parathreads are pay-as-you-go parachains — they don’t require the parachain team to win a parachain slot auction (or be accepted as a common-good parachain), rather the parachain code can just pay directly for each individual block it wishes to author. In the case that the parachain needs to author a block seldom (such as an oracle chain) or to author blocks only during particular periods, then the ability to author blocks without winning a permanent slot for 6 months at a time is very attractive.
Off-chain XCMP is an upgrade to the basic XCMP that was released with the 0.9 series. Whereas the basic XCMP allows messages to be passed between parachains by routing the message data through the Relay-chain, Off-chain XCMP achieves the same thing while routing data directly between the two parachains’ collators. This means that the Relay Chain no longer sits as a bottleneck for message passing and makes it all highly scalable, yet retains the same level of security and decentralisation.
Finally, Spree, also known as Secure Protected Runtime Execution Enclaves, is a feature allowing the same piece of logic to be securely and homogeneously sharded across all parachains. This allows parachains which do not trust each other’s business logic or governance apparatus to nonetheless interact. Moving tokens between stranger-chains, maintaining the properties of NFTs as they migrate between chains and even sharing smart-contracts can all be achieved using this functionality.
If you are a service provider in the Polkadot ecosystem and are unsure what this all means for you, please contact firstname.lastname@example.org. You can watch what is happening with parachains, auctions and crowdloans on Polkadot.js. Chat about this and more on Element in the Polkadot Watercooler.