The Ethertify smart contract
The ethertify smart contract is not owned by anyone: it is public and anyone can interact with it. Its purpose is to store the most relevant elements from the platform and verify its interactions. These elements are certificates, signatures, entities and signers.
The certificates are created by any user or entity interacting with the smart contract. They content the following information: unique certificate identifier, owner (represented by its ethereum address), document or data hash and certificate hash.
The document or data hash is a hash of the data referenced by the certificate. As previously explained this hash will uniquely identify the original document. Any change in the document would result in a different hash value.
Users can append additional information to this document: this is usually a custom form containing a brief description of the data contents and some other details which might be relevant depending on the use case. The combination of all this fields and the previous data hash is used to obtain another hash value which is known as certificate hash and it is used as a fingerprint of the whole certificate.
Since the data stored in the smart contract are two hashes calculated from the original document and the custom form, privacy and confidentiality is assured since the original data remains in the hands of its creator.
Once a certificate is stored in the blockchain, its creation is timestamped and stored forever in the block in which it was appended to the blockchain. From this moment, anyone can see its contents. However in order to validate the certificate it is required to have access to the original document/data and customized form; otherwise it is not possible to re-calculate the hashes referenced in the certificate itself.
The signatures are also part of each certificate and can be requested by the certificate owner to any other user or entity from the platform.
Once the requested user or entity receives the request can procceed to validate the certificate, its authenticity and finally sign it. At the moment of signing an optional expiration date can be entered by the user.
Exactly as in the certificate creation, each signature and its expiration time are stored forever in the block in which it was appended to the blockchain.
Any organization such as companies, institutions, etc. can be registered in the platform and validated by the Ethertify smart contract. The only requirement to complete the validation process is to own a public website. This is the website that will be shown to users requesting signatures to the entity and the oen containing the ethertify validation codes.
Ethertify enforces entity re-validation at periodic intervals to ensure its legitimacy. If the validation period expires the entity becomes inoperative till it is re-validated.
Entities do not issue certificates directly by themselves but by signers (usually employees) which represent the entity itself. As such, once an entity has been created and validated by the smart contract it needs to add at least one signer to act on its behalf.
Each entity in the smart contract stores the following details: validation status, hash values obtained from its description and url, expiration date and the list of signers and a hash of its personal details.
As always, each interaction to the entity (validate, add signer, update entity details, etc) is stored in the blockchain and timestamped at the time in which the block was appended to it.
The signers of an entity act on behalf of the entity to sign certificate requests or issue new certificates. Their incorporation to an entity must be approved by the entity owner as well as its specific personal details (name, picture, email, etc). Any change in the signer details will require approval by the entity (otherwise the signer permissions to act on behalf of the entity will be revoked).
The Ethertify smart contract is currently deployed in the Ethereum Main Network in the following address:
You can download the ABI interface to interact with the contract.