1. Introduction
Over the last decade, the adoption of new technologies for the daily management of Electronic Academic Records (EARs) have begun worldwide. However, EARs are mostly physically localized and institutes maintain separate EARs, which are not connected to each other. This causes difficulties for individuals when they transfer from one institute to another, and when they search for jobs or scholarships. In addition, the disconnection among institutes makes the learning data that were collected at previous institutes unavailable for analysis at current or future institutes. Essentially, a student may visit more than one university during his study, such as registering in one university while taking courses in another. The EAR will be stored in the database of the university that issued the record, which will be the only eligible university for editing it. This university also will be responsible for the record’s maintenance and management. Students with access rights could query their EARs from different universities. Universities with access rights could query EARs of a common student from other university when there is a need. These situations cause a lack of coordinated data management and exchange. In other words, academic records are fragmented and isolated, rather than cohesive.
The need for multiple access to the EARs has raised the interoperability challenges between students and universities, which pose additional barriers to effective data sharing. Additionally, as technology is constantly evolving, several advanced techniques are developed to violate digital privacy and security. Unfortunately, academic records are considered as major targets for information theft since they include private and sensitive information, e.g., the students’ names, identity numbers, contact info and addresses. Therefore, the adoption of blockchain technology in managing EAR can be considered as one of the great breakthroughs of the last half a century. A blockchain is a distributed database solution which stores a continually increasing set of data verified and confirmed by participants. Researchers believe that the blockchain technology can shape the academic industry in everything from protecting academic records and offering better student packages to streamlining billing.
Although the blockchain technology was first introduced through Bitcoin, extending its usage to non-financial applications is a mission for researchers. Managing EARs is one of the fields where the blockchain technology is believed to have considerable impact. The adoption of the blockchain in the managing EARs can be found in [
1,
2] Research in this field is relatively new but increasing very quickly. Since a few studies propose to employ the blockchain for managing EARs, there is still a need for more research to better understand, characterize and evaluate its utility in EARs management systems. Therefore, this work introduces a fully functional framework for applying blockchain technology to EARs.
In this work, the architecture of a blockchain-based framework applied to EARs is proposed. The proposed framework aims at providing interoperable, secure, and efficient access to EARs by universities, students and third parties while maintaining the students’ privacy. In addition, this work proposes timed-based smart contracts whose design meets the demands of EARs. These contracts are employed in the blockchain for governing the transactions, monitoring the computations performed on the EARs through the enforcement of the acceptable usage policies and managing the use of data after transmission. Advanced cryptographic techniques are also adopted by the proposed framework for providing further security.
In addition, since an EAR is a student’s asset and not a cryptocurrency or a digital currency to be exchanged, unlike previously proposed blockchain-based systems for EARs, a new incentive mechanism is proposed. This mechanism leverages the degree of university nodes from the perspective of EARs systems by measuring their efforts regarding maintaining academic records and creating new blocks. University nodes with fewer degrees are more likely to be selected for creating the new block. The proposed approach rewards the “block’s creator” an incentive that is added to its degree to decrease its probability of recreating the next block instead of just creating a digital currency, thus achieving a fairness among universities and ensuring the sustainability of the system. Moreover, the performance of the proposed system is measured (with respect to average response time, throughput and communication overhead) by conducting analyses on the EARs’ queries. The results show that the proposed system efficiently handles a large dataset at low latency.
In summary, this research presents the design of a blockchain-based system for EARs that handles the issues of privacy, security, data fragmentation, data isolation, effective access to academic records, and system interoperability. The primary contributions of this work are fourfold:
A complete analysis regarding how the proposed UniChain system and the timed-based smart contracts can interact with the various demands of universities, students and third parties is presented.
How the proposal would address the longstanding issues of privacy and security is detailed.
An incentive mechanism that aims at evaluating the degree of universities regarding their work in maintaining EARs, which in turn enhances data quality for EARs, is proposed.
Extensive experiments to evaluate the performance of proposed frameworks on various aspects, including throughput, response time, and communication overhead, were performed.
4. Implementation of the Proposed UniChain System
4.1. Blockchain Initialization—Part I: Adding a New University Node to the Blockchain Network
In this stage, all universities that accept to join the blockchain network have to share their EARs and agree on: the rules of the proposed smart contracts, the proposed incentive mechanism, the frequency of updating the blockchain network and the process of generating, verifying, and appending a new block to the blockchain network. In practice, each university has an identification string or a public identifier (ID) that must be unique to the academic organizations. In addition, it should be assumed that the Ethereum addresses (which are equivalent to public keys) of all universities that agree to join the blockchain network have been received, and the software components have been installed.
The process of adding a new university node starts when the ID and the Ethereum address of the new node are sent to the NC in addition to the requested type role. Voter nodes in the NC validate and authenticate that received request by ensuring and confirming that the received request is related to a legitimate university that is not registered previously. If the request is accepted and validated, the NC updates its local memory with the Ethereum address of the new node, its ID and its role. The NC creates a new SRHC for the new node whose address will be sent to that university node.
4.2. Blockchain Initialization—Part II: Computing the Degree of a University Node
The process of computing the degree of a node is performed by a node that has a “university” role listed in the NC. In this stage, the REM installed in each university node computes the degree of the associated node within the network. Since an EAR is a student’s asset and not a cryptocurrency or a digital currency to be exchanged, unlike previously proposed blockchain-based systems for EARs, a new incentive mechanism is proposed. The mechanism leverages the degree of university nodes from the perspective of EARs systems by measuring their efforts regarding maintaining academic records and creating new blocks. The degree of a node is calculated based on the quantity and the quality of the EARs stored in its database. Based on the purposes and the perspective of the designed system, various methods and several attributes could be used to define the quality of academic records. Generally, the quality of an academic record should be judged by whether it serves the purpose for which it was intended. To define a measurable standard for the quality in academic records, the proposal considers five key attributes that should be evaluated for each item included in the record. Thus, quality in academic records is defined as having the attributes of legibility, completeness, consistency, correctness, and non-redundancy. To demonstrate the structure of an EAR,
Figure A1,
Figure A2 and
Figure A3 in
Appendix A present the entity relation diagrams of the university registration office, student marks, and examination scheduling.
Legibility (L): Any entry in an academic record has to be legible, dated, timed and authenticated by the university.
Completeness (CM): An academic record is considered complete if it has all items that all universities have agreed on during the previous stage.
Correctness (CR): The academic record’s correctness refers to the accuracy of its collected data.
Consistency (CN): An academic record is considered consistent when the included data are reliable, and the data integrity has not been corrupted regardless of how often or in what way the data have been retrieved, viewed, stored, or processed.
Non-redundancy (NR): Redundancy in an academic record indicates that the data of a record may be repeated by several universities.
Thus, by taking the previous attributes into consideration, the degree of a university is defined as the total quality of all EARs for all students stored in the database of that university.
where the quality of an EAR is defined as the product of its L, CM, CR, CN and NR attributes.
To compute the Legibility indicator, each item in the EAR will be checked for whether it is considered as a legal item or not. The classification process will be performed via the REM component installed on the university node. Legal items will be tagged with
i1, while illegal items will be tagged with
i2. Thus,
if all items of the EAR are considered as legal items; otherwise,
For the NR indicator,
if all data stored in an academic record are unique and not repeated by any other university, otherwise the non-redundancy indicator will be divided among the universities that share that item. For the correctness, completeness, and consistency indicators, each item in the EAR will be classified via the REM as:
n1, correct element;
n2, incorrect element;
n3, missing element;
n4, extra element; and,
n5, conflict and reduction element. Equations (3)–(5) measure the completeness, correctness, and consistency of an EAR.
Accordingly, the degree of a university
i is computed by Equation (6):
For illustration, assume that a university would like to join the blockchain network. Assume that all universities that would like to join the blockchain network have to agree on 35 important items that should be included in an EAR and thus be measured for all EARs stored in their databases. Suppose that a university has two EARs, as detailed in
Table 1.
Table 2 shows how to compute the quality of the two academic records whose details are presented in
Table 1. In
Table 2, the EAR attributes, the quality of a record, and the degree of a university node are computed. At the end of the initialization stage, each university will have its degree that will be dynamically stored in the NC. Thus, the NC will automatically update the average degrees of nodes within the network as well as voter nodes. Note that a node with a degree that is greater than the average degree of the blockchain will be considered as a voter node, while the node that has the least degree among the nodes in the network will be assigned the task of generating the next new block. The proposal rewards the “block’s creator” an incentive that will added to its degree to decrease its probability of recreating the next block instead of just creating a digital currency, thus achieving a fairness among universities and ensuring the sustainability of the system.
4.3. Adding a New Student Node
The procedures of adding a new student node begins when a request is sent by a university node. The university node sends the Ethereum address of the new student node, its ID and the requested role to the NC for validation. Similar to the process of validating a request sent for adding a university node, voter nodes validate and authenticate that received request by ensuring and confirming that the received request is related to a legitimate student and the non-existence of a registered student matching that received ID. If the request is accepted and validated, the NC updates its local memory with the student’s ID, its Ethereum address and a “student” role. The NC creates a new SRHC for the new student node whose address will be forwarded to the university. The new student’s account information will be sent to the student node from the university node that forms the request.
4.4. Registering a Student Node
The process of registering a student can be viewed as an example of generating a stewardship among two different nodes: one stores and manages the data for the other (i.e., a university node stores and manages the data for a student node). A student registration process is performed whenever a new student visits a university.
The process begins by ensuring and confirming that the student node already is a registered node in the blockchain system. The DB Manager of the university node, which provides an access interface to the existing database, sends the student’s Ethereum address along with its “student” role to the NC for verification. The NC ensures that the registration process will be accomplished for a student node that already registered in the blockchain. The NC returns a Boolean value for confirmation. Otherwise, the process of adding a new student node has to be completed first. Upon confirmation, the university node sends the student information (i.e., the student’s Ethereum address, and its ID) in a transaction to its SRHC. The SRHC confirms whether the student is a new student or not.
Upon confirmation, the SRHC of the university node requests to generate a new stewardship with the student who can accept or reject that request. The SRHC of the university node will generate a new entry with the Ethereum address of the student node, its ID, “waiting approval” status, and last update of the status. Similarly, the SRHC of the student node will create a new entry with the Ethereum address of the university node, its ID, “waiting approval” status, and last update of the status. When the student accepts the request, the status field of both the university and the student SRHC will be updated with “acknowledged student approval” along with the last_update field. Otherwise, the process will be canceled, the status field will be updated with “acknowledged student approval”, and a notification will be sent to the university node. After accepting the request and updating the SRHC of the university, the university’s SRHC creates a new RC for the new stewardship. The RC then accordingly fills the student’s Ethereum address, his/her ID in the Owner field and all the university database related information. The RC sends its address to the SRHC of the university and the student nodes to update their “RC.add” data field for future reference.
4.5. Adding a New Academic Record Via a University Node
The procedures of adding a new academic record starts after establishing a stewardship between the university and the student nodes and thus having a shared RC. First, internal encryption in the university node begins the process of adding a new record. When a new record is created by a university node, that record will be transferred to the DB Manager. It creates an access link (AL) of a free location in the university existing database and hashes both the generated access link h(AL) and the record h(EAR).
The DB Manager forwards the created access link, and the student record to the Cipher/Decipher Manager for encryption. The Cipher/Decipher Manager generates a symmetric key (SMK), encrypts the new record and link with that key and then encrypts that generated symmetric key with the public keys of the: university, student and set of proxies. The Cipher/Decipher Manager sends the encrypted record to the DB Manager to store. In addition, all other encrypted data will be sent to the DB Manager to create a log indicating the creation of the new record since the history of all access will be stored in the blockchain to provide a full view of all events that happened to each record. The hash of the created log will be calculated and stored in the DB Manager for block verification later. Thus, ensuring the integrity of data since if any part of the data is changed, all involved nodes will notice the alteration. Then, the log will be sent to the Cipher/Decipher Manager for encryption with the public key of the university node.
The university node sends the student’s ID to its SRHC that will return the associated RC address. The university node then sends the record information (filename of the record, hash value of the access, and hash value of the student’s record, the encrypted symmetric keys , and the log) to the RC. The RC stores the filename of the record, the hash value of the access link, and the hash value of the student’s record. The RC then creates a new ACC for the record and forwards the encrypted symmetric keys . The ACC auto-creates the access and permissions information for the record, i.e., student and university permissions, and then sends its address to the RC for its reference. On the other hand, the LC updates its entries with the received encrypted log, the associated Ethereum address of the university node, the “new log” status to indicate that the new log has not been added to the blockchain yet, and the timestamp of the last status update. At the end, the encrypted access link is sent to the student over HTTPS who will store that link in its Cipher/Decipher Manager and will be used when the student would like to read his/her record. Additionally, when the new record is created, the university node notifies the NC to updates the associated degree of the university node. The NC informs the REM to add the value of the added record to the node’s degree and to return it to perform the update.
4.6. Editing a Record by a University Node
The university node sends the student’s ID to its SRHC to retrieve the associated RC address. Upon receiving the RC address, the university node then sends the filename of the requested record and its Ethereum address to the RC. The RC forwards the request to the ACC to check whether that received Ethereum address has a permission (i.e., “owner” access level) on the requested record or not. If the university node has a permission, the AAC forwards the university’s encrypted symmetric key to the RC. The RC in turns forwards the received key to the university node.
The Cipher/Decipher Manager in the university node first decrypts the received symmetric key using its private key and then decrypts the access link with that symmetric key. The DB Manager of the university node follows the related access link and then retrieves the encrypted EAR from the database for editing. Note that, when a record is modified, its hash value will also be changed [
24]. Thus, the DB Manager, after modifying the record, calculates the new hash of the modified record
. The DB Manager sends the student’s ID to its SRHC to retrieve the associated RC address. The new hash value will be sent to the RC for updating. Moreover, the DB Manager creates a log indicating the process of record editing, hashes the log and then forwards the log to the Cipher/Decipher Manager for encryption. The encrypted log will then be forwarded to the LC. The LC adds a new entry with the received encrypted log, a “new log” status to indicate that the new log has not been added to the blockchain yet, and a timestamp indicating the last status update. Additionally, when the editing the student’s record, the university node notifies the NC to updates the associated degree of the university node. The NC informs the REM to reevaluate the value of the record and thus updating the node’s degree. The REM performs the calculations and returns the new degree to the NC for updating.
4.7. Access a Record from Student Node
A student node sends the university’s ID to its SRHC to retrieve the associated RC address. Upon receiving the RC address, the student node then sends the filename of the requested record and Ethereum address of the student to the RC. The RC forwards the request to the ACC to check whether that received Ethereum address has a permission (i.e., “read/edit” access level) on the requested record or not. If the student node has a permission, the AAC forwards the student’s encrypted symmetric key to the RC. The RC in turns forwards the received key with the database access information to the student node.
The Cipher/Decipher Manager in the student node first decrypts the received symmetric key using its private key and then decrypts the access link with that symmetric key. The DB Manager of the student node follows the related access link and retrieves the encrypted EAR from the university’s database. Since students can access their nodes via online wallets, records access can be performed by any device with Internet connection, thus improving the interoperability of EARs. Moreover, the DB Manager creates a log indicating the process of reading the record, hashes the log and then forwards the log to the Cipher/Decipher Manager for encryption. The encrypted log will then be forwarded to the LC. The LC adds a new entry with the encrypted received log, a “new log” status to indicate that the new log has not been added to the blockchain yet, and a timestamp indicating the last status update.
4.8. Generating a Student Transcript
A student node sends a request to generate a transcript to a university node. The university node sends the student’s ID to its SRHC to retrieve the associated RC address. Upon receiving the RC address, the university node then sends the filename of the requested record and the student Ethereum address to the RC. The RC forwards the request to the ACC to check whether that received Ethereum address has a permission on the requested record or not. If the student node has a permission, the AAC forwards the university’s encrypted symmetric key to the RC. The RC in turns forwards the received key to the university node.
The Cipher/Decipher Manager in the university node first decrypts the received symmetric key using its private key and then decrypts the access link with that symmetric key. The DB Manager of the university node follows the related access link and then retrieves the encrypted EAR from the database to create the transcript. The created transcript will be forwarded to the Cipher/Decipher Manger that in turn will sign the transcript with the private key of the university and then encrypt the signed transcript with the public key of the student. In addition, the DB Manager creates a log indicating the process of creating a transcript, hashes the log and then forwards the log to the Cipher/Decipher Manager for encryption. The encrypted log then will be forwarded to the LC. The LC adds a new entry with the received encrypted log, a “new log” status to indicate that the new log has not been added to the blockchain yet, and a timestamp indicating the last status update. The university node forwards the encrypted signed transcript to the student node via HTTPS. The student node can retrieve the transcript by the use of the student private key and ensure it comes from the desired university node by the use of the university public key.
4.9. A University Node Reads a Record from Another University Node
The process of reading a record that is stored in a university node from another university node utilizes the timed-based deposit-box mechanism to increase both the accessibility and the security of EARs systems.
Suppose that there are two university nodes, A and B, where University B would like to read a specific student’s record from University A. University B generates a request to read the record first, signs that generated request by its private key for authorization, and then encrypts the signed request with the public key of University A. Over HTPPS, the encrypted signed request will be sent to University A. Upon receiving the request, University A decrypts the request with its private key and then decrypts it with the public key of University B to ensure that the university is the one that it claims to be.
First, Node A will send the ID of the student to its SRHC to return the associated RC address. University Node A then sends the filename of the record to the RC to retrieve the associated ACC address. University Node A then sends the Ethereum address and the access level request to the ACC. The ACC then forwards the Ethereum address of University B and its request for the NC to verify whether University B is an authorized university registered on the system. Upon receiving the verification from the NC, the ACC generates a new entry with the Ethereum address of Node B, the Access Level, and the “request new level” status, and the timestamp of the last status update. The ACC requests a change in the access level from the file owner (i.e., student), and updates both its status field to “waiting approval” and last-update. If the student accepts the request, the ACC updates the access level with “temp-read” for the applicable file with the “approved” status and the last-update. Once the request has been approved, the ACC sends a notification to University Node B indicating that a new access level is assigned to it. The ACC also notifies the RC to create a new entry in the DPC with the Ethereum address of University B.
The RC then sends the Ethereum address of University B, and the file name to University Node A. The DB Manager retrieves the record and forwards the record with the received public key to the Cipher/Decipher Manager for encryption. The DBC will be updated by storing the encrypted file for a certain time specified by the Time field. Over HTTPS, University A sends the DPC address to University B to access the requested record by decrypting it using its private key. The DB Manager of Node B will update the LC entry with an encrypted log indicating the process of reading the record. The LC updates its status with “new log” to indicate that the new log has not been added to the blockchain yet, and the timestamp of the last status update.
4.10. Generating, Verifying and Appending a New Block
The process of generating a new block begins by selecting the university that is responsible for performing this computational task. Based on the degree that each university node owns, the selection process is performed. According to the selection method in the proposed incentive mechanism, universities with more degrees maintain more academic records or records with higher values. Thus, they are less likely to be selected. The NC assigns this task to the university with the lowest degree among other universities in the system.
Assume that University Node A is selected for the task of generating a new block. University A sends a request to the LC. The LC forwards the request to the NC to verify that University A is an authorized university on the system and it is selected for performing the task. The NC returns a verification to the LC. Upon receiving the verification, the LC sends all encrypted Logs whose status is “new log” to University A. After collecting all logs, University A creates a new block that includes all logs, broadcasts to the blockchain network about the new block and calls for verification.
Each involved university node verifies its logs in the new block. Each involved node decrypts the log with its private key, computes the hash value of the log after decryption and compares the computed hash with the value stored in its DB Manager. Each node then sends a signed proof to the University Node A. Upon receiving all the signed proofs, University A notifies the NC to update the degree of University A by adding the incentive value c to its current degree. According to the proposed incentive mechanism, the university that will be chosen to generate a new block will get an incentive c as a reward upon successfully verifying the block by other universities. The value of c depends on the size of the blockchain network and the distribution of universities degrees. Thus, c will be defined as a fraction of the average degrees in the network. University A then broadcasts to all universities to append the new block. After appending the new block, the LC automatically updates the status field for all logs which are added to the chain as “appended” and the last_update field. The process of generating, verifying, and appending a new block is summarized in
Figure 6.
5. Evaluation and Discussion
5.1. Experimental Setting
For evaluation, experiments were performed on a computer system with an Intel Core i7-5557U 3.10 GHz processor, 16 GB memory, and Windows 10 (64 bit) operation system. The Ethereum platform, which is an open source platform featuring smart contract (scripting) functionalities, was used for implementing the proposed system. The smart contracts were written in Solidity and deployed with Truffles with no capacity restrictions on the stored data size. To allow the interaction with an Ethereum node using HTTPS, the web3.js library was employed. The open source Apache JMeter was used as a functional and performance measurement tool for testing the services provided on the web. The experimental parameters and their values are given in
Table 3.
Several tests based on two parameters were performed: the number of submitted queries and the size of the stored academic records. The measurement of the performance was based on the following metrics: the average response time, the throughput, and the communication overhead or the average number of messages sent per a node. Only one parameter was changed each time so that any changes in the performance would be based solely on this parameter. In fact, results achieved from these tests were used to study the behavior of the proposal for: (1) random systems with different number of nodes and roles; and (2) systems with different academic records’ size.
To study the effects of changing the distribution of the submitted queries on the average response time, the throughput, and the communication overhead, theses queries were varied from 1000 to 10,000 query units, and the distribution of the submitted queries among the nodes were carried in the following manner.
25% variations: Similar request distributions among nodes.
50% variations: The intermediate situation where the majority of queries are submitted to 50% of nodes.
75% variations: The advanced intermediate situation where the majority of queries are submitted to 75% of nodes.
To study the effects of increasing the number of academic records stored in the university databases on the average response time, the throughput, and the communication overhead, the number of stored records were varied from 10,000 to 100,000, and the distribution of the records among the nodes were carried in the following manner.
25% variations: Similar records distributions among nodes.
50% variations: The intermediate situation where the majority of records are stored in 50% of nodes.
75% variations: The advanced intermediate situation where the majority of records are stored in 75% of nodes.
5.2. Results and Discussion
The results show that the average response time and the average number of messages sent per node increased as the total submitted queries was increased, as shown in
Figure 7 and
Figure 8.
Similarly, the average response time and the average number of messages sent per node increased as the total number of stored records was increased, as shown in
Figure 9 and
Figure 10.
These situations are expected as the more queries to be submitted, the longer it takes for a query to be completed and the more communications among participant nodes to be occurred. In addition, the more records to be stored, the more participants to use the system, and, thus, the more queries to be submitted on the system. However, the throughput of the system remains constant even with the increments of the submitted queries or the stored records (
Figure 11 and
Figure 12).
The stability of the system’s throughput even when increasing the number of stored records and the number of submitted queries prove the ability of the system to handle and process a large dataset with high frequency at low latency as in EARs systems.
Actions in the proposed system are classified into off-blockchain and on-blockchain actions. The off-blockchain actions involve computing the degree of university nodes during the blockchain initialization, creating an access link, calculating its hash value and encrypting it when adding a new record. In addition, database storage and retrieval procedures are off-blockchain actions. The on-blockchain actions include retrieving and storing data values in smart contracts, sending internal transactions to link different contracts, and spawning new contracts using other contracts. The diversification of the system modules and the balance between the on-chain and the off-chain actions involve increasing the features of the proposed system while maintaining its performance.
The proposed system adopts the PoA consensus algorithm, which plays a significant role in the system performance as it can handle more transactions per second compared with the PoW and the PoS. The PoA minimizes the intensive of computations and increases the system performance as it provides lower transaction acceptance latency and steady time intervals for issuing blocks. According to the proposal, two rounds are required for the generation and the validation of the new block. The block’s creator node first sends the created block to only involved nodes (i.e., no need to send the block to all participants in the network). These nodes validate their logs and then reply with a verification. A block will be appended when receiving all associated verifications. By adopting PoA, the number of messages sent for block generation and validation will be decreased, thus ensuring the effectiveness of the system. The adoption of timed-based smart contracts ensures a reasonable period for the transactions and the computations performed on the data. The loss of connectivity resets the timers to zero and the data are destroyed using instructions stored in the smart contracts.
5.3. The Real Impact of UniChain in Managing EARs
Generally, an EAR is a record in a database that stores academic information about students in a digital format. There are two ways to issue an academic record: it could be created digitally or be digitized from existing paper records. Record digitalization refers to the process of transforming different materials of the records into digital format while preserving the record characteristics of reliability, usability, authenticity and integrity [
25]. An EARs management system is a digital tool with a web and/or mobile interface that enables access to the record content while maintaining its important characteristics. Relational databases are used to implement the existing EARs management systems.
Currently, a student may visit more than one institution during his/her study, for instance, exchange-students or credit-mobile students. Credit-mobile students refer to “study-abroad” or registering in one university while taking courses at another, such as those in the EU’s Erasmus program. The number of credit-mobile students are increasing and their destinations diversifying [
26]. These students remain enrolled in their home countries while receiving a small number of credits from foreign institutions. There were at least 1.6 million students from abroad who were undertaking tertiary level studies across the EU in 2016 [
27]. In fact, the EAR will be stored in the database of the university that issued the record, which will be the only eligible university for editing it. In other words, the EARs of a student are placed in different institutions databases, thus providers cannot have a comprehensive overview of all the records of a single student. Academic provider databases are partly open to students and other academic providers with different specified permissions. Students with access rights could query their EARs from different universities. Universities with access rights could query EARs of a common student from other university when there is a need. These situations cause a lack of coordinated data management and exchange. Hence, academic records are isolated and fragmented, rather than cohesive.
Moreover, as academic providers are solely maintaining the records in which they had issued, there is a difficulty to confirm data integrity when a malicious entity modifies that single copy of the record or even when a record is removed from a provider database. The need for multiple access to the EARs had raised the interoperability challenges between students and academic providers which pose additional barriers to effective data sharing.
Additionally, as technology is constantly evolving, several advanced techniques are developed to violate digital privacy and security. Unfortunately, academic records are considered as major targets for information theft since they include private and sensitive information, e.g., the students’ names, identity numbers, contacts info and addresses. In 2018, the hacking of Australian National University resulted in the theft of 19 years’ worth of data. Electronic records protection is a complex and massive undertaking [
28]. According to the identity intelligence company 4iQ [
29], the number of data breaches increased more than 400% in 2018, exposing almost 15 billion records, and the average cost of a security breach is
$17 million.
The following points summarize the problems addressed by current EARs management systems:
the lack of coordinated data management and exchange, as EARs are fragmented and isolated, rather than cohesive;
the need for multiple access to the EARs raises the interoperability challenges between students and universities;
the inability to transfer or access EARs and testimonials across multiple institutions, making it difficult to achieve effective data sharing; and
the lack of protection and control of private information by data owners.
On the other hand, the proposed UniChain system will be built above the existing academic provider databases to facilitate the integration with the existing systems. To reduce the requirements of storing EARs in the blockchain and to utilize the existing systems, EARs will be continuously stored in the provider databases. As universities currently maintain and manage the EARs, while students can only read data, provider nodes in the proposed design will be responsible for the maintenance of the blockchain. According to an article that was published in the Applied Sciences Journal in June 2019 [
30], a blockchain could bring several benefits to education: (1) improving security that includes data protection, privacy, and integrity; (2) providing better control on how students’ data are accessed and by whom; (3) enhancing accountability and transparency; (4) enhancing trust between all included parties and ease the communication between them; (5) lowering the cost as the nature of blockchain technology can help in reducing the unnecessary cost associated with the transactions and storage of data; (6) authenticating students’ identities as well as their digital certificates; (7) the efficiency of data exchange and the management of students records; (8) enhancing interoperability; and (10) supporting future career.
The UniChain system employs the blockchain technology, which is a collection of techniques (cryptography and hash functions) to create a chain of data where each new piece of data is linked to the previous ones by a cryptographic hash function. Therefore, it significantly increases the difficulty of attack and improves the privacy and security of EARs. All accesses to the EARs will be performed through the blockchain, and accordingly the history of those accesses will be stored in the blockchain to provide a full view of all events occurred to EARs. Thus, it ensures the integrity of data and prevents misuse of a student EAR. All logs details in addition to the record ownership metadata will be added to the chain.
Sensitive information that are placed on the blockchain are encrypted to decrease the possibility of being accessed by unauthorized entity. UniChain system increases the level of data obfuscation by separating sensitive information via the use of SRHC, RC and ACC. The use of deposit-box technique is employed to solve the problem of transferring encrypted messages among nodes with no need to share symmetric key.
The proposed framework employs the hashing methods, i.e., SHA-256, to ensure data integrity. UniChain keeps a hash value of the link that will be created during the record’s issue to access the EAR in the blockchain instead of keeping the link itself. To access a record, the encrypted query link will be sent over HTTPS to the associated participant who has access rights. Therefore, its hash value stored in the blockchain ensures that no alterations have been made outside the blockchain during the transfer as the value of the hash is unique to the original document. For further security, UniChain will store the query link, the key and the EARs in different locations.
Privacy is maintained in the UniChain by employing timed-based smart contracts for governing transactions. Security and access control are maintained by the adoption of advanced encryption and authentication techniques throughout the blockchain. Interoperability, auditability, and accessibility are provided by the use of smart contracts and comprehensive logs.
For creating, validation, and appending new block, the proposed system employs a new incentive mechanism integrated with the Proof of Authority (PoA) consensus algorithm. The proposal leverages the degree of providers nodes from the perspective of EARs systems by measuring their efforts regarding maintaining academic records and creating new blocks. Provider nodes with fewer degrees are more likely to be selected for creating the new block. The proposal rewards the “block’s creator” an incentive that will added to its degree to decrease its probability of recreating the next block instead of just creating a digital currency, thus achieving a fairness among providers and ensuring the sustainability of the system.
6. Conclusions
In this paper, a design of a blockchain-based system, namely UniChain, for managing EARs is proposed. UniChain is designed to be compatible with the existing EARs’ databases and to provide interoperable, secure, and efficient access to EARs by universities, students and third parties, while maintaining the students’ privacy. In UniChain, the blockchain maintenance including creation, verification and appending of new blocks is the responsibility of universities, while allowing students to securely control accesses their EARs. Privacy is maintained in the UniChain by employing timed-based smart contracts for governing transactions and monitoring the computations performed on the EARs through the enforcement of the acceptable usage policies. The adoption of hashing techniques ensures the integrity of data. Security and access control are maintained by the adoption of advanced encryption and authentication techniques throughout the blockchain. Interoperability, auditability, and accessibility are provided by the use of comprehensive logs. The proposal is independent of any specific system, and its variations can potentially accommodate other similar systems with multiple access for electronic records. This work proposes a new incentive mechanism integrated with the PoA for mining. It leverages the degree of universities regarding their efforts on maintaining academic records and creating new blocks. The proposed mechanism rewards the “block’s creator” an incentive to be added to its degree and accordingly decreasing its probability of recreating the next block instead of just creating a digital currency, thus achieving the fairness and the equality among universities and ensuring the sustainability of the system. Extensive experiments were conducted to evaluate the UniChain performance on different aspects, including response time, throughput, and communication overhead. The results indicate the efficiency of the proposal in handling a large dataset at low latency.