Skip to content

feat(nns): Use a previous snapshot for ballots if an unusually high voting power is detected #4798

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

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jasonz-dfinity
Copy link
Contributor

Why

To prevent a sudden takeover of the NNS in the event of some party gaining illegitimate voting power (e.g. a bug in Governance, ICP Ledger, etc.), we aim at disabling the early adoption of NNS proposals if the voting power has a spike, which should give the network more time to react and recover in such cases.

What

There are 3 PRs to achieve the above-mentioned goal:

@github-actions github-actions bot added the feat label Apr 11, 2025
github-merge-queue bot pushed a commit that referenced this pull request Apr 11, 2025
# Why

To prevent a sudden takeover of the NNS in the event of some party
gaining illegitimate voting power (e.g. a bug in Governance, ICP Ledger,
etc.), we aim at disabling the early adoption of NNS proposals if the
voting power has a spike, which should give the network more time to
react and recover in such cases.

# Related PRs

There are 3 PRs to achieve the above-mentioned goal:

- (#4404) Define VotingPowerSnapshot and a collection of snapshots
- (current PR) Add a timer task to record snapshots periodically
- (#4798) Use the previous snapshot if a voting power spike is detected

# What

* Refactor the existing function `create_ballots_for_standard_proposal`
to be used for snapshots too
* Define how to store the snapshots in stable storage
* Define a timer task for taking snapshots
Base automatically changed from jason/NNS1-3642-2 to master April 11, 2025 22:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant