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
we need to setup the following punishement for offline validators:
no distributed fees
this can be based on non-signed blocks, but this requires the provider to have access to all consumer blocks
an other approach can be to exclude offline validator for a predefined period (i.e. one day)
slash w/o jail for a percentage based on the fees. The exact computation needs to be defined.
"offline" needs to be defined as well, like what is the SignedBlockWindow and what is the MinSignedPerWindow. These parameters doesnt have to be the same as the x/slashing module.
Based on this "offline" definition, we also need to define a way for the consumer chain to send the information to the provider. This can be something similar to the slashing module, the consumer module tracks sdkctx.VoteInfos() for each blocks and aggregate the data (see slashingkeeper.HandleValidatorSignatures()). Then at some epoch, the info is propagated to the provider chain using an IBC message.
Based on the received information, the provider module punishes the offline validators. Maybe we can link the fee distribution to this message's reception, for 2 reasons:
this creates an incentivization for the validators of the consumer chain to send this message, because if they dont in order to avoid punishement, they also dont get paid.
I understand theres is a lot of things to figure out here, let's try to iterate in this issue for a more detailed design.
we need to setup the following punishement for offline validators:
"offline" needs to be defined as well, like what is the
SignedBlockWindowand what is theMinSignedPerWindow. These parameters doesnt have to be the same as thex/slashingmodule.Based on this "offline" definition, we also need to define a way for the consumer chain to send the information to the provider. This can be something similar to the slashing module, the consumer module tracks
sdkctx.VoteInfos()for each blocks and aggregate the data (see slashingkeeper.HandleValidatorSignatures()). Then at some epoch, the info is propagated to the provider chain using an IBC message.Based on the received information, the provider module punishes the offline validators. Maybe we can link the fee distribution to this message's reception, for 2 reasons:
I understand theres is a lot of things to figure out here, let's try to iterate in this issue for a more detailed design.