2

We've been investigating an issue that's most likely related to this post, and this issue. But unsure if the underlying cause is the same, I'm looking for some help to confirm my understanding of this issue.

We're running PoA network which has been connected to Kusama for about 2 months now, and just recently we've encountered "Detected precommit equivocation" error below:

Detected precommit equivocation in the finality worker: Equivocation { round_number: 7, identity: Public(3b5e36d579368a76c4547f8a35f98fa551ebd601496b228acf722f9410562995 (nhybsE5c...)), first: (Precommit { target_hash: 0xe575faa4b4ab50595e29a81abc937e9a7df8cd2f42fd9c76109132e6582d3f41, target_number: 15294835 }, Signature(8a17c570b17ac891e270b78c5a76f62b4ca040c48f8ecb1762efb454da5ce7a50118529f0f7f35b454b182ae18216d334d9bfb8e2846efd3372103d9dd9c7006)), second: (Precommit { target_hash: 0x5b9632805d70986427f0909dc2015ce741b60a94a46c2444b42721768e4ed90d, target_number: 15294834 }, Signature(cf22cfbc1f2c8e757059c4e4a25af3ffb9640b1c5f6b8007b91864f6f8763434eecc25d58649d3a01ce2dcc3c002ffe21f61a2cdb4f88e75ddbbf63c6f381502)) }

The first question I have the public identity would be associated with an authority node on Kusama? I don't think there is a currently away to query node identities.

The second question, is there away to recover from this without doing a full re-sync from scratch? We had to do a full re-sync for both bootnode and archive nodes.

1 Answer 1

0

This was due to a bug that has already been fixed: https://github.com/paritytech/substrate/pull/11302 https://github.com/paritytech/finality-grandpa/pull/152. The fix was included in Polkadot v0.9.26 so if you update your collator to that version or later it should resolve the problem (without requiring a re-sync).

Regarding the question of identity, the key being shown there is the GRANDPA session key. In order to figure out the validator identity associated with that session key you can query on-chain state:

session.keyOwner(key_type, public_key_hex)

In your example the call should be:

session.keyOwner(gran, 0x3b5e36d579368a76c4547f8a35f98fa551ebd601496b228acf722f9410562995).

1
  • 1
    Thanks Andre for confirming! We will rollout an upgrade to incorporate this fix.
    – Mo Elshami
    Nov 14, 2022 at 14:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.