-
Notifications
You must be signed in to change notification settings - Fork 172
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
Sync committee rewards specification is ambiguous in case of zero return #480
Comments
Doesn't the description clarify this already?
"for sync committee members" and "for every committee member", I would not expect this api to return any data for a validator that is not part of the sync committee |
I would say if erigon got it wrong, then maybe the clarification is not good enough. Would it hurt to be explicit? Do we want to keep the specification as small as possible? |
seems like a good idea to add more explicit note |
In the meantime I fixed this in erigon, so no urgency at all, thanks for the comments! |
…2302) The Beacon API specs say (rather not clearly, but still), that on non-participation of a validator in an epoch, no data should be returned. See ethereum/beacon-APIs#480
When requesting
curl -d '["125"]' http://localhost:3500/eth/v1/beacon/rewards/sync_committee/10172928
, erigon returns:Here, the fact that in this epoch this validator is not part of the committee is communicated by the 0 reward, but other implementations return:
an empty array, so the fact that 125 is not member in this epoch is communicated by the missing item in the returned
data
array.This ambiguity comes from the spec itself, as it's not explicitly written which is the correct one. This should be addressed, both solutions seems feasible for me, but one should be specified and required.
Both solutions have pros:
If I understand the beacon chain spec correctly, there is no way currently to earn zero rewards when part of the committee:
But I think there is no guarantee that in the future Ethereum2 doesn't want to represent situations when the reward was exactly zero, for any reason. And in this sense returning no data for the case of "not member of committee" sounds better, as that differentiates between zero and no-member situation.
The text was updated successfully, but these errors were encountered: