Digital Certificates on Hyperledger Fabric


Certificates are signals of achievement or membership and some certificates are more important that other. University degrees (a particular type of certificate) are essential for student to help get jobs. Our current, mostly analog system for managing certificates is slow, unreliable and slow. There are several advantages of creating a digital infrastructure for certificates, but the stakes are high as such systems will grow forward to represent our professional reputations. We have to be cognizant about its design and type of system we trust to govern it.

Ideally the person who has acquired the credentials should be in-charge of them, but most of time we have to rely on third parties, such as universities or employers to store, verify and validate our credentials. Jobs seekers have to request official transcripts from universities registrars and pay fees for each copy of the transcript requested. Employers and universities still at times need to call the issuing authority of the certificate if they want to be sure that the transcript was not faked. Its complicated and tedious, which is one of the major factors for frauds. Making certificates easily verifiable and transferable is one advantage of digital systems. In our project we have decided to explore the field of blockchain to implement our solution. At this point we would like to point out that although Blockchain is not a simple solution that will overcome all the short comings of todays credential. But it definitely does offer reliable possibility for improving the system we have today.

In Hyperledger, transactions are submitted via an interface to the ordering service. This service collects transactions based on the consensus algorithm and configuration policy, which may define a time limit or specify the number of transactions allowed. Most of the time, for efficiency reasons, instead of outputting individual transactions, the ordering service will group multiple transactions into a single block. In this case, the ordering service must impose and convey a deterministic ordering of the transactions within each block.

Advantages of Hyperledger based application:

• Private Blockchain hence student records are not in public domain

• Access levels can be customized as per requirement

• Which means that Student won’t be able to publish diplomas. We can verify this during demonstration.

• Beneficiary will only see the details of the diploma once it’s been issued.

• As Hyperledger is not coin (“token”) based blockchain, the environment is less complex to develop. Unlike Bitcoin or Ethereum blockchain Hyperledger does not require transferring a virtual currency to publish a transaction.

  • You can query Hyperledger blockchain to extract details of students to whom diploma has been issued.

How it Works

The application has three main components 1) Front End 2) Interplanetary File System (“IPFS”) 3) Hyperledger Fabric. One of the disadvantages of storing information on a blockchain based application is that you cannot store image files, we overcome this issue by integrating our system with IPFS. IPFS is a peer-to-peer method of storing and sharing media in a distributed file system. It is based on Bitcoin blockchain protocol and stores unalterable data, removes duplicates across the network.

Student details such as Student ID, Student Name, Course Name, College Name, University Name and Year of Graduation are added on the web application. The web application then generates a digital certificate in two formats PDF and JSON. The PFD copy is uploaded to IPFS node and the hash-pointer (“IPFS link”) is saved. The JSON file is imported by Hyperledger to create an asset, the hash-pointer link is also added to the digital certificate. Once such a digital certificate is created by an institution and issued to the student, the student can then send copies to this digital asset to several beneficiaries without any added cost to the university or the student.

Furthermore, as the system is hosted on Hyperledger blockchain we can efficiently manage the access levels. The beneficiary i.e. the institution which receives the digital certificate as a proof of credentials will have a clear view of the history of the certificate. The certificate will contain immutable record of the issuing authority, date and time of issuance and the owner of the certificate.

Application Architecture

Now that we have an overview of how the application works let us take a closer look at implementation of each module.

InterPlanetary File System (IPFS):

As discussed earlier IPFS is a peer-to-peer distributed file system that seeks to connect all computing devices with the same system of files. In few ways IPFS is similar to World Wide Web, but IPFS could be seen as a single BitTorrent swarm exchanging objects within one Git repository. In other words, IPFS provides a high-throughput, content addressed block storage model, with content addressed hyperlinks. IPFS took advantage of Bitcoin blockchain protocol and network infrastructure to store, unalterable data, remove duplicated files across the network and obtain address information for accessing storage nodes. IPFS has no single point of failure and nodes do not need to trust each other except for every node they are connected to. Distributed Content Delivery saves bandwidth and prevents DDos attacks, which HTTP struggles with.

In-order to store information on IPFS network we first have to create a node, this can be achieved by downloading the IPFS infrastructure from https://ipfs.io/docs/install/. Once you have downloaded the files and have spun a node on your system we can run an IPFS daemon to connect to the Global Object Repository of IPFS.

IPFS returns hash values of the documents uploaded from any node. This hash value is also the location pointer to each document. We have to add the stem of the HTTPS protocol followed by the hash of the file. This link is then stored in the asset class of Hyperledger and can be utilized to view the actual certificate which was issued. Now that we have address the issue of storing an image on the blockchain lets take a look at the actual Hyperledger Digital Diploma network.

Hyperledger:

Hyperledger is a Linux foundation project to produce an open blockchain platform that is ready for business. It provides implementation of shared ledger, smart contracts, privacy and consensus mechanisms. Hyperledger application has three main components 1) Model file: This file contains the definitions of each class of assets, transactions, participants and events 2) Script file: Also called the transaction processor function file contains the JavaScript logic to execute the transaction defined in the model file 3) ACL file: These are optional files within a business network which describe assets or groups of assets and define the participants who can perform operations which affect those assets.

Process Flow:

In our model file follows the following structure:

Participants:

a) University — The university which is issuing the diploma

b) Beneficiary -The institute to which the student is sending the digital diploma

c) Student

Asset:

a) Diploma — Holds the student details

Transations:

a) publishDiploma — Executed when university publishes diploma

b) issueDiploma — Executed when student issues diploma to a beneficiary

1. Participant “University” will create a participant “Student” and enter the relevant details regarding the student (Refer Image A)

2. Once a “Student” participant is created then, the “University” will create a new diploma asset and enter relevant information (Refer Image C)

3. After creating the asset university will post “publishDiploma” transaction which will transfer the ownership of the diploma from the “University” to “Student” (Refer Image D & E)

4. In the “ACL” file we do not give “Student” the write access to “Diploma” asset, this ensures that the student does not have the access to create a diploma

5. The “Student” can send the copy of this certificate to any “Beneficiary” by first creating a new participant called “Beneficiary”, the mail account of the beneficiary will act as a reference pointer to class “Beneficiary”

6. Once a participant is created then, “Student” will post a “issueDiploma” transaction to provide access to the “Beneficiary”

7. In our ACL file we give “Beneficiary” a conditional access to “Diploma” asset, the condition states that “Beneficiary” will only have access to the “Diploma” class if a student issues a diploma to him

8. This ensures that only the certificates issued to an institution can be seen by them.

9. Once a diploma has been issued by a student to a “Beneficiary” the beneficiary can view the details of the asset. The IPFS link will provide a link to the image of the certificate.

Cost and Benefit Analysis:

According to Forbes, there is around 42067 students in University of South Florida. Among 42000 student, around 31,111 students are enrolled in various Undergraduate program & there are around 10,810 students are in various graduate programs. Each and every year, a large number of student get graduated from University of South Florida.

If we suppose, out of those graduated students even if 5000 students ask for additional Transcript/Degree certificate from University then, consider for each transcript University charges $7 per transcript, as there are some charges associated with it in forms of Postage, Stationary & Courier fees will amount to approximately $ 35000.

Universities or Certifying authorities can have a considerable saving and also the provenance of these “Diplomas / Certificates” can be tracked with much more efficiency.

Conclusion:

During the recent few months blockchain based digital certificates is a topic of prime interest. Using blockchain it is now possible for us to create a certification infrastructure that puts us in control of the full record of our accomplishments. This allows us to share our credentials with prospective employers or universities while giving the beneficiary complete trust that the degree was in fact issued to the individual presenting it. This is an exciting possibility because it gives us an opportunity to glance into what certificates might look like in the future.

A similar infrastructure could be designed which could handle the transfer of medical documents. Prescriptions can be created by doctors; each prescription can be added as an asset in the Hyperledger application and Image is uploaded on IPFS. The patient can then issue the prescription to any chemist and the chemist can verify the authenticity of the prescription with the history of the doctor who issued it. Such a system can further evolve in an established Healthcare Records Management System.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.