Open Overkillus opened 4 months ago
What does Being disabled stops nodes from initiating a dispute (hard escalation) but issuing a dispute statement causes a no-show (soft escalation) which adds an extra tranche to approval checking.
exactly mean here. I don't understand how a dispute causes a no-show.
Being disabled stops nodes from initiating a dispute (hard escalation)
Hope this part is clear. It means that an honest validator node when receiving a dispute statement from a disabled validator will not register it as active if it is not already active. The honest validator will in that case not cast his own vote and will not gossip it further. This stops the dispute escalation (hard escalation - because everyone checks in a dispute).
but issuing a dispute statement causes a no-show (soft escalation) which adds an extra tranche to approval checking.
Imagine a scenario when you are an honest good validator but somehow got disabled (some assumptions were broken or nondeterminism crept into the system). In that case when you are assigned for approval checking you can still cast explicit approvals. On the other hand if what you are checking is invalid you cannot start a dispute as noted in the paragraph above. What you will do in that case is miss your approval checking assignment despite announcing it. This will cause a soft escalation because it adds a 1 extra tranche of checkers. This is the minimal level of power and trust we can give to disabled validators. In that case they can still help protect the system but the damage they can do is minimised. The effectively lost the privilege for full escalation but they still have the soft escalation powers.
We need this because it helps us fights against a scenario when honest nodes are somehow slashed and disabled and then without it they would be totally ineffective in approval checking which allows much greater chances of success for attackers. This change helps us preserve security under the same assumptions as DoS protection.
Thanks for explaining now it makes a lot of sense
The honest validator will in that case not cast his own vote and will not gossip it further
We de facto treat the dispute by the disabled validator as a no-show. In principle, we could make this explicit or even have some "super no-show", so we should not be afraid of gossiping the "bad dispute" in principle. We need not really do this right now, but worth keeping in mind.
State of Disabling:
For the explanation of this design below go here.
Disabling board for issue-level tracking here.
Stage 0: How the system used to work before the Disabling Overhaul:
*Ignoring AURA offences. **There are some other misbehaviour types handled in rep only (DoS prevention etc) but they are not relevant to this strategy.
Stage 1: How the system worked with the first few Disabling Overhaul PRs merged:
Notes:
Ignoring AURA offences. There are some other misbehaviour types handled in rep only (DoS prevention etc) but they are not relevant to this strategy. ImOnline no longer listed in the table.
Stage 2: How the system will work without validator re-enabling:
17%-> 33%Notes: This stage will be in effect with the merge and release of 2226
*Ignoring AURA offences. **There are some other misbehaviour types handled in rep only (DoS prevention etc) but they are not relevant to this strategy.
Stage 3: How the system is planned to work with re-enabling:
*Ignoring AURA offences. **There are some other misbehaviour types handled in rep only (DoS prevention etc) but they are not relevant to this strategy.
Stage 4: How the system is planned to work with re-enabling and approval voting slashes enabled:
Notes:
*Ignoring AURA offences. **There are some other misbehaviour types handled in rep only (DoS prevention etc) but they are not relevant to this strategy.
Current Stage:
#2226 was merged and awaits release. Once released we'll move from Stage 1 to Stage 2.Stage 2 Live Stage 3 WIPChangelog:
Split Stage 3 into two distinct stages. 3 introduces re-enabling and 4 introduces approval slashes.