Slashing

The slashing mechanisms in Argochain, are a protocol to penalize validators for misbehavior to ensure network security. The slashing penalties are proportional to the severity of the misconduct and aim to deter bad practices while maintaining network integrity.

Security Threat Levels and Corresponding Punishments

Level 1: Minor Misconduct

○ Example: Occasional unresponsiveness.

○ Penalty: Up to 0.1% of the validator's stake.

○ Calculation: For a validator with 20,000 AGCs, slashing 0.1% results in a penalty of 20 AGCs.

○ Explanation: Minor issues are expected to happen rarely and individually.

Level 2: Moderate Misconduct

○ Example: Repeated unresponsiveness or isolated cases of equivocation.

○ Penalty: Up to 1% of the validator's stake.

○ Calculation: For a validator with 20,000 AGCs, slashing 1% results in a penalty of 200 AGCs.

○ Explanation: These are more severe issues that should cause the validator to reconsider their practices.

Level 3: Serious Misconduct

○ Example: Collusion among validators or hacked validator nodes.

○ Penalty: Up to 10% of the validator's stake.

○ Calculation: For a validator with 20,000 AGCs, slashing 10% results in a penalty of 2,000 AGCs.

○ Explanation: Such misconducts indicate coordinated attacks or significant security risks.

Level 4: Critical Misconduct

○ Example: Major security risks or extensive collusion.

○ Penalty: Up to 100% of the validator's stake.

○ Calculation: For a validator with 20,000 AGCs, slashing 100% results in a penalty of 20,000 AGCs (total stake).

○ Explanation: The highest level of penalty is reserved for actions that threaten the entire network’s security. From the slashed amount 5% goes to the reporter.

Slashing Mechanics

Validators and Nominators: When a validator is slashed, both the validator and their nominators are penalized proportionally to their stake.

● Encouragement: This system encourages nominators to distribute their support across various validators to minimize risk.

Specific Misconducts

1. Unresponsiveness

○ Detection Method: Validators must submit an "I'm online" heartbeat messag each session.

○ Calculation: If a validator fails to send this, they are marked as inactive.

○ Penalty: A fraction of their stake is slashed based on the number of unresponsive validators:

■ Example: If there are 50 validators and 3 are unresponsive, the penalty is 0.05 * min( (3 * (3−1) / 50), 1) = 0.05 * min( (6 / 50), 1) = 0.05 * 0.12 =0.006 or 0.6%.

2. Grandpa Equivocation and Unjustified Votes ○ Equivocation: A validator signs two or more votes in the same round.

■ Level 2 Misconduct: Minor, accidental equivocations. ○ Unjustified Votes: Voting for a chain incompatible with finalized blocks.

  • Detection: Requires another validator to submit a transaction with proof of the unjustified vote.

  • Penalty: Up to 10% of the validator's stake.

  • Reward: The reporter gets 10% of the slashed amount.

3. Babe Equivocation

○ Equivocation: Producing two or more blocks in the same time slot.

○ Penalty: Similar to Grandpa equivocation, often treated as Level 2 misconduct unless coordinated with others.

Database and Detection Mechanisms

● Off-chain Database: Maintains records of validator misconduct and slashing events.

● Proof of Misconduct: Short proofs (like signed votes) that can be quickly verified on-chain.

● Voting Certificate: When short proof isn’t possible, validators vote on the misconduct, which is more resource-intensive and reserved for severe cases.

Examples and Calculations

Example of Level 2 Misconduct (Repeated Unresponsiveness)

  • ○ Validator with 20,000 AGCs.

  • ○ Penalty: 1% of 20,000 AGCs = 200 AGCs.

Example of Level 3 Misconduct (Validator Node Hacked)

  • ○ Validator with 50,000 AGCs.

  • ○ Penalty: 10% of 50,000 AGCs = 5,000 AGCs.

Example of Level 4 Misconduct (Major Collusion)

○ Validator with 100,000 AGCs.

○ Penalty: 100% of 100,000 AGCs = 100,000 AGCs.

Rewards for Reporting

● Levels 1 and 2: The reporter gets 10% of the slashed amount.

● Levels 3 and 4: Reporters (validators) get a proportionate reward shared among all involved nominators.

Misconduct Detection Phases

  1. Inspection Phase: Validators check the blob and issue validity statements.

  2. Voting Phase: If there's a conflict (validity vs invalidity statements), all validators vote. The decision is based on the majority.

Conclusion

Argochain's slashing mechanisms are designed to penalize validators in a way that reflects the severity of their misconduct. By understanding and adhering to these principles, validators, and nominators can contribute to the network's security and stability.

Last updated