ChainSafe / ChainSafe/gossamer

feat(dot/parachain): implement disputes subsystem

Open
#3,667 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
454
Forks
144
PR merge metrics
No merged PRs in 30d

Description

## Issue summary
From the [node implementers guide](https://paritytech.github.io/polkadot-sdk/book/node/disputes/index.html)

If approval voting finds an invalid candidate, a dispute is raised. The disputes subsystems are concerned with the following:

1. Disputes can be raised
2. Disputes (votes) get propagated to all other validators
3. Votes get recorded as necessary
4. Nodes will participate in disputes in a sensible fashion
5. Finality is stopped while a candidate is being disputed on chain
6. Chains can be reverted in case a dispute concludes invalid
7. Votes are provided to the provisioner for importing on chain, in order for slashing to work.

The dispute-coordinator subsystem interfaces with the provisioner and chain selection to make the bulk of this possible. dispute-distribution is concerned with getting votes out to other validators and receiving them in a spam resilient way.

TODO:
- [ ] #3302
- [ ] #3666

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.