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

Improve computational efficiency of the upgrade signalling mechanism #2877

Closed
4 tasks
cmwaters opened this issue Nov 30, 2023 · 0 comments · Fixed by #2882
Closed
4 tasks

Improve computational efficiency of the upgrade signalling mechanism #2877

cmwaters opened this issue Nov 30, 2023 · 0 comments · Fixed by #2882
Assignees
Milestone

Comments

@cmwaters
Copy link
Contributor

cmwaters commented Nov 30, 2023

Summary

The new upgrading mechanism is relatively naive in it's implementation, tallying signalling votes every block. There are two ways we can improve this:

  • Delete the votes after an upgrade so we don't have to iterate over the entire set (this is a relatively minor improvement if we don't expect to tally too often)
  • Tally periodically. Either:
    • every n blocks, say 10,000
    • using a "crank" message, where anyone can pay to count the votes and trigger the version change once a quorum has been reached.

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@cmwaters cmwaters added the enhancement New feature or request label Nov 30, 2023
@cmwaters cmwaters self-assigned this Nov 30, 2023
@cmwaters cmwaters removed the enhancement New feature or request label Nov 30, 2023
@cmwaters cmwaters added this to the v2 milestone Nov 30, 2023
cmwaters added a commit that referenced this issue Dec 1, 2023
Addresses: #2877

Introduces a crank message for tallying all the signal messages
cmwaters added a commit that referenced this issue Dec 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant