How can I create a certificate?
A certificate in Ethertify covers a wide range of scenarios since any data can be represented as a certificate: text documents, pictures, scanned documents, audio files, data files, etc. This is achieved by hashing the provided data: the data is uniquely represented by a hash string. This is referred as the data hash of the certificate and it is stored in the Ethertify smart contract.
Besides the data hash (which represents the data to be certified) any data can be associated to it in the form of descriptive text fields. These additional have multiple uses allow great flexibility: it could be a summary or registry of the data contents, new attached data, or just an apostille. The combination of these text fields with the previous data hash is used to calculate a new hash which is called certificate hash.
The certificate is saved in the Ethertify Blockchain with an unique identifier. The certificate identifier, data and certificate hashes will remain inmutable. Since this data is saved in the blockchain it constitutes by itself a proof of existence.
Since the data hash and certificate hash are stored in the blockchain anyone with access to the data file and attached details can verify its existence, creation time and ownership.
Certificates can be owned by the creator (if specified during the creation). Certificate ownership is represented by the ethereum address corresponding to the private key used to sign the certifcate's creation transaction. Owned certificates allow several operations:
- Request signatures: Certificate owner's can request signatures to other users or entities.
- Transfer ownership: A proprietary certificate can be transferred to other user or entity.
- Update IPFS data: If the user desires to make the certificate publicly verifiable he can upload to IPFS the certificate file and the data itself and store the IPFS addresses/multihashes in the smart contract. In this way anyone can validate the autenticity of the certificate by computing the data and certificate hash and comparing it with the values stored in the smart contract. Please note that the IPFS content might not correspond to the certificate itself thus a validation is always mandatory in order to ensure its consistency.
How to create certificates
Here we describe what Ethertify's user should do to create a certificate through Ethertify's web site.
Create a user certificate
First of all, to create a certificate, you must have completed your profile. More specifically, you need to set up your ethereum addres in your profile. This steps requieres as well you have correctly set up metamask in your browser as described in (here)[/metamask].
- Select file
In the first step you can select the file you would like to certificate. The hash is computed locally in your browser. You have also the possibility to make this file public and let Ethertify to upload the file for you to IPFS after certificate creation. You must be aware that once you click on Upload and continue button, the your file will not be private anymore. You can create certificates without a file. Before continue, you must give the certificate a Name.
- Add details
This step lets you associate fields with text or dates to your certificate. The serve to give more information about the file you have uploaded or you can just create a certificate containing only fields. An exemple of certificates without file can be an study completion certificate. You can select a template for the certificate fields that already contains a set of fields ready to be fullfilled. Ethertify proposes you several templeates already generated for your convenience (like Passport for instance), but you can create your own. These fields even if you select the from a template or you started with an empty set, can be edited and modified clicking in the edit fields buttons. You can change name, radd more fields or remove the ones you do not need.
- Set visibility and create signature
In this step you can choose your certificate to be public. That means that it will appear in our searches and possibly in other search engines. Moreover, a file containing all the entries of your certificate (specially the hash of the file and the fields) will be uploaded to ipfs. Another option you can select in this step is if you want to sign the certificate (creating a Proprietary Certificate) or not (a Proof of Existence certificate). If you create a Propietary Certificate, that will allow you to perform several operations on the certificate as described in previous section. When creatin a Proof of Existence certificate will let that certificate inmutable forever. This is interestig in terms of security as nobody will be allowed to change the contests of the certificate or transfer the ownership. But you cannort operate with it (request a signature, for instance).
Just one step more before finishing. At this stage you can select if you want us to keep a registry of the fields of your certificate in our servers. This will allow your certificate to appear in our search results and possibly in the results of other search engines. You can select wchich fields you want us to keep (and also be public) and the period of time you want us to keep it, from one month up to five years.
- Review and sign
Finally, you can review all the data you entered and if click on Create button to create the certificate in the blockchain.
Note that, you can allways go back in the creation wizzard to correct anything you need.
Create an entity certificate
Entities cannot create certificates by themselves but through signers. Tod o that, the signer just need to select the entity the certificate belongs to in the Owner dropdown menu that appears in the certificate creation step 3.