You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This DIP proposes to punish provisioners that participate in multiple branches at the same time.
This is known as the Nothing at stake problem and consists in having provisioners work on all active forks to maximize the probability of gaining rewards. This behavior is detrimental for the consensus since it may result in multiple concurrent branches growing and reaching finality at the same time, which in turn enable double spending attacks.
To mitigate this risk, provisioners are compelled to work on a single branch at a time, namely the one with highest priority (according to their knowledge).
If a misbehavior is detected, the provisioner can be slashed.
Possible solution design or implementation
To slash a double vote, a check is done to see if a provisioner participates in a lower-priority branch AFTER having participated in a higher-priority one.
If such a case is detected, the block generator can include a proof in the candidate block, which will result in the misbehaving provisioner being slashed
The slashed amount is distributed among generator and voters using the standard reward distribution (e.g. 90% / 10%)
Additional context
Ordering of provisioner activities (candidate proposal and votes) is based on the consensus message timestamp introduced by #12 .
The text was updated successfully, but these errors were encountered:
Summary
This DIP proposes to punish provisioners that participate in multiple branches at the same time.
This is known as the Nothing at stake problem and consists in having provisioners work on all active forks to maximize the probability of gaining rewards. This behavior is detrimental for the consensus since it may result in multiple concurrent branches growing and reaching finality at the same time, which in turn enable double spending attacks.
To mitigate this risk, provisioners are compelled to work on a single branch at a time, namely the one with highest priority (according to their knowledge).
If a misbehavior is detected, the provisioner can be slashed.
Possible solution design or implementation
Additional context
Ordering of provisioner activities (candidate proposal and votes) is based on the consensus message timestamp introduced by #12 .
The text was updated successfully, but these errors were encountered: