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

Feature/rewarding interval updates #880

Merged
merged 28 commits into from
Nov 10, 2021

Conversation

jstuczyn
Copy link
Contributor

@jstuczyn jstuczyn commented Nov 5, 2021

This PR further builds on #864 and thus requires the mentioned PR to be merged first.

This PR introduces mechanism to update rewarding_interval_starting_block in the contract state and thus allow for new seed for the PRNG for the selection of the "demanded" set of mixnodes. It does so by introducing two new transactions that explicitly begin and finish mixnode rewarding: ExecuteMsg::BeginMixnodeRewarding and ExecuteMsg::FinishMixnodeRewarding respectively. ExecuteMsg::BeginMixnodeRewarding sets new rewarding_interval_starting_block while ExecuteMsg::FinishMixnodeRewarding finishes rewarding procedure thus indicating to the validator API that the new set should be determined.
Furthermore, no ExecuteMsg::RewardMixnode transactions can be sent outside the block defined by the begin and finish transactions. Creation of the block also allowed for easy introduction of protection against rewarding any mixnode more than once during a rewarding interval. We are simply storing a list of which node has been already rewarded during particular interval. Since the rewarding interval is expected to last in order of months, it shouldn't really bloat our storage.

Remaining work:

  • measure changes to MIXNODE_REWARD_OP_BASE_GAS_LIMIT

Copy link
Contributor

@neacsu neacsu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Small suggestion: I think you could have targeted for merge the feature/working-rewarded-sets branch, until that one was merged, so that this PR only showed its own diffs and not those from the other PR

@jstuczyn
Copy link
Contributor Author

jstuczyn commented Nov 9, 2021

Yep... I definitely should have. My bad!

@jstuczyn jstuczyn merged commit 7e1cf2f into develop Nov 10, 2021
@jstuczyn jstuczyn deleted the feature/rewarding_interval_updates branch November 10, 2021 15:28
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 this pull request may close these issues.

3 participants