-
Notifications
You must be signed in to change notification settings - Fork 321
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
staking: emit event when tombstoning active/jailed/inactive vals #4277
Conversation
This looks great, @erwanor, and provides us with a nice shape for adding the other state transitions, as described in #3746 (comment). The only thing I'm unclear on is why the emission is gated on transitions out of |
Good point, my reasoning is that those transitions are less relevant because they don't affect the consensus view at all. Something else that I had in mind is that generating valid equivocation evidence rounds down to "free", hence why we only record the first offense, and tie it to 1/ a validator definition upload 2/ having reached the minimum stake threshold 3/ being enabled. |
Thanks, that's clearly explained! |
what do tombstoning and jailed mean here? |
There's a good overview in the spec: https://protocol.penumbra.zone/main/concepts/validators.html, happy to chat about it offline as well! |
Describe your changes
This PR adds a
EventTombstoneValidator
message that is emitted on the first validated evidence message for validators that areActive | Inactive | Jailed
.The evidence event is defined as follow:
My first instinct was to reach for storing the evidence in nonverifiable storage, hoping it would make it easier for node runners to query it. But I later realized, that comet only gives us a filtered version that does not include the actual double signed headers, or offending signatures.
Checklist before requesting a review
If this code contains consensus-breaking changes, I have added the "consensus-breaking" label. Otherwise, I declare my belief that there are not consensus-breaking changes, for the following reason: