Polkadot <> Kusama Bridge

Aaaaaand we found our first bug :see_no_evil: - don’t worry, it has no security implications :relieved:

Description

The on-chain GRANDPA light-client doesn’t correctly handle a corner case involving validator set changes that are triggered by validator slashing. Unfortunately, there is no validator slashing happening in Rococo or Westend so this bug surfaced only on the Polkadot <> Kusama deployment.

As a result of the bug, the Kusama GRANDPA light-client on Polkadot doesn’t recognize the Kusama validator set change and thus refuses to accept subsequent changes as well.

More technical details can be found in the PR description of the proposed fix.

Effect

Meaning the bridge is stuck for the Kusama → Polkadot direction.
Any transfer from AHK → AHP will get stuck in the bridge queues, but not lost.

Note: Polkadot → Kusama is (yet) unaffected.

Solution

The code fix has already been updated in polkadot-sdk.

To apply the fix on-chain we need to do a BH runtime upgrade so a runtime patch is being prepared in GitHub - polkadot-fellows/runtimes: The various runtimes which make up the core subsystems of networks for which the Fellowship is represented.

Unfortunately there is a Polkadot BH runtime upgrade (to 1.2.0) already under voting: https://polkadot.polkassembly.io/referenda/648, so we will have to wait for that to happen before applying a subsequent patch fix on top.

Solution ETA

ETA for deployment of fix. based on statistical duration of OpenGov upgrade path: 2-3 weeks.

UIs call-to-action

Please disable Kusama → Polkadot direction for your users, otherwise their funds will be stuck until the fix is deployed on-chain.

1 Like