Development and Implementation of Blockchain Solution to Enable Data Security at University of Port Harcourt

— Institutions globally, seek for a solution that intelligently manages the security of data without tampering or mutilations. To compete globally, it has become necessary for the educational sector in Nigeria to build a software solution to end the challenges of fake results, transcripts and certificates and the time it takes to verify their authenticity. This research aims to develop and implement a blockchain solution that would enforce the required security for the Centre for Information and Telecommunication Engineering, University of Port Harcourt (CITE, Uniport), Nigeria. In this study the various services that comprise the building of a decentralized blockchain network, the network consensus algorithm and block explorer application as a unit was put together using JavaScript and its associate libraries. The blockchain data structure was developed with the ability of proof of work, the mining of new blocks, the creation of transactions, the validation of the chain, retrieving the data and other functionalities when demanded. The decentralized blockchain network was developed and tested for ten API (application programming interface) servers and the result shows that the blocks and transactions created were broadcasted throughout the entire network. The results of the consensus algorithms proved that it was able to verify and ensure that the network nodes have valid data and are synchronized. The blockchain explorer application was implemented with a lot of features. It allows user to query the blockchain for specific blocks, results, transcript or certificate.


I. INTRODUCTION
Nigerian education sector for many decades has not been adequately funded to deploy most of the emerging technologies. However, the education sector in the developed nations has experienced continuous technological advancement. Innovations such as Artificial Intelligence (AI), Virtual Reality (VR), Internet of Things, Blockchain, and wearable devices are being used to improve the education sector's ability [1]. Presently, universities in the developed nations, incorporate numerous expertise in their processes in the bid to improve processes and services for their members [2]. Among the innovative technologies is blockchain. Universities in Nigeria, as centers of research and innovation, are expected to be the flag ship in driving technological development and advancement in Africa. It is worthwhile to note that the universities in Nigeria are now more than two hundred [3].
As the nation's citadel of knowledge, it would be of great importance to integrate the use of blockchain to Nigerian educational system to boast the value and reputation of our universities. One among the foremost federal universities in Nigeria is the University of Port Harcourt, which is situated in Port Harcourt, Rivers State Nigeria. It is the university of interest in this study.
To enhance educational value, thwart data crimes, built trust in the system and security, Universities in Nigeria should adopt the integration of blockchain technologies to automate its data processes. Blockchain solution has the capabilities to curb the pressure from the rapid growth of activities on campus, build new experience for the university communities and provide a more comfortable and secured environment for the day-to-day routine activities on campus [4]. Blockchain is a chain of blocks interconnected with complex computational crypto algorithms. It is an immutable "distributed ledger technology for a new generation of transactional applications that establishes transparency and trust" [5]. Hashing is the main power of blockchain. Information are store on every block and hash is used to encode the new block added to a chain [6]. The hash is an arithmetic code that is formed and created from the block data. Additionally, the hash of the previous block is added to the new block hash. This method makes it difficult to falsify the previous or the new block in the chain. New block hash is generated from previous block hash, this implies that varying any block will entail reproducing the whole blockchain. This system of connecting the blocks together makes fiddling very difficult [7], [8].
This study tends to employ the use of blockchain to enhance the educational reputation by ensuring data security and privacy of the higher institution processes in Nigeria using Centre for Information and Telecommunication Engineering, University of Port Harcourt as a case study. In addition, the study seeks to manage the security of academic results and members of the university community privacies and other vital university processes efficiently and effectively. The systematic approach to the accomplishment of this study, would focus on developing the blockchain solution for securing results, transcripts and certificate of graduate, by building a decentralized blockchain network, the network consensus algorithm and block explorer application to manage the system.

II. RELATED RESEARCH
Several research have been reported on the development and implementation of blockchain in the educational sector.
In the study carried out by Chivu et al. [9], the sustainable development of students' process of learning based on the capabilities of blockchain was investigated. In their study, students' credit points were convertible to online badges or cryptocurrencies to measure their satisfaction or certify their understanding in the study process. In the research of Ali, Farouk and Sharaf [10], a blockchain-based models for student information systems were developed. The study carried out by Alam [11], on a blockchain-based framework to secure educational credentials, concluded that Blockchain provides a creative approach to storing information, executing transactions, conducting tasks, and building trust.
The study made by Ali [12], researched on using blockchain in university management systems. The study proposed a model for using blockchain to implement fully functional student management system (SMS) that maintains students' records, course registrations record and student marks. The study of Rama Reddy et al. [13], proposed a dependable way to secure and verify the qualifications of graduates through blockchain. In addition, the study proposed an overlay method of using blockchain to save the authentic certificates in electronic form and verifying them decisively and promptly when it is required.
A study carried out by Ubaka-Okoye et al. [14], on securing educational data using agent-based blockchain technology concluded that educational data security especially examination, results and certificate management systems should be upheld with the utmost integrity. The study of Arenas and Fernandez [15], proposed a system that would enable students not to go through the challenging process of document verification using credence ledger that stores record of academic qualification to enable easy and faster way to verify documents by education stakeholders based on blockchain.
The detailed examination conducted in this study shows that most of the challenges in the educational sector could be resolved with blockchain [4]. The reviews also reveal that not much work have been done in the deployment of blockchain to allow employers or institutions access to verify the authenticity of graduate certificate or transcript which this research seeks to address.

III. DEVELOPMENT OF THE SYSTEM
This section is focused on the review of the existing system, the analysis and design of the proposed system with program flowchart.

A. Review of the Existing System
In the presently existing system in the institution, the results of students who have successfully completed their studies are forwarded to the postgraduate school. The university postgraduate school presents the results in senate for approval. Thereafter, success letters and also certificates are issued directly to the graduates as a hard copy. Furthermore, when graduate request for their transcripts, the hard copies are mailed to the institutions or organizations of interest based on the graduate application. It was also found that there was no digitalized mechanism for verifying the authenticity of the certificate or transcript presented to the institution/organization. After certificates are issued to graduates or transcripts sent to institutions or organizations. The communication link between graduates, university, and their academic records ends afterwards. No mechanism was put in place to enable the secured and easy access or verification of transcript/certificate when needed. Hence, counterfeit degree certificates or transcripts are generated to obtain job placement through the backdoor or postgraduate admissions. Once a graduate is employed in an organization, the organization may desire to conduct a background check on the credentials submitted by the employee by forwarding the request to the appropriate authority. This confirmation is accomplished manually by the examinations and records office or senate office or by some third party. This challenge is also faced by institutions or organizations verifying their applicant certificate or transcripts. The process of confirmation may take a longer time and even the authorized staff might be compromised whose duty is to verify it. Most times, it may be hard to differentiate the tampered results with the genuine certificate or transcript when the records are already mutilated. A lot of institutions store results in electronic format and among these some institutions digitally store their certificates. However, the possibilities of mutilating results or reloading a fake certificate exist in the traditional database system. Consequently, the cases of fraud would increase in the system except a trusted person is managing both the electronic and manual results. The traditional database system did not incorporate a timestamp mechanism to curb these challenges. Fig.1 enumerates the admission phase of students to the confirmation of their qualifications by their employers or by the postgraduate school of the institution of application. The different stages are as follows: i. Application: Candidates apply for admission into programme of their choice. ii. Admission: Students are admitted into the institution or special affiliated college/centres having fulfilled the admission requirements. iii. Results: After each semester or end of session examinations, results are approved by the university authorities (Senate) and thereafter stored at designated locations (Senate office, exam and record office, Faculties and Departments) and also in a server. iv. Degree/Transcripts: The university issues statements of results/original degree certificates/transcripts in paper form. v. Graduation: At the end of the academic programme students are transformed into graduates with a degree issued to them classified on different categories. vi. Recruitment/Postgraduate Admission: Graduates are given suitable job by companies/organizations or admitted into higher degree programmes by institutions/ special affiliated college/centres having fulfilled the admission requirements. vii. Confirmation request: Institutions or employers apply for the confirmation of the qualifications of the graduate.
viii. Information Gathering: The assigned university staff search and retrieve data from the manual result records or a central server/portal for verification. ix. Validation: compare to confirm the supplied data with the retrieved one to validate it and report it to the Institution or employer. x. Approve/reject: based on the report received, institution/employer accept/cancel the postgraduate admission or appointment of the graduate.

B. The Proposed System
It is in view of improving and overcoming most of the challenges encountered in the existing system that led to the design of the new system. The new system will be developed to make the process of verifying students' credential easier and faster for institutions, employers or recruiters. Moreover, the security and availability of students results, transcripts and certificates are of great concern to universities, employers and even students. Blockchain technology will be used to develop the trusted mechanism for storing and verifying graduate credentials for the new system. In this system, a unique graduate ID will be generated when the approved result of a graduate is added to the block. The graduate ID and student's registration number is used as the primary key. Students can verify or access their transcript or certificate using the unique graduate ID. Most importantly, institutions, companies or organization can also confirm the authenticity of graduate credentials. In addition, the graduate identification number of each student, can be used by a verifier to view all the certificates or transcripts obtained by any graduate for faster verification. As already defined, Blockchain is a distributed ledger which accounts for its distributed nature. It is very difficult to mutilate the information stored on the blockchain. As the records in the chain increases it becomes more impossible to modify or insert new data to the existing records. This solution serves as a trusted platform between organizations and the university. Other universities can collaborate to use this trusted platform to store their graduate results. Organizations alternatively, can confirm graduate credentials using the graduate ID or registration number. The followings are the benefits of the proposed new system: 1. It will eliminate the falsification of transcript or certificate: Tampering of students' results in the traditional database system is unstoppable in the existing system. However, it will be completely eliminated in the proposed system by the immutability and distributive nature of blockchain. 2. Institutions, Employers or any verifier can confirm easily and seamlessly, graduate credentials: At the stage of confirming or verifying graduate transcript or certificate in the existing system, the possibility of lobbying the staff that manages the confirmation process exist. in addition, it takes a lot of time to successfully carryout the verification exercise. To solve these challenges, the digitalized process of the proposed system of verification would handle it with ease and promptness.

C. Use Case Diagram
The Unified Modelling Language (UML) Use Case diagram was used to documents the behaviors of the system from the user's point of view. It describes the functional requirements of a system in the form of use cases.

IV. DESIGN OF THE BLOCKCHAIN SOLUTION
This phase of the research is focused on building a decentralized blockchain network, the network consensus algorithm and the block explorer application to manage the institution academic data.

A. Design of the Blockchain Data Structure
The blockchain data structure was design to have the ability of proof of work, mine new blocks, create transactions, validate the chain, retrieve data and other functionalities. The designs are as follows: 1) The blockchain data structure The variable "chain" is used to store the mined blocks, the variable "Transactions" is used to store the students results/transcript. The variable Programme_Courses is used to store the course code, title and units of the courses in the programme and finally, the variables " currentNodeUrl" and "networkNodes" are used to store the URL (universal resource locator) of the participating nodes in of the decentralized blockchain network.
Blockchain NewBlock(1000, '0', '0'); // Genesis block } 2) Proof of work flowchart Fig. 3 show the algorithm used to develop the proof of work in the developed system.  Fig. 4 show the algorithm used to determine the validity of a chain in the developed system.

B. Design of Blockchain Endpoints and API Server
The application programmable interface (API) server was configured. It allows the system to interact with the blockchain via the internet or network. Through the developed API, the system was able to use all the functionalities that was built into the blockchain data structure. Fig. 5 shows the program flowchart used to develop the blockchain endpoints.

C. Design of the Decentralized Blockchain Network
The development of the decentralized blockchain network was configured to enable multiple API server to participate as a separate node on the decentralized blockchain network. It was developed to ensure that all of the nodes interacts properly and share data with each other in the correct format. The entire network is expected to be synchronized. The system was designed to make sure that any new block or transactions that were created are broadcasted throughout the entire network. See Fig. 6 for the program flowchart used to design the addition of node to form the decentralized blockchain network.

D. Design of the Network Consensus Algorithm
In this section, a consensus algorithm was designed as shown in fig.7. The main purpose of the consensus algorithm was to make sure that the entire blockchain stays synchronized. It is the mechanism used to ensure that each of the node on the decent zed blockchain network has the correct block data. See Fig. 7 for the program flowchart used to design the consensus algorithm.

E. Design of the Block Explorer Application
The blockchain explorer application was designed to have a user-friendly interface. It provided features that allow users to explore the blockchain and also query the blockchain for specific block, transaction, results, transcript, or certificate, see Fig. 8 for the program flowchart.

V. BLOCKCHAIN IMPLEMENTATION
In this phase of the study, the implementation and results obtained from the blockchain solution was discussed. The blockchain solution is geared towards providing a higher level of security relating to students results, transcripts and degree certificates. The blockchain solution was implemented and tested using the following software: JavaScript, nodejs v19.3.0, Postman API Platform, HTML5, Bootstrap 5.0, Windows command line interface, and the following libraries: sha256 used for the hashing algorithm, express-js used to setup the API Server, nodemon used to management API server processes, body-parser used to pass parameter values to the API server, uuid used to generate a unique number or identifier and request-promise used to manage the decentralize network. In addition, the outcomes of building and testing the CITE, Uniport decentralized blockchain network solution will be discussed. The implementation processes were achieved in different stages, from the building of the blockchain data structure to the deployment of the blockchain explorer application.

A. Implementation of the Blockchain Data Structure
The blockchain data structure to store the academic data of CITE, Uniport, was developed with the ability of proof of work, the mining of new blocks, the creation of transactions, the validation of the chain, retrieving the address data and other functionalities when demanded. The blockchain data structure was tested and the result shows that the data architecture was adequate to store the required students' results or academic data in the blockchain as shown in Fig. 9a. The blockchain data structure begins with the genesis block. Furthermore, the results of accurately and efficiently mining a new block from the data contained in the pending transaction was confirmed as shown in Fig. 9b and 9c respectively. The hashing algorithms used to implement the proof of work was tested and the results shows that the value obtained is the same with the global standard when compared to an online hashing generator application on the internet. Fig.  10a shows the results obtained from the hashing algorithm used. (source: codebeautify.org/sha256-hash-generator).
The hashing value is the same with the results from codebeautify.org/sha256-hash-generator site which is an online Generator and Calculator tool as shown in Fig. 10b.
A proof of work algorithm to secure the data was developed and tested with different combination of transaction data and the results shows that the data was mined to produce the required hashing value with a leading '0000' number as expected. The testing and validation of the proof of work enable the creation of new block in the blockchain as anticipated. Fig. 11 shows the mined block obtained from the proof of work algorithm.

B. Results of the Blockchain API Server Solution
The built application programmable interface (API) server which, provides the platform for the system to interact with the blockchain through the internet/network was tested. The result shows that from the developed API, the system was able to use all the functionalities that was built into the blockchain data structure. Furthermore, the result of the tested API server shows that the server interacted well with the blockchain via the network as shown in Fig. 12. Finally, multiple instances of the API server were created to form the decentralized blockchain network.

C. The Result of the Decentralized Blockchain Network
In this research, we created multiple instances of the server to form the decentralized blockchain network. The aim is to achieve the distributed nature and capabilities of blockchain that make it very secure, this implies that each of the multiple instances of the API/server will be running and acting as separate node. Moreover, the system was developed to ensure that all of the nodes interacts properly and share data with each other in the correct format. The entire network was synchronized by making sure that any new block or transactions that were created were broadcasted throughout the entire network by implementing a broadcasting system to keep the data in the blockchain network synchronized. The decentralized blockchain network was tested with ten servers (nodes) and the result shows that the blocks and transactions created were broadcast throughout the entire network Fig.13 shows the ten running API servers using port 3001-3010 respectively.

D. The Result of the Network Consensus Algorithm
The consensus algorithm was developed using the long chain rule. This rule was used in the development of bitcoin consensus algorithm, which is one of the leading blockchain platform globally. Furthermore, the algorithm was developed with the ability to ascertain the validity of a chain in the blockchain.
Having implemented and tested the consensus algorithm, the result showed that the consensus algorithm performed as expected. In addition, it ensured that each of the participating node on the network have the correct data. The results also proved that the consensus algorithms were able to ascertain when the data is not valid or synchronized with other nodes. Therefore, the node without a valid data is replaced with the correct data as shown in Fig. 14.

E. Result of the Blockchain Explorer Application
The developed block explorer application was implemented with a lot of features. It has an interface that allows users to explore the blockchain in a user-friendly manner. It also allows user to query the blockchain for specific blocks, results, transcript or certificate. The built block explorer application provides a tamper-proof platform to the Centre of Information and Telecommunication Engineering, University of Port Harcourt to publish the senate approved results for all graduates of the institution. Furthermore, it provides a platform for employers and other institutions to verify the certificates or transcripts submitted by graduates to the employers or institution for postgraduate admission. In this model, the results are saved as a text records, for storage conservation. It can also be saved as an image record, when necessary, especially digital certificates.
The implemented blockchain solution will be managed by the university authority and some selected IT experts. The university senate approved results of graduates are stored in the blockchain (authorized platform) by the designated university staff. The developed solution (distributed ledger) holds the records of every senate approved result of graduates. The approved results are summary of the students' activity from admission to graduation or post-graduation. Authorized staff alone can add senate approved results to the block. The academic data of the graduates are uploaded containing information about their names, registration number, program of study, courses, scores, etc. All the generated results/certificates are linked with a special graduate ID. The special graduate ID can be used to search for graduate transcript or certificate. A verifier can check how many transcripts or certificate was award to a graduate, simply by using the unique graduate ID, the generated report would show all the certificates or transcripts of that particular graduate with the unique graduate ID.    Fig. 17 shows the users login page to the blockchain explorer portal. This interface enables new users to subscribe or create a corporate or graduate account to enable them gain access to the blockchain solution. It also provides information about the estimated annual portal subscription fee and the processing fee for verifying certificates and transcripts or printing them. Fig. 18 shows the login interface for the university authorities and the blockchain web administrators with two types of account level (administrator or super administrator). The supper administrator account gives you full access to manage the blockchain solution whereas the administrator account has some little restrictions. Fig. 20 shows the administrator's dashboard that is used for accessing and managing the decentralized blockchain network. It provides a lot of features that allows administrators to add a network node, view blockchain data, add senate-approved academic results of graduate, mine a block, verify certificates or transcripts of graduates and on top of that add new administrators. Fig. 21 shows the interface used to add the URL (universal resource locator) of API servers to form the decentralized blockchain network.
Hence, increasing the number of connected nodes or API servers on the decentralized blockchain network. This is achieved by adding the URL of the server as a string which is internally converted to a JSON (JavaScript Object Notation) data format. When the add new node button was clicked as shown in Fig. 21. The command calls the "register new node endpoint" function of the blockchain which then register the new server URL to all the servers currently running on the blockchain network and also register the bulk of the other servers URL to the new server or node.   Fig. 22 is an interface use for adding transactions to the blockchain. The transaction in this case is the senateapproved student results. These results can be added as a single student result or as a group of students' results in either JSON data format or spreadsheet CSV (Comma-Separated Values) file format. In Fig. 22 an individual student result was added in a JSON data format when the send command was clicked. The command posts the results to the blockchain "add new transaction end point" which then add the student result to the blockchain pending transaction and thereafter forward same to all the participating node on the blockchain network for synchronization. After the additions of the required transactions the "mine a new block end point" is used to add a new block to the blockchain. This also forward same to all the participating node on the blockchain network for synchronization. Fig. 23a is the block explorer interface used to access or verify the secured data on the blockchain. This interface allows the university authority, the administrators or users who have subscribed to view a block, verify students transcripts or certificates and even print them based on the privileges assigned to the user. When a user seeks to verify a student's transcript, the user either enter the student's registration number or the graduate identification number (Transaction ID) and then select the verify student transcript option. On clicking the search blockchain command, if the student's record does not exist it displays no record found otherwise it displays the student's transcript as shown in Fig. 23b. Furthermore, when a user seeks to verify a collection of students' results, the user enters the year of study. However, if it is for a specific student result, the user enters the student's registration number and select the verify student certificate option.
On click of the blockchain search command, if the student's record does not exist it displays record not found otherwise it displays the student's result summaries or certificate as shown in Fig. 23c and Fig. 23d respectively.

VI. CONCLUSION
In this research, the design and implementation of blockchain solution for CITE, Uniport was achieved. It secured the academic credentials of graduates in the institution. Furthermore, it provides a platform that organizations or institutions can use to verified graduate credentials when required and on time. The institution manages the upload of senate approved results for all graduates and subsequently, organizations or other institutions can confirm the credentials of any graduate by using the graduate registration number or graduate ID. The academic data saved in the block is highly secured as no person can add a backdated results to it or mutilate the existing results. In addition, the decentralized blockchain network, the consensus algorithm and the block explorer worked as expected based on the numerous tests conducted.
The developed system has the capabilities and ability for other institutions or colleges in Nigeria to upload and secure their graduate credentials. This would eliminate the time it takes to verify graduate credentials in Nigeria. Finally, with proper collaboration with other interested institutions in Nigeria the problem of fake results, transcript or certificates would be eradicated with the deployment and effective use of the system.