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

Penalize sync comiittee #2450

Closed
wants to merge 3 commits into from
Closed

Conversation

potuz
Copy link
Contributor

@potuz potuz commented May 27, 2021

This PR solves #2448 by inverting the logic for sync committee participation rewards into penalizing lack of participation. This way the vast majority of validators are not hindered nor need to resort to luck.

The one base_reward per epoch invariant is preserved by this PR, the only change is that the rewards weights should sum up to the WEIGHT_DENOMINATOR, but not including the SYNC_PENALTY_WEIGHT which is now otherwise an independent constant.

Notice that there may be a false feeling that validators in the sync committee are now penalized since they may receive stiff penalties for missing participation in a slot, that otherwise wouldn't. However, with this approach, even after being penalized for missing a sync committee participation, the overall result for those validators is exactly the same as in the current rewards-based mechanism.

There are other options to mitigate the problem of #2448 like reducing the SYNC_REWARD_WEIGHT and EPOCHS_PER_SYNC_COMMITTEE_PERIOD but these all lead to relying on luck to some factor. Given that the sync committee size is minimum compared to the active validator set, any set of constants will always result in a non-trivial probability of a high number of validators not being included in a committee for two years.

Discussions in
https://discord.com/channels/595666850260713488/595701319793377299/847063172174577744

@hwwhww hwwhww added the Altair aka HF1 label Jun 1, 2021
@djrtwo
Copy link
Contributor

djrtwo commented Jun 4, 2021

closing in favor of #2453

@djrtwo djrtwo closed this Jun 4, 2021
@potuz potuz deleted the penalize-sync-comiittee branch November 1, 2021 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Altair aka HF1
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants