-
Notifications
You must be signed in to change notification settings - Fork 233
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
Active sets => Rewarded + Active/Idle sets #864
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
jstuczyn
changed the title
Feature/working rewarded sets
Active sets => Demanded + Active/Idle sets
Nov 1, 2021
jstuczyn
force-pushed
the
feature/working-rewarded-sets
branch
from
November 3, 2021 15:23
de40980
to
96dcd6d
Compare
1 task
neacsu
reviewed
Nov 9, 2021
neacsu
approved these changes
Nov 9, 2021
jstuczyn
changed the title
Active sets => Demanded + Active/Idle sets
Active sets => Rewarded + Active/Idle sets
Nov 9, 2021
jstuczyn
force-pushed
the
feature/working-rewarded-sets
branch
from
November 9, 2021 15:49
05f8880
to
e1789b4
Compare
durch
approved these changes
Nov 10, 2021
jstuczyn
force-pushed
the
feature/working-rewarded-sets
branch
from
November 10, 2021 11:07
dec7b1b
to
c777264
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request is more or less ready, however, it cannot be merged until #856 has already been merged as it builds on the changes in there. Therefore it shall remain a draft until that happens.Will close #2103
This pull request extends the concept of "active sets" into concepts of "rewarded" and "active sets".
"Rewarded" set is set of mixnodes based on the currently demanded bandwidth. It is expected to be only changed once per rewarding interval. It includes the mixnodes that are going to receive rewards during this rewarding interval. This set is then further subdivided into "active" and "idle" mixnodes.
"Active" mixnodes indicate nodes that are going to be doing any work. They can be updated more frequently, such as every one hour, in order to deal with current demand fluctuations.
Note that only "rewarded" nodes are being tested by network monitor. The rest of the nodes are completely ignored.
Special care must be taken when merging #833 <= ensure correct nodes are rewarded and tested.
After this PR is merged (or even before) another one needs to be created that actually updates the value of
rewarding_interval_starting_block
so that different seeds would be used during different epochs.In order to transform this draft into a proper pull request the following is still required:
Ask Claudia about what should be done with the gateways in that case - should we test all / any of them?-> Dave says it's useful to have uptimes for the gateways even if we don't reward them directlyMake sure only correct set of nodes are rewarded and with correct amounts. I might perhaps need to have a chat with @durch to discuss integration with his branch. I.e. make sure "active" nodes(and its delegators) get full rewards, while "idle" nodes get only some part of it.- this should be done as a separate PR insteadIntroduce- this should be done as a separate PR insteadBeginRewarding
andFinishRewarding
transactions that would update contract'srewarding_in_progress
andrewarding_interval_nonce
values respectively. If it's an easy change,rewarding_in_progress
would also lock any delegations in place to help us deal with any weird edge cases.