Skip links

Polkadot and Substrate: a Promising yet Challenging Blockchain Technology

If you’ve been following crypto news over the past few months, you have probably heard the words Polkadot and Substrate. However, you might also be curious about what they are exactly, why they’ve been on the news so much and how relevant they are to your business. This article aims to give you a clearer picture and introduce you to these groundbreaking technologies so you can put them to work on your future projects!

What are Polkadot and Substrate?

Polkadot, developed by Web3 and Parity Technologies, seeks to solve the scalability problem through interoperability by building a ‘blockchain of blockchains’. Its architecture is influenced by sharding in that it splits the transaction-processing workload across a large number of different interoperable parallelised chains, or parachains, and then collates all this information on a single relay chain that cryptographically secures it, all via NPoS (Nominated Proof of Stake). The name Polkadot refers to the network as well as the protocol it operates with, which aims to be as general as possible: parachains can be either public or private, and, thanks to Polkadot’s reliance on WebAssembly, they can have any sort of logic functionality as long as they comply with a few simple requirements that make them ‘pluggable’ into the relay chain.

This is where Substrate comes into play. In order to facilitate mass adoption, Web3 and Parity have also developed a framework for building parachains as easily and as flexibly as desired, as well as bridging existing blockchains to Polkadot. However, Substrate is independent from Polkadot and can also be used for creating stand-alone blockchain projects without having to do cumbersome things like implementing consensus algorithms or P2P networking from scratch. It is also possible to build a Polkadot-compliant blockchain in any language, without using Substrate – this framework is just a tool to make everything easier. Furthermore, since Substrate allows for dynamic WebAssembly-encoded state-transition functions, Substrate-based chains can be upgraded at any time without the need for a fork. This article gives a more detailed overview of the framework’s benefits, inner workings and capabilities. Substrate is built with Rust (there is, however, a JavaScript client implementation) and right now you’ll need some proficiency in it to do anything important, but the development team aim for this to change in the future.

Right now, Polkadot is still in development, but several proof-of-concept testnets have been released and the mainnet genesis block is scheduled to come out by the end of 2019.

A small technical summary

As mentioned earlier, Polkadot uses NPoS and PoA for consensus, so running a node should not take a massive toll on your resources. Right now, it’s on its fourth proof-of-concept, running on a testnet called Alexander with the GRANDPA consensus algorithm (GHOST-based Recursive Ancestor Deriving Prefix Agreement). You can refer to the link above or the formal specification for a more thorough explanation of GRANDPA and PoS in general, but basically, instead of being mined, blocks are sealed by certain participants called validators who are chosen based on their stake. Stake is measured in tokens called DOTs, which are not intended to be valuable as a cryptocurrency but rather for internal use. Testnet 4 in particular has places for 20 validators, which you can see here.

Funding

According to the official FAQ, a considerable amount of earnings from Web3’s initial DOT crowdsale are destined to fund the development of Polkadot. Although the multi-sig wallet destined for Polkadot contributions was targeted by the notorious 2017 hack, the team have stated that since it did not contain all of Web3 Foundation’s funds, the plan to build Polkadot has not been affected. Polkadot’s development has also been funded by various parties, amongst them the British government (see page 2 of the whitepaper).

What can I do with Polkadot and Substrate?

Polkadot

All of this sounds exciting from an R&D standpoint, but you might be wondering how your business could benefit from these technologies. One important perk of using Polkadot is pooled security: the fact that all parachain transactions are collated into relay chain blocks ensures that instead of competing with other chains for processing resources, your chain’s transactions are secured by all validators in the network. If you’ve ever heard of merge mining, it’s somewhat similar to that, but for every single parachain. Thus, aside from not needing to implement consensus from scratch, you will actually get stronger consensus without the need for a massive network of your own, which might take a while to build.

Another important benefit is interoperability. The Polkadot protocol allows arbitrary fee-less message passing through the relay chain between all blockchains in the ecosystem, be they parachains or bridged chains. No need to build additional bridges!

The Polkadot protocol is open source, so you can build a parachain or bridge an existing chain without having to pay anyone. This does not, however, impose any restrictions on the kind of things you can do with your chain, since it is in the Polkadot team’s plans to allow private businesses on top of it (note: the linked article was published before the Alexander testnet’s launch).

Substrate

Substrate is currently on its 1.2 beta release. So far, it has a WebAssembly runtime engine, basic runtime modules (building blocks for all sorts of functionality) PBFT consensus and Libp2p networking, which means you can already have a chain prototype up and running. Depending on what trade-off you want to make between working high-level for ease of development and low-level for customisability, you can choose to either launch your chain almost instantly by running a binary, implement its logic with parts from the Substrate Runtime Module Library or build it from scratch with just some core components; you can have a look at the official repository for more information. Any of these options will save your developers time and effort so your business can focus on what your product does rather than reinventing the wheel. However you decide to create your blockchain, Substrate ensures high performance through light block headers and use of WebAssembly; your chain compiles from Rust down to a WASM executable! Right now, PBFT is the only available consensus, but support for other algorithms is planned.

Tools and ecosystem

In addition to these inherent features of Polkadot and Substrate, the Polkadot ecosystem already has several tools developed by the Web3 Foundation and various third parties so that you can build even more powerful projects! Here are just a few of them:

Some tools

Some projects in development

  • Speckle OS, a comprehensive framework for a friendly Polkadot user experience. Planned functionalities include a wallet, a dApp discovery service and a browser.
  • Polkasource, an ITSM for running your own node in a reliable manner.

See here for more useful tools and tutorials.

Can I connect my existing blockchain to Polkadot?

The Polkadot FAQ lists the following two criteria as necessary for connecting a previously existing blockchain:

  • ‘…the ability to form compact and fast light-client proofs over the finality and validity of its blocks and state change information, [like] new UTXOs in a Bitcoin-like chain or logs in an Ethereum-like chain’
  • ‘…a means by which a large set of independent authorities […] can authorise a transaction, [for example] recognition of threshold signatures, such as the Schnorr scheme, or a smart contract able to structure logic against a multi-signature condition’

Ethereum-like and private PoA chains are especially suited for this (the FAQ lists a few nuances), whereas Bitcoin and Bitcoin-like chains are not (again, according to the FAQ). However, these blockchains can be bridged to Polkadot and maintain their own consensus, though without pooled security. Web3 and Parity have not yet released any specifications or documentation pertaining to bridges, so you’ll have to wait a while before actually being able to bridge your chain.

How can I start developing with Polkadot and Substrate?

Now that you have a clearer picture of what Polkadot and Substrate are, it’s time to start building with them! Here are some good first steps to try out – you don’t need to do all of them, though the first one is a prerequisite for pretty much all the others:

Join Substrate Technical chat for more info.

Projects with similar goals

It’s worth noting that Polkadot isn’t the only initiative to build an interoperable, secure and scalable network of blockchains – this is currently one of the most important issues in distributed systems, so it’s only to be expected that several different projects would try to tackle it.

Out of these, Cosmos is the one most similar to Polkadot: it’s also PoS-based with a PBFT-based consensus algorithm (Tendermint) and its purpose is essentially the same. It basically consists of many interoperable zones (analogous to parachains) connected to a main hub (analogous to the relay chain). It even has its own framework, Cosmos SDK, which is written in Go. Unlike in Polkadot, however, each zone has its own security. Although inter-blockchain communication is yet to be implemented, Cosmos launched its mainnet in March 2019. This article delves much further into Cosmos.AION Network, explained in far more depth here, is another initiative with blockchain interoperability as one of its goals; its proposed solution is called AION Transwarp Conduit. Similar projects include Wanchain, Blocknet and Ark.

Summary

If Polkadot achieves its goal of being a ‘blockchain of blockchains’, it will be a massive step for decentralised/distributed computing as a whole, so it’s probably a good idea to get your business on it. We hope that this article has given you a better idea of what Polkadot and Substrate are, why they can be useful for your future blockchain projects and how to get started with them.