The Karbon14 Demo
Karbon14 is the first Startup using the benefits of blockchain technology to create Life Certificates which will allow users to validate proof of life that could be used for financial services such as receiving pension benefits and annuity payouts among many other things.
The goal is to offer an efficient way to create life certificates making formalities quicker and more convenient, at the same time making all of your private information more secure. A life certificate is a document that cannot be altered and can be used for companies or entities when they need proof that you are still alive or in some instances when a valid form of identification is required.
Today, let’s see how could look the process of creating a Karbon14 Life Certificate by giving a walk through our project demo, which is public and available at http://demo.karbon14.org
We have deployed to the ETH Ropsten network the following contract:
Let’s see and analyze the contract code:
- We have two structs one for a Proof and the other for the scribe.
- We have some getters and setters functions to retrieve and add scribes to the Karbon14 ecosystem
- Also, we have getters and setters functions to add and get users Proofs to the Smart Contract.
* Note that the setProof method is public, so all can add their test scribes and play with the demo *
Karbon14 demo UI
Now it’s time to introduce our demo UI that interacts with the above detailed and described Smart Contract and how to successfully ask and get your validated Life Certificate.
Our demo UI is a dApp that is developed under the latest frontend technologies and makes use of the well known Metamask Chrome extension. As all the Karbon14 project is open source and source code can be found it on our official Github.
According to your current Metamask account, and once the UI checked the contract, you could be two types of user: a scribe or a client.
- As a user of the platform, you will be able to check the Scribes available on the system, create new Proof’s requests, see your past approved proofs, and see the state of the Incoming validated Proof’s requests once their results came back from a scribe.
- As a Scribe, you will be able to see the list of the Pending Approval Proof’s sent by the clients of the platform that choose you as the one in charge to verify their data. You could approve or deny the proof according to the received data.
In order to test the demo, you can have multiple Ropsten accounts in your Metamask Wallet, and request some ETH from Ropsten Faucet.
By clicking on About.., you will be calling the About Karbon14 modal, and as the second tab, you will have a form that will be let you become a scribe. Once the transaction is confirmed, you will notice a change in the UI, and fewer sections available on the left Nav Menu, since you will be waiting for incoming Proof of Life validations requests.
Now is time to switch your Metamask account to a normal user again to create a New Proof of Life validation request, and send it to your scribe.
New Proof of Life
As a normal user that wants is first or a new Proof of Life, you need to go to the New Proof of Life section and complete the KYC forms with the info requested. This documents and data will be sent to the scribe that you select, for a proper validation by the Crypto Scribes.
For demo purposes, select the Scribe you that you created previously, and send it to you, so you could be validating it later.
To send the Proof, you need to sign it so Metamask extension will open. Once you sign, the proof will be sent to the scribe.
Pending Approval Proofs
Once you sent the Proof, you need to become again a Crypto Scribe to been able to review it. For doing that, change again your Metamask account to the one which you became a scribe.
You will notice that you have a pending approval Proof, and if you enter into it, you will see all the data that you completed as a user, the validation status of the signature and as a Crypto Scribe, you will be able to Reject or Approve the Proof.
If you decide to Approve it, you will also be required to sign the Proof, but in this case, as a Scribe.
Incoming approved Proofs
If you switch as user again, you will be able to navigate to Incoming Proofs section and will have listed the Proof approved by the Crypto Scribe you selected.
Now, if you take a look to the above capture you will notice that you have two actions:
- Save the form data
- Record Proof on the Smart Contract
As you noticed in the previous step, the Scribe not stores or saves the user data, not even where persisted them on Smart Contract by recording the Proof, so in order to generate the hash again, you as the user will be the one in charge to preserve your form data because is personal. If you click on download it, it will be saved where you choose with the hash as name, and .k14 extension.
The other action available is to record your Proof on K14 Smart Contract. It performs two actions:
- First, it saves on IPFS info about the Scribe that approved the Proof, and also its signatures.
- Then, it records the Proof hash and the IPFS reference to retrieve again the Scribes data saved in the first step, on the Karbon14 Smart Contrat. As you can check in the code of the contract, a user can generate as many Proofs as needed, and new ones will be added to user Proof array.
Explore your approved Proofs
Once you recorded one or more Proofs on Karbon14 system, you will be able to display that Proof data again at any time.
Since no user data is stored on the Karbon14 side, showed info will be only the Crypto related one rewarding that Proof. Also, the IPFS info is fetched to show the Scribe info and the Signed by the Scribe hash.
As you can notice, at the bottom, there is an option to upload the form data that you saved previous to record the Proof. If you load it, you will be able to saw again and navigate all the info which you used to complete the KYC form.
This will happen only if you upload the correct .k14 file, cause if not, the resultant hash generated from the data file will not match with the Proof one.
To conclude this post, we want to share some final notes. This is a demo that covers the very basic functionality, and it is working on the Ropten Ethereum Network. It wants to show the power of the Smart Contracts and the potencial of the Karbbon14 solution running throw it.
When the final version will become fully working, most things will change, e. g. the minimal number of Scribes that be needed to validate a Proof will be at least 3, scribes will be chosen according to rules by the Karbon14 node, and much more goodness that we have planned and designed but not implemented yet.
All code and UI is public and it is available on our GitHub.
For further information, you can visit https://karbon14.org
Or contact us in any of our social media