Polkadot <> Kusama Bridge

Bridge is running LIVE! :rocket: :bridge_at_night: :tada:

Polkadot Bridge Hub <> Kusama Bridge Hub transport protocol

GRANDPA light-clients of both Polkadot and Kusama running on the two BridgeHubs have been initialized and are currently being synced live by a Parity-run permisionless relayer :mailbox_with_mail: .

The consensus proving logic (light clients), parachain heads proving logic and messages proving logic are all running on-chain in BridgeHubs runtimes, controllable exclusively by Polkadot/Kusama Governance :judge: .

This means Polkadot and Kusama are currently following each other’s chain progress and importing messages from the other side in a trustless manner :muscle: .

The relayer protocol and its incentivization mechanism are meant to encourage and foster community-run permisionless relayers, targeting a decentralized and robust relayer network :capital_abcd:.

In fact, :index_pointing_at_the_viewer: can run a relayer yourself by following this guide.

Initially the bridge has a single opened β€œlane” servicing XCM communication between Polkadot Asset Hub and Kusama Asset Hub. However, it supports opening other lanes between other parachains on opposite sides of the bridge (you can conceptually think of a bridge lane, like an HRMP channel between two parachains, but from different consensus systems).

Polkadot Asset Hub <> Kusama Asset Hub XCM asset transfers

The PAH<>KAH bridge lane supports basically any XCM, but PAH and KAH runtimes have been configured to only accept DOT & KSM transfers back and forth (for now) :handshake: .
Soon enough, stablecoins will be allowed as well. Then later, opened up to any Asset owner to register their asset as a ForeignAsset on the remote Asset Hub just as they would on the local Asset Hub.

DEMO: KSM transfer from KAH to PAH

On Day 1, only UIs available:

  • Manual crafting of XCM transfer :nerd_face: :face_with_raised_eyebrow:
  • PJS pallet_xcm extrinsic (hey, it’s better than nothing :man_shrugging: )

Crafting the transfer from KAH to PAH

  • Destination (dest) is Polkadot Asset Hub: { parents: 2, X2(GlobalConsensus(Polkadot), Parachain(1000)) },
  • beneficiary is my account on PAH,
  • assets is KSM: { parents: 1, Here },
  • using same KSM for fees.

E.g. Encoded call: 0x1f08030202090200a10f03000101002cb783d5c0ddcccd2608c83d43ee6fc19320408c24764c2f8ac164b27beaee370304000100000700e87648170000000000

Following execution of above:

on Kusama Asset Hub:

  • KSM transferred from my account to PAH sovereign account on KAH :bank:
  • (Expensive) Bridge transfer fees paid from my account to Treasury :money_with_wings:

on Kusama Bridge Hub

  • Message added to outbound queue for exporting to Polkadot Bridge Hub

on Polkadot Bridge Hub

  • Message imported/received, then sent over XCMP to destination: Polkadot Asset Hub

on Polkadot Asset Hub (intended destination)

  • Foreign asset KSM issued to my account :moneybag:

Finally, after all this time, I have Liquid status for KSM on Polkadot Asset Hub :cowboy_hat_face: :joy: