The future of continuous learning–Digital badge and microcredential system using blockchain
https://doi.org/10.1016/j.gltp.2021.08.026
Continuous Learning is seen as the key to remain competitive and effective at work. Very often, this also takes place outside the walls of a classroom. Nowadays Digital Badges and microcredentials are pathways to acknowledge and recognize achievements and specific skills of a learner. In this research, the different techniques used in existing blockchain-based educational systems have been reviewed and in the end, a novel web-based digital badge and microcredentials system which helps the learners to acquire the desired skills is proposed. For the Blockchain, Ethereum has been used and to develop the front end ReactJS has been used. A digital badging and micro-credential system consisting of quizzes and digital badges was built with Ethereum blockchain together with ipfs to store the badge image and firebase for examination, registration, and storing courses. The proposed system proved to be very much beneficial and addressed the inherent limitations of traditional learning content management systems (LCMS).
KeywordsBlockchainContinuous learningDigital badgeEthereumMicrocredential
Continuous Learning has become an important part of a person's life nowadays to have a secured future. In addition, with the rapidly growing industries, continuous learning is a must to keep up with the latest trends. To satisfy the need of people, micro-credential has been introduced allowing people to take short career-oriented courses at their own time and pace. However, since micro-credentials are short duration, rewards such as digital badges are generated frequently thus issuing and verifying the micro-credential in a short period can be challenging moreover digital badges can be falsified by users making them trustless. To help people keeping up with the trend and improving their skills, a micro-credential and digitila badging application that will provide users access to career-oriented courses, appears to be the perfect solution. To tackle the problem of security, blockchain will be introduced in our system. The popularity of blockchain keeps on increasing and application other than in the finance field is being developed [11]. For example, blockchain is used in education to provide tamperproof certificates. Furthermore, blockchain is well known for its immutability and decentralized making it an ideal technology to implement with our micro-credential system, consisting of short courses, quizzes, and digital badges as rewards.
Blockchain technology demonstrate the quality of security and transparency that guarantees that data cannot be altered as well as keep its records intact. This is the reason why this technology fits perfectly well to develop a micro credential system which proves to be the alternative of the traditional upskilling of professionals. The aim is to offer courses that can overcome the financial barriers of students. Moreover, it aims to make learning flexible whereby a person can learn at his own timeframe from anywhere and at his own pace [12]. On top of that, micro credentials system promotes career-focused learning where one can learn new skills as well as upgrade one's skills to keep up with the rapidly growing industries nowadays. Another important point is that, the durability of a typical micro credential course last for 10 weeks to a year which does not bound a person to be time and cost committed. Another aspect of the proposed system is to provide a digital badge as recognition upon course completion [13].
To upgrade their skill, an individual can attend a short course which is provided by many institutions and after completion, they get a manual certificate. However manual certificates can be a disadvantage since details of the skill acquired are not present due to space limitation. Besides, if someone attends many short courses this will increase the number of certificates which will be an inconvenience to present during a job interview, and also a manual certificate can be lost or damaged and a lot of time and money is required to obtain it again [14], [15], [16]. With the advance of technology, short courses are also hosted online but people may not trust unknown organization due to common security issue that is encounter online. Besides, the user will not be the owner of the digital certificate if the system uses a database to store them as the database need a third party. So, if the organization stop hosting the course online, the certificate may become invalid or the user can even lose all the certificate if the database crash. Furthermore, the user can falsify the certificate since it is digital [17], [18], [19].
Blockchain can look on as a public ledger where information such as transactions, contracts, or anything in its digital form is stored in blocks and shared by a group of people in a decentralized peer-to-peer network. Each new block is added at the end of the chain and all the blocks are cryptographically hash to their neighbor. Cryptography together with consensus algorithms is used to provide security and consistency in the blockchain. Furthermore, blockchain is well known for its immutable which makes it ideal for businesses that need high reliability and truthfulness as data once store in a blockchain cannot be altered or deleted [20], [21], [22].
[1] describe the structure of block in the blockchain as consisting of 2 parts namely the header and the body.
1The block header consists of:○Block version: consists of the rule to validate a block○Merkle tree root hash [2] Merkle tree is a tree where the value of the parent node is hashes of the child nodes and it uses a bottom-up approach for hashing. Merkle roots are used to verify a set of transactions because if there are any changes in the transaction the Merkle root will also change. Merkle root also provides proof of the present and order of a transaction.○Timestamp: The time when a new block is created is recorded in the header as seconds in the universal time since January 1, 1970○nBits: refer to the target entry of a valid block hash.○Nonce: a four-byte field that normally begins with zero and for each hash calculation increases○Parent block hash: SHA-256 is used to obtain the hash value that points to the neighboring block. 2The block body
The transaction and the transaction counter are stored in the body of the block in the blockchain. The maximum number of transactions that can be found in a block will depend on the size of the block and the size of each transaction.
Being distributed, the user may not trust all the nodes in the blockchain as there can be a malicious node. There should be an agreement among the node about the contents of the blockchain and how to store information in the block. To achieve trust in the blockchain a consensus algorithm is used. Examples are:
Since blockchain is a decentralized network, a node is selected randomly to add new blocks to the blockchain. However, there is the risk of attack in the network due to the presence of malicious nodes. To make sure that the node is an honest one, the node will have to do a lot of work to prove it [1]. The work that must be done by the node is to find the solution for a special mathematical problem using specialize hardware together with electricity which acts as power [3]. Each node has to calculate a hash value of the block in PoW, these nodes are also referred to as miner. Miner would change the nonce which is present in the block header often to obtain a different hash value. To meet a consensus, this value must be equal or smaller than a particularly given value. Once a node gets the target value, he will send it to the other nodes, who will confirm if the hash value is correct. If every node in the blockchain confirms that the block is valid, they will add the new block in their blockchain. Since blockchain is a decentralized network, multiple nodes might found the suitable nonce at approximately the same time, resulting in the formation of valid blocks simultaneously. In this case, branches will be formed as shown below. To solve this, the longer branch is taken as the valid one [1].
In PoW, miners waste a lot of resources as they have a lot of computer calculations to do. An alternative consensus algorithm is Proof of stake which saves more energy. In PoS, the miner needs to provide evidence of the ownership of the amount of currency. It is believed that people who have more currencies have less chance to attack the network [1].
Smart contract is a program that is stored in the blockchain. It consists of a set of pre-defined conditions normally in the form of if-then-else rules. When these rules are satisfied a pre-defined action is executed accordingly. Ethereum smart contract uses the Ethereum Virtual Machine to run and the code is written in a stack-based bytecode language. Solidity and serpent can be used as high-level languages to write a smart contract. Since a smart contract is used in a decentralized network, there should be an agreement among the party about the details of the contract and the terms and conditions. When all the parties agree and signed the contract, it is added to the blockchain as a program code and it is executed automatically without the need of a third party hence providing trust and anonymity among nodes [4].
A micro-credential program helps students to build skills outside the classroom by providing courses that cover specified skills. It is usually more than a single course but shorter than a full degree. A micro-credential is also a “visual representation of your capability” and is awarded using a digital badge [5]. Digital badges can be described as an image file that contains information that provides evidence about the skill, experience, and knowledge a person has acquired after complete a course or some activities online [6]. The main key factor of badges is motivation as badges can be used as a way to motivate people to complete tasks, so before creating badges the basic principle of how and why people are motivated with badges should be studied [7].
A digital badge consists of 3 components
iSignifier: it is the visual part of the badge that is the image that represents the badge. It includes a unique name, a description of the badge and it can also include a hint on how to obtain the badges.iiCompletion logic: that is the requirement to obtain the badge. It consists ofaTrigger: indicate what the person must do to obtain the badgebPre-requirement: the requirement that must be satisfied before activating the trigger.cConditions to earn the badge.dMultiplier: how many times the person has to meet the requirement to obtain the badge. iiiReward: what the user will get after getting the badge. Digital badge also contains a clickable hyperlink to view more information that is metadata. Metadata consists of the date the badge was awarded, the issuer, or any other relevant data. Metadata can be added using JavaScript object notation for linked data (JSON-LD).
This system aims to solve the weaknesses of e-learning by decreasing the complexity of online assessment, making e-learning assessment standards uniform, and improve the security of digital certificates [8].
There are 2 types of users in this network shown above:
Learning user: Anyone who wants to take a course will have to apply for a personal account to connect to the network. Under their account, there is a certificate wallet and a minimum of one-course credit wallet which is used to store the credits obtained by the user when doing online activities. After completing a course, the user can exchange the course credits with the digital certificates of the course, and the achievement score of that certificate is stored in the certificate wallet which can be exchanged to obtain the corresponding voucher reward.
Education Authorities: Any education institutions that want to provide an online course or exam in the system have to join as an education authority. Before a course is officially launched, the education authority node has to write the rule of the assessment of their course in a smart contract to calculate the course credit. Once the education authority submits the smart contract and the learner users accept it, the smart contract is placed in the blockchain and the education authority is not the owner of the contract to make the system autonomous. Furthermore, only the education authority can provide a digital certificate of their courses.
As shown in Fig. 1 the structure consists of 3 kinds of network and 2 types of blockchain namely public and private.
i) Learning user network (LUN)
Fig. 1. Structure of the proposed system for E-Learning Assessment and Certification
Show as the biggest red area, this network is a fully decentralized peer to peer network which consists of learning users’ nodes. Learning users can communicate with each other by sending messages anonymously with their account identities.
ii) Education certification network (ECN)
This network is fully decentralized peer to peer and it consists of education authority nodes. There is an Education certification (EC) public blockchain corresponding to each ECN which is managed by every node in ECN. When a new digital certificate is issued, the certificate is sent to all the nodes in ECN for verification using the consensus mechanism. Once the digital certificate is verified its corresponding authority encrypted it as a digital signature and store it permanently in the EC public blockchain.
iii) Learning Assessment Local network (LALN)
LALN is constructed by an education authority as the center node and it consists of its real-time learning node who can obtain notes and information from them. For each LALN there is a corresponding learning assessment (LA) private blockchain which contains the smart contract for the course credit. Furthermore, the learning users can allow their employer to verify their digital certificate when applying for a job, by inviting them to temporarily have access to the EC public blockchain.
This system has 3 detailed design schemes for smart contracts:
i) To achieve the e-learning assessment and credit exchangeii) To issue the digital certificate and store in securelyiii) To allocate e-learning voucher
This system is used to create and solve quizzes and prevent results to be tampered which is part of our system [9]. Technology used includes
To prevent result tampering blockchain is used. Once a quiz is submitted, the quiz grade is stored in the database then a new block is added to the blockchain.
The block structure consists of:
Data: user details of the person who take the quiz, quiz grade, and the date.
-
A hash of the previous block is obtained from the database.
-
The hash is obtained by using the SHA256 algorithm with the block's data and the hash of the neighboring block.
-
Nounce is used to calculate the proof of work. The calculation is done in the client browser using Typescript.
EduCTX is a credit and grading system for higher education that uses blockchain to create trust in the system [10]. EduCTX is based on the idea of the European Credit Transfer and Accumulation System (ECTS). Every student in the distributed peer-to-peer network process a wallet where their respective tokens are stored after completing a course. The design structure of EduCTX is shown in Fig. 2 below.
Fig. 2. Design structure of EduCTX
EduCTX is based on the Dpos consensus protocol which means that no computing power is required. ARK blockchain is used to implement EduCTX as the code base for ARK is flexible and open source. Also, the client API implementation can be access easily and it can be implemented by more than 12 types of programming language thus allowing nodes to join the platform using their desire language.
Table 1 highlights the advantage of using blockchain for e-learning instead of database which is used by nearly all traditional e-learning platform.
Table 1. Comparison between blockchain and database
Empty Cell | Blockchain | Database |
---|---|---|
1. | There is trust among unknown user in blockchain as every node have the same priority and any node can verify transactions that are added. | The administrator is the one who controls the data so there is no trust in the system. |
2 | Data added in a blockchain is immutable as all the data are connected using a hash which will change if the data is changed. | Data can be changed by people having access to the database or people can hack the database to change data and the changes will be unnoticeable as there is no evidence. |
3 | All users have a copy of the blockchain hence the blockchain will still exist even if some nodes are left. | All data can be lost if the database crash. |
4 | The student will be the owner of all their achievement received online (digital badge/digital certificate). | The digital certificate/digital badges will exist as long as the database exists that is if the organization stops hosting the e-learning platform the student will lose their data store in the database. |
5 | An employer can verify a digital certificate/badge in the blockchain system without anyone's intervention. | If any classification is needed the administrator needs to be contacted. |
In the proposed system, Ethereum blockchain technology will be incorporated in the digital badge and in the examination app. The technology is traceable, tamper-proof and encrypted and its main purpose is to eradicate the problem of fake certificates/recognitions. Blockchain will also be used to achieve a secure peer-to-peer communication and for decentralization.
The system will consist of 4 main parts and a system architecture is shown in Fig. 3. A flowchart for academics to create examinations is shown in Fig. 4.
1Authentication This process is done with the help of Firebase Realtime Database with components including Sign-up, Sign In and Logout. Both the users namely learner and academic will login by providing correct credentials.2Course Management After successful authentication of academic, he will be able to add courses. The academic can also edit the details of the courses, he can also delete a course and can view the courses he has added. After successful authentication of the learner, he/she will be able to view courses added by an academic.3Examination on Blockchain The next step would be the creation of an examination. To do so, the academic need to enter the contract address generated by Truffle. Then, he/she needs to connect to metamask by importing his private key. He/She can then add the examination topic, the entrance Fee, the number of marks, the question, 1 correct answer and 3 other wrong answers. He/She can then confirm the transaction of adding his examination question in metamask.
Fig. 3. System Architecture
Fig. 4. Flowchart for academic to create examination
To take an examination, the learner must first import his private key in the metamask account. The learner will then able to view the exam questions entered by the academic. He/She will select the first question. The system will then prompt the user whether he wants to pay the entrance fee or not to answer the question. The user can then confirm/reject the transaction to pay. After successful payment, the user will be able to view and attempt the question. A good answer will enable him to apply for a badge.
1Badge Allocation The digital badge will contain an image and the metadata that is all courses that the learner has completed and the skills required. This badge can afterwards be accessed by an employer of a company. Being in possession of digital badges encourage students to spend more time to explore more courses and aim to get more badges. Just like in sports, medals are given value, receiving a digital badge for an achievement feels more rewarding.
Badge Creation: For a student who has completed his examination and who has applied for a badge, the lecturer can create a digital badge for the student. The title of the badge, description, criteria and the address for the student are entered by the academic and he must confirm the transaction of adding a badge in metamask.
View Badge: The student needs to use his metamask account to view his badge and the in the student profile, the student need to enter his name and email.
Search Badge: Any user including student and lecturer can search for a badge allocated to a student to recognize the skills of the student by inserting the student ID and the address of the student.
To convert the web browser to a blockchain one Metamask extension for firefox has been installed.
All the logic for the system is written in the smart contract using the solidity programming language. Code snippets of Smart contract implementation is shown in Fig. 5.
Fig. 5. Smart Contract Implementation
Mapping is used to store data using a key-value pair.
For our smart contract 3 mapping was created:
lecturerProfiles and studentProfiles are used to store details of lecturer and student respectively.
-
For the badges mapping a nested mapping is used. The Ethereum address is used as the key which will map the 2nd mapping as value, the 2nd mapping has a key of uint type that will map a struct name Badge.
Events for badge created, student added, and lecturer added were created. This allows the application to know the current state of the smart contract.
Function to add the lecturer.
The variable Lecturer is assigned msg.sender which means the current Ethereum address. So the current address that the user will use to create profit will be set to a lecturer to be able to distinguish it from other addresses. Count is the id for the lecturer and it is used as the key for mapping the lecturer profile. This function will emit the lecturerAdd event.
Function to register student: The function AddStudent is similar to the AddLecturer function but here no variable is assigned to msg.sender.
Function to add badges: ‘Require’ is used to ensure that the user enters all the fields when creating the badge. The msg.sender is also required to be Lecturer, which has been assigned when the lecturer is registered. The nested mapping map the student address with their respective badge and ‘now’ is used to get the timestamp when the badge is created.
Download : Download high-res image (81KB)
Download : Download full-size image
The badge, studentProfile, and the lecturerProfile mapping are called in this function and a for loop is used to iterate through the mapping. The code to load blockchain data is shown in Fig. 7.
Fig. 7. Code to load blockchain data
This section shows some of the GUI of the system. Fig. 8 shows student profile whereas Fig. 9 shows the interface available for an academic to create an exam. Fig. 10 shows a learner's digital badge.
Fig. 8. Student Profile
Fig. 9. Create Exam Interface for Academic
Fig. 10. Student Badge