The process of validating a certificate stored in the smart contract involves multiple steps and having access to the original data or document and to the custom details (or form) as well.
First we need to know the certificate identifier so we can access its related data stored in the smart contract:
- Creation block number and timestamp
- Data (the original document) hash value
- Details (the custom form) hash value
The process of validation involves calculating the hash of the original data and the hash of this one combined with the custom form. Once calculated these values we can compare all the data with the provided one. If they match, the certificate is integrity is guaranteed and considered valid.
However the authenticity of it depends on the signatures: the certificate must have a signature from a trusted entity or user which attests the validity of its contents.
So far due to the intrinsic properties of a Blockchain an anonymous certificate (even without any signature) issued by a regular person are of high value: they can be used as a proof of existence for intellectual property rights or authorship.