Skip to content

Disputes with separate slashing percentages for queries and indexing #458

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
May 4, 2021

Conversation

abarmat
Copy link
Contributor

@abarmat abarmat commented Apr 1, 2021

Description

The DisputeManager is the contract where actors in the protocol can create disputes about indexers misbehaving. There are two types of disputes: indexing and query ones. Indexing disputes are created based on one allocation that was closed with a wrong POI (proof of indexing) while query disputes are created presenting an attestation for a wrong query returned. After a dispute is created, the Arbitrator can resolve it and slash a percentage of the indexer's stake.

The PR adds a different slashing percentage for Indexing Disputes and Query Disputes.

Motivation

The current contract uses the same slashing percentage for indexing and query disputes. However, more flexibility is desirable as one indexing offense can carry much more weight than a single bad query returned. Having a too high slashing percentage for a single wrong query can be a disincentive for indexers to serve queries.

Solution

  • Add a type to the dispute to categorize it when someone creates it.
  • Create new storage var for a separate indexer and query slashing percentages.
  • Add setters for each new slashing governance variable.
  • Pick the right slashing percentage when the dispute is resolved.
  • Additional minor refactors.

@abarmat abarmat added the GIP label Apr 1, 2021
@abarmat abarmat marked this pull request as ready for review April 1, 2021 17:28
@abarmat abarmat force-pushed the ariel/separate-slashing-percentages branch from 30929a5 to b61a9b2 Compare April 12, 2021 13:29
@abarmat abarmat added the enhancement New feature or request label Apr 12, 2021
@abarmat abarmat merged commit 27cdd07 into master May 4, 2021
@abarmat abarmat deleted the ariel/separate-slashing-percentages branch May 4, 2021 02:08
@abarmat
Copy link
Contributor Author

abarmat commented May 6, 2021

Audited tag + fixes: https://github.com/graphprotocol/contracts/releases/tag/audit%2Fpr-458
Audited commit: b61a9b2

abarmat added a commit that referenced this pull request May 17, 2021
…458)

Adds a different slashing percentage for Indexing Disputes and Query Disputes

- Add a type to the dispute to categorize it when someone creates it.
- Create new storage var for a separate indexer and query slashing percentages.
- Add setters for each new slashing governance variable.
- Pick the right slashing percentage when the dispute is resolved.
- Additional minor refactors.
abarmat added a commit that referenced this pull request May 17, 2021
…458)

Adds a different slashing percentage for Indexing Disputes and Query Disputes

- Add a type to the dispute to categorize it when someone creates it.
- Create new storage var for a separate indexer and query slashing percentages.
- Add setters for each new slashing governance variable.
- Pick the right slashing percentage when the dispute is resolved.
- Additional minor refactors.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
audited enhancement New feature or request GIP
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant