You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
Currently, there is no way to check that a validator is active via the relay API. You can see if an initial registration was successful via the relay/v1/data/validator_registration API call but if a validator goes inactive after registering there is no easy way to tell.
For example, this goerli validator is inactive at the time of this query:
The timestamp in the message is cached for good reason (new signatures+verification every Epoch does not make sense). This makes it impossible to see if a new registration was successful because the timestamp will not change without changing the fee_recipient or some other data.
Describe the solution you'd like
It would be nice to have a last_active_epoch data point that is either returned from this API call (must be ourside of the "message" since that carries a signature) or a separate, new endpoint (possibly something like /relay/v1/data/validator_last_active_epoch or /relay/v1/data/validator_last_registered_epoch). This metric would have significantly less overhead than updating the timestamp but would still need to be tracked internally by validators.
Describe alternatives you've considered
Updating the timestamp to the most recent epoch for which the validator registered. This does not make since because the message is signed by the validator which currently cache the message to prevent 400K signature verifications by the relay on each Epoch.
Additional context
If there is consensus on the correct path forward I am happy to implement the changes.
The text was updated successfully, but these errors were encountered:
Hey @infosecual thanks for bringing this up. I agree that registration endpoint could be more user friendly. The timestamp in the registration is a bit misleading because it's cached. Another solution could be to prune inactive registrations.
I'm not sure what the correct thing to do is. But if we decide to update the existing endpoint and include a new field in the response, I think it would make sense to do it at the same time as #1 since that changes the response structure.
Is your feature request related to a problem? Please describe.
Currently, there is no way to check that a validator is active via the relay API. You can see if an initial registration was successful via the
relay/v1/data/validator_registration
API call but if a validator goes inactive after registering there is no easy way to tell.For example, this goerli validator is inactive at the time of this query:
API call:
Response:
The timestamp in the message is cached for good reason (new signatures+verification every Epoch does not make sense). This makes it impossible to see if a new registration was successful because the timestamp will not change without changing the
fee_recipient
or some other data.Describe the solution you'd like
It would be nice to have a
last_active_epoch
data point that is either returned from this API call (must be ourside of the "message" since that carries a signature) or a separate, new endpoint (possibly something like/relay/v1/data/validator_last_active_epoch
or/relay/v1/data/validator_last_registered_epoch
). This metric would have significantly less overhead than updating the timestamp but would still need to be tracked internally by validators.Describe alternatives you've considered
Updating the timestamp to the most recent epoch for which the validator registered. This does not make since because the message is signed by the validator which currently cache the message to prevent 400K signature verifications by the relay on each Epoch.
Additional context
If there is consensus on the correct path forward I am happy to implement the changes.
The text was updated successfully, but these errors were encountered: