Skip to content
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

Re-enable small offenders when disabled validators count reaches the disabling limit #2418

Open
tdimitrov opened this issue Nov 21, 2023 · 2 comments

Comments

@tdimitrov
Copy link
Contributor

With the new disabling strategy in place if the number of disabled validators reaches the Byzantine threshold no more validators are disabled. This potentially opens an attack vector. If a malicious party manages to disable enough honest validators to reach the Byzantine threshold it will have free tries to push bad candidate till the end of the era.

Alternative approach is to re-enable small offenders in favour of big ones when the Byzantine threshold is reached.

This issue is a follow up from #2226 (comment)

@eskimor
Copy link
Member

eskimor commented Nov 22, 2023

the free tries is correct, but a bit misleading. The attacker would still lose all its stake, but then has nothing to lose and can keep trying for an entire era.

@Overkillus
Copy link
Contributor

As per the recent summary in here. We definitely want to re-enable lowest offenders when reaching the bzt.

The initial mvp will most likely not have this feature enabled and it can be added at the second release.

Some of the reasoning behind it is that it helps us protect against situations where 1/3 of validators are slashed for a low amount and then malicious backers can get away free with endless backing during an era. Re-enabling makes it so endless malicious backing is only possible if at least 1/3 of the total active validator stake is slashed.

@Overkillus Overkillus changed the title Consider re-enabling small ofenders when disabled validators count reaches byzantine threshold ~~Consider~~ re-enabling small ofenders when disabled validators count reaches byzantine threshold Dec 8, 2023
@Overkillus Overkillus changed the title ~~Consider~~ re-enabling small ofenders when disabled validators count reaches byzantine threshold ~Consider~ re-enabling small ofenders when disabled validators count reaches byzantine threshold Dec 8, 2023
@Overkillus Overkillus changed the title ~Consider~ re-enabling small ofenders when disabled validators count reaches byzantine threshold Consider re-enabling small ofenders when disabled validators count reaches byzantine threshold Dec 8, 2023
github-merge-queue bot pushed a commit that referenced this issue Jun 5, 2024
In preparation for launching re-enabling
(#2418), we need to
adjust the disabling strategy of statement-distribution to use the relay
parent's state instead of the latest state (union of active leaves).
This will also ensure no raciness of getting the latest state vs
accepting statements from disabling validators at the cost of being more
lenient/potentially accepting more statements from disabled validators.

- [x] PRDoc
@Overkillus Overkillus changed the title Consider re-enabling small ofenders when disabled validators count reaches byzantine threshold Re-enable small offenders when disabled validators count reaches the disabling limit Jun 10, 2024
TarekkMA pushed a commit to moonbeam-foundation/polkadot-sdk that referenced this issue Aug 2, 2024
In preparation for launching re-enabling
(paritytech#2418), we need to
adjust the disabling strategy of statement-distribution to use the relay
parent's state instead of the latest state (union of active leaves).
This will also ensure no raciness of getting the latest state vs
accepting statements from disabling validators at the cost of being more
lenient/potentially accepting more statements from disabled validators.

- [x] PRDoc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

3 participants