Issue summary
Consider the scenario that the DKG signs something other than what came through the proposal pipeline. We want to add slashing so that if any node proves the existence of one of these signatures, specifically a signature of a payload that has no record of ever being included on the DKG chain, that the reporter can profit and offender gets slashed.
An offense like this would be easily detected if its applied on-chain. It would likely be executing a malicious proposal, to steal funds or otherwise mess things up.
[ ] Add the extrinsic for reporting this fact. It would need to somehow prove it has never been on-chain and that it is a signature from a DKG in the history (should we slash older abuses? we'd need to track historical validator sets (might exist already)).
[ ] Research a simple initial slashing amount.
[ ] Jail the offender
[ ] Test the slashing condition; delete a (proposal, signature) from the history.
[ ] Deploy to testnet w/ runtime upgrade.
Malicious thinking
The bad thing is this offense wouldn't be detectable if it wasn't applied, and so it's possible that there are $t+1$ malicious nodes who are colluding in secret to sign things. Our only defense against this is the frequency which we do key rotations, which would invalidate old proposals from executing in malicious ways.
Issue summary Consider the scenario that the DKG signs something other than what came through the proposal pipeline. We want to add slashing so that if any node proves the existence of one of these signatures, specifically a signature of a payload that has no record of ever being included on the DKG chain, that the reporter can profit and offender gets slashed.
An offense like this would be easily detected if its applied on-chain. It would likely be executing a malicious proposal, to steal funds or otherwise mess things up.
Malicious thinking
The bad thing is this offense wouldn't be detectable if it wasn't applied, and so it's possible that there are $t+1$ malicious nodes who are colluding in secret to sign things. Our only defense against this is the frequency which we do key rotations, which would invalidate old proposals from executing in malicious ways.