scroll down

Asynchronous Backing: The Technical Lowdown

The Polkadot ecosystem is about to take a major leap forward in scalability with the upcoming deployment of asynchronous backing. This article, with additional research from Dmitry Sinyavin, Alex Gheorghe, and Joyce Siqueira, explains how.

Natalie Tillack
Head of Product Marketing @ Parity Technologies
April 12, 2024
5 Min Read

Asynchronous backing is just around the corner, and is expected to deliver up to 10x higher throughput for Polkadot's parachain consensus protocol. In effect, this would be brought about when combined with proof-of-validity reclaim (filling unused block space). Async backing will go live on Kusama 48 hours after the next runtime upgrade. It will also be included in Polkadot's next runtime upgrade, ready to be enabled once running smoothly on Kusama.

What is Asynchronous Backing?

To understand async backing, we first need to look at the backing process itself. In Polkadot, parablocks (parachain blocks) are generated by collators and sent to validators on the Relay Chain for "backing" - an initial verification step before inclusion.

Inclusion refers to the process of a parablock being registered as the final block of the parachain and added to the Relay Chain. This is a distinct step from backing, where a parablock is initially verified by a subset of validators.

backing.png Backing of parablocks {P} over time: In asynchronous backing, the backing {B} and inclusion {I} phase can overlap, meaning multiple parablocks can be produced in parallel within the same Relay Chain block {R}. Graphic adjusted from the Polkadot Wiki.

Currently, this backing process is synchronous - parablocks can only be built on the latest Relay Chain block. This tight coupling with the Relay Chain's progression limits throughput, as collators must rush to generate each new parablock within a short execution window before backing.

Async backing decouples this dependency. It allows collators to build parablocks on older Relay Chain blocks and create pipelines of multiple pending parablocks. This parallel block generation increases efficiency and throughput.

To dive deeper, check out the Polkadot wiki on asynchronous backing.

Screenshot 2024-04-12 at 16.29.32.png

Why is it Important?

The primary benefit is a massive performance boost.

Asynchronous backing alone increases throughput theoretically by 8x. Recent benchmarks have shown that, when coupled with PoV reclaim, performance is boosted by 10x.

Async backing enables parachains to produce blocks twice as fast - every six seconds instead of every 12 seconds. Also, it increases execution time from 0.5s to 2s, enabling the production of 4x bigger blocks. See an earlier Polkadot blog post on async backing for more on this.

While async backing gives you larger and more frequent time windows to author your blocks, PoV reclaim allows you to account for a transaction's real proof size instead of a worst-case estimate. When combined, you can author for a longer period while the proof that fits within the Relay Chain-defined constraints is now estimated more precisely.

This scalability uplift is crucial for supporting high-throughput parachains like gaming platforms with millions of users.

Async backing is a major component of wholescale scaling solutions coming to Polkadot, like Agile Coretime and Elastic Scaling, allowing for more flexible blockspace allocation.

Case Study: Mythical Games

Mythical Games, building a large-scale gaming platform on Polkadot, has been eagerly awaiting asynchronous backing to handle its high transaction volumes. With the 8x improvement delivered by async backing alone, collators can pack significantly more game actions, token transfers, etc. into each parablock.

How Can Parachains Use It?

Async backing offers parachains the possibility of building parachains blocks with more transactions more often. If your existing parachain needs to make improvements on these metrics you can migrate it to async backing by following this migration collator guide. New parachains can simply follow the standard implementation guidelines, which will include async backing functionality once it is enabled on Polkadot.

Conversely, if your parachain does not need the extra throughput and the improved latency, there is no need to upgrade to async backing now. You can always do it at a later date if necessary.

How Does It Work?

If you want a really deep technical breakdown, you might want to know that two key parameters control the degree of parallelism in asynch backing:

  • max_candidate_depth: The number of pending parablocks a collator can produce before inclusion.
  • allowed_ancestry_len: How far back a collator can go to select a Relay Chain block as the parablock's parent.

By adjusting these parameters, parachains can have multiple parablocks undergoing backing simultaneously, rather than just one at a time with synchronous backing. Collators gain a longer execution window to pack more transactions into each parablock.

Conclusion: Growth at Scale

Asynchronous backing represents a huge scalability milestone for Polkadot and its parachain ecosystem. By optimizing the core consensus protocol, it unlocks up to 10x higher throughput when combined with PoV reclaim, without sacrificing security. This paves the way for supporting demanding Web3 applications across key verticals such as gaming and DeFi on Polkadot's scalable cross-chain infrastructure. Effectively, it brings Web2 scale into the reach of Web3. Parity is working closely with parachains to ensure a smooth integration of asynchronous backing in the months ahead.

Six-second Blocks

Six-second Blocks