ON

— One of the major challenges the university faces is to provide real-time verification of their student's degree certification upon request by other parties. Conventional verification systems are typically costly, time-consuming and bureaucratic against certificate credential misconduct. In addition, the forgery of graduation degree certificates has become more efficient due to easy-to-use scanning, editing, and printing technologies. Therefore, this research proposes verifying Ph.D. certificates using QR codes on the Ethereum blockchain to address certificate verification challenges. Blockchain technology ensures tamper-proof and decentralized management of degree certificates as the certificates stored on the blockchain are replicated across the network. The issuance of certificates requires the use of the issuer's private key, thus preventing forgery. The system was developed using Solidity for the smart contract, PHP, HTML/CSS for the web-based implementation, and MetaMask for blockchain integration. User testing confirmed the successful implementation and functionality of the system. Users can add, update, and delete certificates, generate and scan QR codes, and receive instant verification feedback. The verification system effectively meets all requirements, providing a robust solution for validating Ph.D. certificates. Future research may focus on scalability and adoption, privacy and data protection, user experience, and integration with existing systems. Other researchers can optimize the verification system for widespread adoption and utilization by exploring these areas. This research contributes to securing and efficiently verifying academic certificates using QR codes on the Ethereum blockchain. Ultimately, this work advances the field of certificate verification and promotes trust in academic credentials.


I. INTRODUCTION
Nowadays, every work requires a certificate; sometimes, the most required certificate for a certain work field is a diploma certificate, and other times it is a degree certificate.As a result, many people chose to fake one if they did not have one [1]- [3].Furthermore, there are several services accessible online for faking a certificate.However, this practice denies the opportunity of those who worked hard for their Ph.D. certificate.
Also, an education certificate credential is vital in today's increasingly competitive job market.Universities issue certificates to their students after fulfilling graduation requirements.However, the forgery of graduation certificates has become more efficient nowadays due to easy-to-use scanning, editing, and printing technologies.Therefore, certificate verification is an increasingly important and mundane task.Existing papers on certificate verification methods include a watermarking technique [4]- [6], 2D barcode method [7]- [9], QR code method [10], and web services [11] cross-check with serial number.These methods, however, have one or more issues, such as counterfeit certificates, single point of failure, high cost of the verification process, and time-consuming [12].
Recently, blockchain technology has been applied to solve certificate verification issues [7], [12], [13].Blockchain technology allows universities and graduates to manage degree certificates over the distributed network using a blockchain-tamper-proof and decentralized structure.Certificates issued using blockchain cannot be tampered with because this certificate is stored in a block replicated across a blockchain network.In addition, when a certificate is issued to a blockchain, the issuer's private key is required; thus, the forgery of certificates is prevented.Due to the decentralized property of the blockchain, it can also prevent a single point.Of failure [14]- [17].Hence this research proposes the Verification of Ph.D. Certificate using QR Code on Blockchain Ethereum.Some issues have been detected in the existing method of certificate verification.Firstly, there is always a time delay in the manual certificate verification method [18]- [20].Sometimes, it took days, even weeks, considering the list of people who wanted to verify their certificates.That i s probably one of the reasons why some employers did not bother to verify their future employees' certificates.Thus, this problem can be solved by using blockchain Ethereum technology [21], [22].On blockchain Ethereum, there is a program that is a smart contract.The user will interact with it by submitting the certificate and executing a function defined on the smart contract.Hence, therefore the process will be efficient and not time-consuming.
Next, the issue is when the user is required to upload the certificate [21], [23]- [25] instead of inputting the information about the user's certificate, such as the name of the institution, course name, and year of graduation.If there is a typo or incorrect information that is detected by the system, the user cannot edit the information.This makes the security of altering the information is weak.Hence, the proposed system will require the user to input every piece of information instead of uploading their certificate to avoid future problems.
Finally, their ways of keeping the certificate's record are ineffective [26].Some systems did not encrypt or hash the information after entering the record.Furthermore, the data is not permanent.It indicates that third parties can modify the information in the record.However, with the suggested technology, which is Blockchain Ethereum, the data stored on the blockchain is immutable and safe.This is because all information stored on the blockchain cannot be altered, is irreversible, and hashed.
In Blockchain-Based Certificate Verification using Ethereum and Smart Contract study, the decentralized certificate verification application on the Ethereum Blockchain [18] is developed.It is being chosen since this blockchain technology is immutable, traceable, tamper-proof, encrypted, and more secure.The study stated that problems such as fake certificates and double spending could be eliminated using blockchain technology.The study used smart contracts to interact with the blockchain and ipfs to encrypt the hash value of each certificate that will be stored in the blockchain.According to the study, blockchain highlights existing issues relevant to educational institutes and finds appropriate blockchain features that could solve them.
In Certificate Validation using Blockchain [10] created an Android application to provide secure certificate verification.Graduation certificates and transcripts now contain information that can be easily tampered with illegally and made available to third parties, according to the study.As a result, an efficient mechanism that can ensure the information in such certificates is original, that is, the document originated from a reliable and authorized source and is not forged, is required.Aside from that, the study stated that using blockchain will provide more security and accurate and reliable information.The application that been developed operates in offline mode, allowing the certificate to be validated quickly.
In Proposing a Reliable Method of Securing and Verifying the Credentials of Graduates through Blockchain study, Reddy et al. [20] used blockchain technology to create a platform for storing and verifying student credentials in this study.When a certificate is added to a block, it will return a unique certificate ID, including the student Aadhar card number which serves as a primary key.Since the certificate ID is unique, both the student and the company will use to verify the authenticity of the certificate and whether the certificate provided by the student is genuine or not.Aside from that, each student's Aadhar card number will make it easier for the verifier to verify each student's certificate individually.Unfortunately, every time a certificate is added, the certificate authority must pay an Ethereum gas value.As a result, the miners will be able to contribute to the addition of blocks to the blockchain.
Xie et al. [27] proposed a scheme for developing a decentralized certificate system based on blockchain technology and smart contracts.The blockchain certificate system is being developed to provide blockchain certificate services for college students' innovation and entrepreneurship competition.The authors stated in this study that some of the certificate's functions are management, issuing, verification, and revocation, which are realized through smart contracts.
In A Blockchain-Based Verification System for Academic Certificates study, Gaikwad et al. [28] combined Blockchain and web-app to create a high-end product with a secure, fast, and reliable network, a powerful OCR, and an interactive interface.Once committed, the network on which the data is stored will keep the data intact.The verifier can begin the verification process by uploading the document, after which the OCR will work on it and extract the text data.Following that, the data will be hashed and stored in the blockchain.If any hash matches the hash of the data, the certificate is real; otherwise, the certificate is a forgery.
The novelty of the proposed system lies in several key aspects:

1) Adoption of Blockchain Technology:
The research proposes leveraging blockchain technology, specifically the Ethereum blockchain, to manage and verify degree certificates.By utilizing a distributed and tamper-proof blockchain network, the system aims to enhance the security and immutability of certificates, making forgery more difficult.

2) Integration of Smart Contracts:
The proposed system utilizes smart contracts, which are self-executing contracts with predefined rules and conditions.Smart contracts enable the automation of the verification process and ensure smooth operations without the need for third-party intervention.
3) QR Code Tagging: Each certificate is tagged with a QR code, enabling third parties, such as employers or other universities, to scan and verify the authenticity of the certificates in real-time.This provides a convenient and efficient method for verification, reducing the reliance on manual processes and paperwork.

4) Immutable Certificate Records:
The research emphasizes the immutability of information stored on the Ethereum blockchain.Once a certificate is added to the blockchain, it cannot be altered or modified, ensuring the integrity and reliability of the certificate records.This feature enhances the security of the system and reduces the risk of unauthorized modifications.

II. MATERIALS AND METHOD
This section will discuss the development of the web-based system and its component.

A. Blockchain Ethereum
Ethereum is a distributed public blockchain network that focuses on running the programming code for any decentralized application [29], [30].Simply said, it is a global platform for exchanging information that cannot be altered or modified.The blockchain, which functions as a public database, is continually updated, and shared across a network of computers.The data will be stored in "blocks."As a result, because many people will utilize the system, all the information will be saved together in the blocks with the help of the "chain."The data in the block cannot be changed in any manner.
Moreover, this project uses HTML/CSS, PHP, and JavaScript computer languages to create a web-based system.Once created, it will use Meta Mask to communicate with the Ethereum blockchain.These three pieces of software are linked with the aid of Meta Mask, which also has a smart contract deployed in it, to effectively develop a Ph.D. certificate verification on the Ethereum blockchain.
All transactions in this project are immutable [31]- [33] since the Ethereum blockchain is being used.It signifies that information cannot be changed after it has been added or altered.As a result, hacking is practically difficult.In addition, the procedure is considerably quicker than human verification because of blockchain transaction automation.This project primarily focuses on one of the issue statements in question.
Aside from that, the Ethereum blockchain has three times as many nodes for transaction verification as Bitcoin and all transactions are cryptographically secure.The blockchain of Ethereum has been running for more than three years, and it has since been shown to be a reliable platform.It implies that the user may trust the blockchain to store all their data.In this case, the user-submitted certificate information will be securely stored in the Ethereum blockchain.

B. QR Code
A QR Code will be produced each time a certificate is uploaded to the Ethereum blockchain.The QR Code's variable, qrImage, is kept in the database and is accessible to users via the "generate QR Code" page when they need to download the QR Code.The user's download folder will then get the QR Code in PNG format.The source code for the QR Code, which contains the user's certificate number, is shown in Figure 1.It is written in PHP programming and is automatically generated whenever a user submits a certificate.

C. SHA-256
All the certificate's data, excluding the certificate number, will be hashed using SHA-256 when the user uploads or updates their certificate.The certificate number is not hashed since a QR code will be created using it later.The "verify certificate" page will then translate the created QR Code containing the certificate number.The isValidCertificate() function will then be used to verify whether the certificate is valid or a fake based on the certificate number.The source code for the hashing of the data when it is submitted or updated by the user is shown in Figures 2 and 3, respectively.Fig. 2 A source code to hash the plaintext after the user submits a certificate Fig. 3 A source code to hash the plaintext after the user updates a certificate

D. Add Certificate Interface
The interface for the add certificate page is shown in Figures 4 and 5. Users must enter their certificate information here before clicking the "add" button.The message "You are connected to Ethereum blockchain" means that the web-based system interacts with the Ethereum blockchain and is ready to be utilized for adding certificate.Moreover, the source code required to enter data into the Ethereum blockchain is seen in Figure 6.The user will get the message "Certificate already exists."if the certificate number is already in use.The user-provided certificate information will be saved in MySQL and the Ethereum blockchain after submission (using the source code in Figure 7).It will be saved in MySQL immediately after the user clicks the "submit" button.However, a transaction must be completed for the certificate to be put on the Ethereum blockchain.The procedure of adding a certificate is successful if the user clicked "Accept" and the transaction was successful.The pushContractInfo() function in Figure 8 is utilized because, as was previously indicated, a transaction is required for the additional certificate to be successful.Fig. 6 The source code for data insertion Fig. 7 The source code for the form to get input from the user Fig. 8 The function to push the data into the blockchain

E. Generate QR Code Interface
Figures 9 show the interface for generating QR codes.User has to enter their certificate number and click on the "Generate QR Code" button.If the certificate number exists, the QR Code will appear in Figure 10 and ready to be downloaded by clicking the "Download QR Code" button.
Fig. 9 The interface for generate QR Code Fig. 10 The interface for generate QR Code (continue) Fig. 11 The source code after the user clicked "submit" button Fig. 12 The source code after the user clicked "download" button

F. Update Certificate Interface
The user may easily update their certificate on this website if the certificate number remains the same.Because the certificate number serves as the PRIMARY KEY, it must be unique, and no two users can have the same certificate number.Other details can be modified and updated as long as the certificate number remains the same.Figures 13 and 14 shows the interface for the update certificate page.The message "You are connected to Ethereum blockchain" means that the web-based interacts with the Ethereum blockchain and is ready to be used for updating the certificate.Fig. 13 The interface for update certificate Fig. 14 The interface for update certificate (continue) Figure 15 displays the source code executed following a user's click on the "submit" and the "update" button.The source code in this case resembles adding certificate source code somewhat.The pushContractInfo() method will push the revised certificate onto the blockchain in hashed form using SHA-256.It is for upgrading the certificate, though, and it is for updating the certificate.Other than that, if the certificate number is different from what was previously submitted, the user cannot amend the information on their certificate.
Aside from that, the JavaScript source code that is used to send the amended certificate data into the blockchain is seen in Figure 16.As previously noted, SHA-256 will be used to hash all certificate information other than the certificate number.
Fig. 15 The source code after the user clicked "submit" button Fig. 16 The source code to push the updated certificate details into the blockchain

G. Delete Certificate Interface
The interface for deleting a certificate is shown in Figures 17 and 18.The user must provide their certificate number here to erase their certificate from the blockchain.After that, the user may validate the generated QR code that they downloaded when they added their certificate in the added certificate interface to see if the certificate number is still valid on the blockchain.Fig. 17 The interface for delete certificate Fig. 18 The interface for delete certificate The action is taken when a user clicks the "delete" button as seen in Figure 19.The certificate number must be removed from both the MySQL and Ethereum blockchain databases since they are both used by the web-based system for this project.While the pushContractInfo() function is used to push the required certificate number onto the blockchain and get erased, the select function is used to remove the desired certificate number from the MySQL database.The pushContractInfo() function is seen in Figure 20 and is used to push the certificate number into the Ethereum blockchain and request that it be erased.The source code needed by the user to begin scanning the downloaded QR Code is displayed in Figure 23.A certificate number will appear once the QR code has been read.However, the certificate number is read-only coded, thus the user cannot change it.The certificate number will then be pushed into the blockchain to be verified, as seen in Figure 24, once the user clicks the "verify" button.In this PHP code, the pushContractInfo() function is used.The source code to put the certificate number into the blockchain is then shown in Figure 25.If the certificate number is valid, the message "Certificate is valid" will show; otherwise, the message "Certificate is fake" will appear.Fig. 23 The JavaScript for QR code scanner Fig. 24 The source code to scan the QR code Fig. 25 The source code to push the certificate number into the Ethereum blockchain

I. Smart Contract: addCertificate function
This function (Figures 26 and 27) that acts as a program in the blockchain to add the certificate into the blockchain.Every variable is declared again with underscore (_) for each of them.The certificate can be added into the blockchain if this program is successfully executed.

K. Smart Contract: deleteCertificate function
This function (Figures 29 and 30) will delete the certificate when the user enters the certificate number.For this program, there is no need to put the whole certificate details only it is to be deleted then.

L. Smart Contract: isValidCertificate function
This function (Figure 31) is important because it will verify the originality of the certificate that is kept in the blockchain.If the certificate number that the user enters is exist in the blockchain, then it means that the certificate is valid.Else, it means the certificate is never stored in the blockchain thus it also means that the certificate is fake.

A. User Testing
In conclusion, in user testing result, the verification system has successfully passed all the checklist statements, indicating the successful implementation and functionality of the various components.In Part A, the user can add a certificate, and Meta Mask prompts for transaction approval, ensuring secure interactions.The transaction is successful, and the certificate number is stored in the smart contract on Remix IDE Ethereum.Duplicate certificate numbers are detected, and the user receives a message indicating that the certificate already exists.

Checklist Statement Pass Fail Part A: Add Certificate
The user can click the add button.
 Meta Mask asked permission to accept or reject the transaction.


The transaction is successful.
 The certificate number exists in the smart contract on Remix IDE Ethereum.


The user will receive a message "Certificate is already exist" if the user entered the same certificate number that is stored in the blockchain.


Part B: Generate QR Code  The user can enter their certificate number. The user can see the generated QR Code after the user clicked "Generate QR Code" button.


The user can download the QR Code after the user clicked "Download" button.


The user can see the generated QR Code after it is successfully downloaded.


The user can update a certificate without changing the certificate number.


Meta Mask asked permission to accept or reject the transaction.


The transaction is successful.
 The hashed data that the user has updated is successfully updated in the smart contract on Remix IDE Ethereum.

Part D: Delete Certificate
 The user can enter the certificate number in the form.


The delete certificate page is refreshed when the user clicked on the submit button.

Part E: Verify Certificate
 The user can scan the QR code using their camera.


The certificate number is displayed on the 

Checklist Statement
Pass Fail certificate number form.The user can click on the Verify button. The message "Certificate is valid" or "Certificate is fake" appears right after the Verify button is clicked.


In Part B, the user can generate a QR code by entering the certificate number, view it, and download it.Part C enables certificate updates without changing the certificate number, with Meta Mask requesting transaction approval and successful updates recorded in the smart contract.In Part D, users can delete certificates by entering the certificate number, refreshing the delete certificate page upon submission.Lastly, Part E allows users to verify certificates by scanning the QR code, displaying the certificate number, and clicking the Verify button.The system promptly responds with a message indicating whether the certificate is valid or fake.Overall, the verification system has effectively fulfilled all the requirements and offers a robust solution for validating Ph.D. certificates using QR codes on the Ethereum blockchain.

B. Scenario Test Plan
The scenario test plan results indicate a successful execution of all the specified tasks.In Part A, the certificate is successfully added to the database and blockchain, with the certificate (excluding the certificate number) being hashed using SHA256 before storage.The user is able to click the submit button without any issues.In Part B, the certificate is successfully updated in the database and blockchain, ensuring that the hashed data is also updated accordingly.


The user be able to click the submit button.

 Part B: Update Certificate
The certificate is successfully updated into the database and blockchain.


The hashed data is updated for both in the database and blockchain.


The user can click the update button.
 Part C: Generate QR Code The generated QR Code appears after the user clicked "Generate QR Code" button.


The user can download the generated QR Code.

 Part D: Delete Certificate
The certificate is successfully deleted from the database and blockchain.


The user can click the delete button.

 Part E: Verify Certificate
The user can open their camera after they allow the camera permission.


The user can interpret the certificate number that is contained in the QR code.


The user can check the originality of the certificate and valid or fake message.


The user can click the update button as expected.In Part C, the generated QR code appears as intended after the user clicks the "Generate QR Code" button, and the user is able to download the generated QR code without any complications.Part D demonstrates the successful deletion of the certificate from both the database and blockchain, and the user can click the delete button without any difficulties.Lastly, in Part E, the user can open their camera after granting camera permission, interpret the certificate number contained in the QR code accurately, and check the originality of the certificate along with the corresponding valid or fake message.Overall, the scenario test plan yielded positive outcomes, indicating that the system functions as intended, ensuring the successful addition, update, generation, deletion, and verification of Ph.D. certificates using QR codes on the Ethereum blockchain.

IV. CONCLUSION
To conclude the research, the verification of Ph.D. certificate using QR code on Ethereum blockchain is successfully developed by using Solidity language for its smart contract, PHP, HTML/CSS for the implementation of web-based system and its functionality, Meta Mask that acts a blockchain and Remix IDE software to deploy the smart contract.Certificate verification is a successful project and can be verified in less than one hour if the Meta Mask has the ether to make a transaction.Also, that certificate verification is fast, user-friendly, and can be sent by whoever needs to verify a Ph.D. certificate.
Consideration should be given to exploring the scalability of the system and its potential for adoption by other educational institutions beyond the scope of this research.Addressing scalability challenges will be vital to ensure that the system can efficiently handle a large volume of certificate verification requests while maintaining optimal performance.Also, the system should be designed to address privacy concerns and ensure robust data protection.Exploring encryption techniques and privacy-enhancing technologies will be crucial in safeguarding sensitive student data while preserving the transparency and verification capabilities of the blockchain system.
However, further refinement of the user experience aspects of the system is necessary.This entails focusing on interface design, usability considerations, and incorporating user feedback or conducting usability testing to ensure the system is intuitive, user-friendly, and accessible for all stakeholders involved in the certificate verification process.Besides, exploring the feasibility and challenges associated with integrating the proposed blockchain-based certificate verification system with existing infrastructure and systems used by universities, employers, or other relevant parties is essential.Addressing interoperability concerns and highlighting potential benefits of seamless integration will facilitate efficient collaboration and utilization of the system across various platforms and entities.

Fig. 1 A
Fig. 1 A source code for generating QR Code once the certificate added

Fig. 4
Fig. 4 The interface for add certificate

Fig. 19
Fig.19 The source code for the function to select the certificate number from the Ethereum blockchain

Fig. 21
Fig. 21 The interface for QR Code scanner

Fig. 31
Fig. 31 isValidCertificate function on smart contract III.RESULTS AND DISCUSSION Part C: Update Certificate  The user can update a certificate. No QR Code is generated right after the user clicked on the submit button.