go-spacemesh
go-spacemesh copied to clipboard
Malfeasance V2: Invalid Post
Description
Contextual validation includes a check that verifies that some labels of the provided PoST of an identity are valid. If those labels are found to not be valid a malfeasance proof needs to be created that proofs to other nodes that the identity in question produced an invalid PoST, since those might not validate the same labels and might consider the ATX valid.
Implementation hints
The malfeasance proof needs to include the following data to be considered valid:
- The PoST that is invalid - the receiver of the malfeasance proof should do a full validation of the PoST so we don't need to keep track of which label is invalid
- A proof about the commitment ATX for that identity, i.e. the merkle proof to it in the initial ATX of that identity
- In the case that the PoST was created by an identity that is part of a marriage set information about this marriage set as far as it is needed to validate the post.