Elevating Polkadot's Performance and Scale with Asynchronous Backing
Asynchronous backing is the latest step in the roadmap towards natively scaling Polkadot’s performance and flexibility for Web3 use cases across every industry.
Polkadot’s ongoing mission to unlock the full potential of Web3 has seen several milestones so far in 2023. With the recent official release of the completed version of Polkadot 1.0, inclusive of all the functionality outlined in the Polkadot whitepaper, the next stages of increasing network scalability are now being developed.
Access to high-quality blockspace is crucial for a diverse next-gen blockspace ecosystem like Polkadot. Asynchronous backing is the latest step in the roadmap towards natively scaling Polkadot’s performance and flexibility for Web3 use cases across every industry. As the first set of major optimizations to parachain consensus protocol since its launch in 2021, asynchronous backing will provide a key performance boost to the network, benefiting everyone from parachain and dapp builders to end users, and also lays the groundwork for future scaling optimizations.
The importance of asynchronous backing
To explore the impact that asynchronous backing can have for parachains and their end users, it's important to understand the current process for block execution on Polkadot. Every parachain block references a Relay Chain block as an anchor, referred to as the Relay Chain Parent. Historically, only parachain blocks using the most recent Relay Chain block as its Relay Chain Parent have been allowed. This synchronization can limit throughput, as it provides only a short window of time for creating the next parachain block. Also, since proposing a parachain candidate currently requires building off ancestors that have been backed already, parachain blocks can only be proposed every other Relay Chain block. These limitations slow down throughput even more and can lead to congestion.
Asynchronous backing represents a marked optimization of Polkadot’s parachain consensus protocol. Unlike synchronous backing, which requires building blocks on the most recent Relay Chain block, asynchronous backing loosens this constraint — de-synchronizing Relay Chain growth from parachain growth — and allows collators to propose parachain blocks using older Relay Chain parents. This enables collators to create pipelines of multiple parachain blocks that haven't yet been included in the Relay Chain, increasing efficiency and scalability. What’s more, as collators can propose parachain candidates off ancestors that haven’t been backed yet, blocks can be proposed every Relay Chain block.
What does this look like in operation?
Asynchronous backing directly improves block capacity by increasing block execution time and parablock time, which in turn increase the amount of work every parachain can achieve.
Execution time
This refers to the time available for a specific operation, such as validating blocks, to be completed. Asynchronous backing increases execution time from 500ms to 2s, leading to a 4x improvement in blockspace production.
Parablock time
This refers to the interval between consecutive parachain blocks. Asynchronous backing reduces parablock time from 12s to 6s, leading to an additional 2x increase in throughput.
Asynchronous backing in Polkadot’s broader scaling roadmap
Asynchronous backing will lead to immediate results for Polkadot, its parachains, and their users. What’s more, it's a foundational capability providing blockspace utilization and scaling improvements that set the stage for broader capabilities in the future.
One set of capabilities that asynchronous backing will make possible is agile coretime, a part of Polkadot’s proposed roadmap designed to allocate blockspace in a more flexible and cost-efficient way (as laid out in this talk at Polkadot Decoded 2023).
Short-term
- Parachain throughput increase: Individual parachains can increase their blockspace production by enabling collators to efficiently propose and process more transactions in a given time frame.
- Minimum parachain latency reduction: Parachain blocks can be created and processed more frequently with asynchronous backing. With more transactions being processed in less time, overall user experience is enhanced.
Mid-term
- Flexible scheduling of parachain blocks: Due to the creation of pipelines of parachain blocks, blockspace can be scheduled more flexibly, which lays the groundwork for most of the future features on the scaling roadmap.
- Ability to buy blockspace with instantaneous and bulk options: Agile coretime capabilities will allow the accommodation of both low frequency and high frequency blockspace demand, ensuring that the network can seamlessly scale to meet the needs of various applications. With instantaneous coretime, blockspace can be purchased on a pay-as-you-go basis, whereas bulk options may be purchased in blocks over a given timeframe.
Long-term
- Elastic scaling: Blockspace demand for applications will have peaks and valleys. The peaks of demand can be served by acquiring blockspace through instantaneous coretime to meet periods of peak demand, and the more predictable demand can be met with acquired blockspace and bulk coretime previously purchased.
- Increasing core utilization: Further improvements to optimize core utilization are on the roadmap and include the sharing or splitting of cores.
- Secondary markets: Secondary markets, enabled by agile coretime, will allow parachains to buy and sell blockspace that was previously purchased from the Relay Chain.
How will asynchronous backing be deployed?
Asynchronous backing will be rolled out in phases. An initial anticipated deployment on the Versi and Rococo testnets will allow for in-depth functionality testing to ensure stability. After that, it will be proposed to Polkadot’s on-chain governance system to be voted on by the wider community. If the governance proposal passes, asynchronous backing will go live on Kusama, before finally passing to Polkadot for full deployment.
What does this mean for ecosystem teams on Polkadot? A collator guide will be published soon on the Polkadot Wiki and sent to the parachain teams, containing all necessary instructions for seamless integration of asynchronous backing functionality.
Putting it all together
Asynchronous backing establishes a major step towards natively maximizing blockspace production. As Web3 projects continue to grow in scope across industries, this guarantee of access to blockspace, without sacrificing security or trust assumptions, will be a critical consideration for technical and non-technical founders looking for an appropriate blockspace ecosystem to build within.
The boost in transaction throughput and reduction in latency will allow for improved performance, thus reducing cost and enhancing UX for users of parachain dapps. Furthermore, by providing the ability to build pipelines of parachain blocks, Polkadot is laying the foundation for future scaling capabilities.
Asynchronous backing on Polkadot is a considered solution that targets the long-running problem of blockspace congestion, lack of flexibility, and the security compromises that scalability solutions to-date have been associated with. Now, Polkadot can dynamically adapt to varying workloads for dynamic Web3 projects and simultaneously achieve higher levels of efficiency — all while ensuring the same security and trust assumptions as for the entire Polkadot ecosystem.
Author: John Murray
Special thanks to Robert Habermeier, Sophia Gold, and Natalie Tillack for their contributions to this blog.