Try   HackMD

New feature introduced: "Free Header Submission"

The upcoming 1.3.0 polkadot-fellows release introduces a new feature designed to reduce user delivery fees for message transfers over the Polkadot<>Kusama bridge.

What It Is About

For successful message relay, relayers must submit several extrinsics with proofs on both Bridge Hubs, including GRANDPA finality proofs, parachain header proofs, and message and message delivery proofs. Among these, GRANDPA finality proofs are the most costly, leading to high delivery fees paid by users on the source chains (e.g., when moving assets between Polkadot and Kusama Asset Hubs). This feature aims to reduce these high delivery fees for the Polkadot<>Kusama bridge.

How It Works

We’ve introduced a new feature that allows the submission of GRANDPA relay chain headers for free. These headers are crucial to the system’s operation, ensuring that the chain’s finality is properly maintained.

Without diving into too much detail, the feature allows a "configured" number of these headers to be submitted for free. This also prevents the possibility of filling an entire block with free submissions, which could lead to potential misuse. For those interested in the technical specifics, further details can be found here.

When a relayer submits a GRANDPA finality proof and meets all the criteria for free submission, the transaction fees are refunded. In other words, relayers do not have to pay for submitting finality. Consequently, we reduced the base delivery fees by calculating them without including finality (GRANDPA and parachain) costs. This change significantly reduces the cost associated with finality proofs, which in turn lowers the base delivery fees for users.

Testing and Results

We have an integration test for asset transfers over the Polkadot<>Kusama bridge available here.

I ran the test both with and without this feature. The test performs polkadotXcm.limitedReserveTransferAssets to move DOT and KSM between the Polkadot Asset Hub and the Kusama Asset Hub, while checking the delivery fees (polkadotXcm.FeesPaid) paid on the Asset Hubs.

Moving DOT from Polkadot Asset Hub to Kusama Asset Hub

Before:

Transaction fees: 0.0080054255 DOT
Delivery fees: 1.9458224686 DOT
-----------
Total fees: 1.953827894 DOT

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

After:

Transaction fees: 0.00401848 DOT
Delivery fees: 0.0642211012 DOT
-----------
Total fees: 0.068239581 DOT

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

The fee reduction is approximately 96.5%.

Moving KSM from Kusama Asset Hub to Polkadot Asset Hub

Before:

Transaction fees: 0.000267165305 KSM
Delivery fees: 0.393917159460 KSM
-----------
Total fees: 0.394184325 KSM

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

After:

Transaction fees: 0.000267676692 KSM
Delivery fees: 0.011749129986 KSM
-----------
Total fees: 0.012016807 KSM

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

The fee reduction is approximately 97%.

Benefits for Users

As a result of this update, the overall transaction fees for using the Polkadot<>Kusama bridge have been reduced. Users can now enjoy cheaper transactions, making transfers between the two networks more affordable and accessible.

This feature is a step forward in our ongoing efforts to optimize the system and provide a more cost-effective solution for our users.

Follow up

A similar feature is coming soon for the Polkadot<>Ethereum Snowbridge: https://github.com/paritytech/polkadot-sdk/pull/5201.

Credits

The main credit goes to Slava for the initial design and implementation. Additional credit is given to Adrian Catangiu for design adjustments and to Serban Iorga for feedback and reviews.