Professional Documents
Culture Documents
BACHELOR OF TECHNOLOGY
IN
INFORMATION TECHNOLOGY
(2019 - 2023)
BY
1
CERTIFICATE
This is to certify that it is a bonafide record of Major Project work entitled “Blockchain based solution
for verification of educational certificates” done by D.K.Saketh (19241A12D6), K Raghavendra Rao
(19241A12E6), Surabi Anirudh (19241A12C1), Rohith Kumar (20245A1216) students of B.Tech(IT)
in the Department of Information Technology, Gokaraju Rangaraju Institute of Engineering and
Technology during the period 2019 - 2023 in the partial fulfilment of the requirements for the award of
degree of BACHELOR OF TECHNOLOGY IN INFORMATION TECHNOLOGY from GRIET,
Hyderabad.
(Project External)
2
ACKNOWLEDGEMENT
We take immense pleasure in expressing gratitude to our Internal guide Dr. Prasanna Lakshmi Kompalli,
Professor and Dean Academics, Information Technology, GRIET. We express our sincere thanks for her
encouragement, suggestions and support, which provided the impetus and paved the way for the successful
completion of the project work.
We wish to express our gratitude to Dr. N. V. Ganapathi Raju, Head of the Department and our Project
Co-coordinators Mr. G. Vijender Reddy Associate Professor and L. Sukanya Assistant Professor G.
Prashanthi Assistant Professor, for their constant support during the project.
We express our sincere thanks to Dr. Jandhyala N Murthy, Director, GRIET, and Dr. J. Praveen,
Principal, GRIET, for providing us the conductive environment for carrying through our academic
schedules and project with ease. We also take this opportunity to convey our sincere thanks to the teaching
and non-teaching staff of GRIET College, Hyderabad.
3
DECLARATION
This is to certify that the project entitled “Blockchain based solution for verification of educational
certificates” is a bonafide work done by us in partial fulfilment of the requirements for the award of
the degree BACHELOR OF TECHNOLOGY IN INFORMATION TECHNOLOGY from
Gokaraju Rangaraju Institute of Engineering and Technology, Hyderabad.
We also declare that this project is a result of our own effort and has not been copied or imitated from
any source. Citations from any websites, books and paper publications are mentioned in the
Bibliography.
This work was not submitted earlier at any other University or Institute for the award of any degree.
Anirudh 19241A12C1
4
TABLE OF CONTENTS
4
\
4 Collaboration Diagram 23
5 Modules involved 26
6 User Module 26
7 System Module 27
5
ABSTRAC
T
1
1. INTRODUCTION
These essential credentials play a vital role in an individual’s life, and a secure
and efficient process for issuing and sharing them is essential. The use of
blockchain technology can provide a secure and tamper proof solution for
these critical documents, ensuring that they remain trustworthy and valuable
throughout an individual’s lifetime.
Now we know what the problem is and one solution for this problem is using
blockchain. Blockchain, in simple words it is a list of records, called blocks
which are linked with each other using cryptography. Cryptography, it is
basically a collection of techniques using which a secure communication can
be made between two parties. I believe by now everyone is aware of Bitcoin
(BTC)
2
which is a cryptocurrency (digital currency) which came to all-time rise when a
3
single. BTC would have a value of $60,000+(April 2021). It can be used to
buy products and services but holds all the sales record in an online ledger
with a strong cryptography to secure all the transactions.
Spending some ether from their accounts fills this petrol tank. In order to
prevent infinite loops in the coding, the Ethereum network restricts the amount
of gas that is available.
Using this motivation, an idea of making such application for sharing student
credentials which is decentralized and secure, fast, and validate each credential
in a form of transaction in Ethereum blockchain is proposed. All the stake
holders will be able to communicate with each other securely in a manner of
transaction in the blockchain network. For this DApp (Decentralized
Application) we have stakeholders in the form of Schools, Students who will
be registered in a school they are enrolled in, faculty members who will also
be registered with a school they are employed in, Recruiters who can see the
list of schools in the network and the students in each of the school. However,
we don’t want just any recruiter to be able to access a student’s information, so
we can add in the agreement a access request requirement which a recruiter
sends to a student asking if they can access their data and once allowed then
only its accessible to that particular recruiter.
Blockchain Features
Blockchain technology has several important features that make it useful for a
wide range of applications beyond just cryptocurrencies. Here's what they mean:
Immutability: Once data is recorded on the blockchain, it cannot be changed or
deleted. This means that the information stored on the blockchain is permanent and
cannot be altered, providing a high level of security and trustworthiness.
6
7
1. REQUIREMENT ENGINEERING
8
2. LITERATURE SURVEY
Research has been in progress to identify the fake documents and certificates,
both paper and digital form. In this digital era, there is no proper method to
curtail fake degrees by securing the marks memos on a tamperproof platform
and verifying them digitally using unique ID. In this paper, a method is
proposed to store, secure, and verify the credentials of graduates through
blockchain technology.
There have been a few studies on using a blockchain based architecture in
education system which dictates the benefits and challenges of using a
blockchain based credential issuing/sharing system which could be easily
accessible, verifiable, faster, and cost effective
10
As the Online of Vehicle (IoV) research trend continues, the privacy and security
of each internet automobile has become a hot topic. This study aims to reduce the
cost and improve the security of certifying documents, such as graduation
certificates. The focus of this study is on a specific area called the Vehicle Public
Key Infrastructure (VPKI). The VPKI is responsible for issuing and managing
certificates for vehicles, such as cars, trucks, and other modes of transportation.
The proposed solution uses Blockchain technology to make the process of
issuing and managing certificates more secure and cost-effective. The solution
uses activation codes that are tied to the time a vehicle is considered "non-
revoked" to validate the certificate. This means that if a vehicle is no longer in
use, its certificate can be removed from the system to save costs.
[3] Design and Implementation of Work Training Certificate Verification Based
On Public Blockchain Platform 1st Irawan Afrianto Informatics Engineering
Department, 2nd Yayan Heryanto Informatics Engineering Department
The purpose of this research is to develop a secure and efficient system using
blockchain technology for storing job training certificates. By using public
blockchain, the certificates are protected from being forged or altered. Smart
contracts are utilized to create data blocks that are added to the Ethereum
blockchain network. The certificate files are stored in a distributed environment
called Inter Planetary File System (IPFS), which provides secure and quick
access. The research showed that certificate data can be safely stored on
Ethereum public blockchain and supporting files on IPFS.
[4] Efficient Distributed Admission and Revocation using Blockchain for
Cooperative ITS Noureddine Lasla∗, Mohamed Younis§, Wassim Znaidi∗ and
Dhafer Ben Arbia∗ ∗Qatar Mobility Innovations Center (QMIC), QSTP, Doha,
Qatar.
The Cooperative Intelligent Transportation System (CITS) is an innovative
technology that enables vehicles to communicate with each other, enhancing
road safety. However, ensuring secure communication remains a significant
challenge in the research community. The existing solutions for inter-vehicle
11
communication security mostly rely on digital certificates' authentication.
However, the computation required for such verification is highly expensive and
imposes significant overhead on vehicles, and the validation must be performed
within a specific time frame. Moreover, depending on a central node for
certificate issuance and revocation may create a single point of failure, risking
motorist safety To address these challenges, this study proposes using blockchain
technology to maintain distributed and immutable records of each vehicle's
certificate, whether it is valid or revoked. This approach replaces certificate
verification with a lightweight blockchain-based authentication solution.
Additionally, the study proposes a fully distributed method for vehicle admission
and revocation. The findings demonstrate that this technique can reduce
computational overhead and improve performance, making it a promising
solution for inter-vehicle communication security.
[5] Cerberus: A Blockchain-Based Accreditation and Degree Verification
System Aamna Tariq∗ , Hina Binte Haq, Syed Taha Ali‡ School of Electrical
Engineering and Computer Sciences (SEECS), National University of Sciences
and Technology (NUST), Islamabad, Pakistan.
Fake certificates are a big problem and the usual way of checking them takes a
lot of time and is expensive. This study proposes a solution that uses blockchain
technology to verify identity, which is faster and more efficient. It also has a
system to revoke certificates if they are fake. The system is easy to use and does
not require special skills. A prototype has been created and it has features like
data privacy, verifying transcripts, and sharing data only with those who need to
see it.
12
.
13
3. TECHNOLOGY
Blockchai
n:
Miners validate transactions and group them together in a new block, which
is then added to the distributed ledger. Each block is cryptographically sealed,
making it tamper-proof and ensuring the security of the system. The database
used in blockchain is distributed and records the various transactions that occur
within the system.
Each block carries the hash value of its previous counterpart, which creates a
link between blocks and forms a blockchain. The hash value ensures that any
changes made to the previous block will be reflected in the hash value of the
current block. This makes it nearly impossible to tamper with any previous
14
transactions, as doing so would require changing the hash values of every
subsequent block.
15
The fundamental principle of blockchain is to have a distributed ledger that is
used to keep track of individual transactions. These transactions are validated
by different nodes within the network and are finalized using consensus
algorithms, such as permissionless or permissioned consensus algorithms. In a
permissionless system, anyone can join the network and participate in the
validation process. In a permissioned system, only authorized participants can
validate transactions.
Ethereum
Ethereum is a technology that uses a special type of database called a
blockchain to store and manage information. It allows people to create and run
applications that work without a third party. This technology also has its own
digital currency called ether, and it can be used to create smart contracts, which
are computer programs that automatically execute the terms of a contract.
Solidity
Solidity is a programming language used to create smart contracts on the
Ethereum blockchain. Smart contracts are like digital agreements that
automatically enforce rules and handle transactions. Solidity is similar to other
16
programming languages like C++, Python, and JavaScript, and allows
developers to create complex contracts with advanced features. With Solidity,
you can create
17
contracts for various purposes like voting, crowdfunding, auctions, and digital
wallets. It's important to use the latest version of Solidity when creating
contracts because it has new features and bug fixes.
PYTHON
Python could be a backend programming dialect that’s extraordinary for
apprentices. Python is comparative in many ways to Ruby but is less wordy
than other programming dialects - a small less wordy. Python is congenial.
Indeed, if you haven’t taken a CS lesson, you'll still compose a valuable
apparatus in Python. It’s high-level, so you don’t have to bargain with the
lower-level angles of programming such as memory management. Python can
be utilized for scripting, web scratching, and making information sets. It’s
popular in the scientific community for logical computing; there are libraries
that make it easy to share academic code ventures in Python. Python could be
a web programming dialect, so it interfaces with the web. It knows how to get
and send web demands and conversation to databases. Python is said to be
“loosely typed”. This category of programming dialects doesn’t require you to
state the type of esteem a work returns after you characterize the work or the
sort of variable you recently created.
Smart Contract
Private Smart Contract
Permissioned blockchains have become increasingly popular in the industry as
they offer an efficient way to conduct business transactions within a closed
network of stakeholders. This is achieved by using a private blockchain with a
limited number of participants, unlike a public blockchain, where the cost of
validation can be significantly high due to the energy spent on the consensus
process for proof of work. Private blockchains can be efficient when the
number of nodes is small, and the transactions are faster.
18
The consensus process used in public and private blockchains differ significantly.
19
Proof of work and proof of stake are the consensus algorithms used in public
blockchain, while private blockchain uses other consensus algorithms. IBM
has developed a range of blockchain development environments for business
services, such as Hyperledger fabrics, Hyperledger composer, Hyperledger
Indy, and Hyperledger Sided. The members of the Hyperledger Fabric are
permitted blockchain networks that participate in the development of the
Hyperledger Fabric. The member organizations in the network are responsible
for assigning peers to network participants. Additionally, each peer in the
network is certified by a certificate authority.
20
4. DESIGN REQUIREMENT ENGINEERING
Concept of UML :
UML DIAGRAMS:
1) School: First the School administrator registers on the website by signing up. So,
when he logs in, the website checks whether the details are correct and allows him
to access it. Then the school administrator Enrolls the students. Then he uploads
the Certificate credentials. He can also view these certificates. The process is
ended.
2) Company: First the Company administrator registers on the website by signing up.
He does this with the help of the school administrator. When he logs in he can send
the request access to the student and also view all these access requests.
3) Student: The student logs in with the help of id that is given by the school
administrator while enrolling the student. He logs in and can check the certificates
he received. He can also check the access requests from companies. He can
approve or disapprove them, So, these are all the activities that a student can do in
the website.
21
School:
Yes NO
Company:
Yes NO
22
Student:
Yes NO
23
Use case diagram:
There are four actors in this use case diagram. They are school, Company,
Student and Database. The school will enroll students, Upload certificate
credentials, View students. The Company will send access requests, access
certificates. The student will access his/her certificates, View Access requests.
24
Class diagram:
25
Object diagram:
An object diagram is a type of diagram that shows the state of a software system at a
particular moment in time. It represents the objects in the system as they exist and
interact with each other at that moment. In software development, a class is like a
blueprint for creating objects. An object, on the other hand, is an instance or a copy
of that blueprint. So, if a class is a recipe for making a cake, an object would be an
actual cake made using that recipe.
26
State diagram:
First the user opens the application. Then he signs up on the website. After signing
up he logs on to the website. If the user is a School. He enrolls the students, uploads
the certificate credentials, and views the students. If the user is a company, he sends
access requests and access certificates of various students. If the user is a student. He
accesses his/her certificates and views access requests sent by various companies.
27
Activity diagram:
28
decisions that occur in the system to achieve a specific goal.
An activity is a task or action that takes place in the system, and it can be represented by
a rounded rectangle in the diagram. An action is a specific task that is performed during
an activity, and it can be represented by a rectangle in the diagram.
Sequence diagram:
29
Collaboration diagram:
30
5. IMPLEMENTATION
6.1. MODULES:
The proposed architecture for the secure sharing of students' credentials is
developed using several technologies including Ethereum, MetaMask, Web3.js,
Next.js, and IPFS. The DApp is designed for three different types of stakeholders,
namely school, student, and company, each having a distinct set of functionalities
and restrictions. The DApp utilizes different dashboards for each stakeholder to
provide these functionalities and restrictions.
The school dashboard allows for the addition of new students to the list of
registered students as well as the uploading of login information for registered
students. An IPFS hash value is returned when a credential is uploaded. This hash
value is sent to Ethereum along with the credential's metadata, making sure that
only the intended student can see it. There are three options available on the
student dashboard: viewing the uploaded credentials, viewing the access requests
submitted by businesses, and approving credentials after reviewing access
requests. The company dashboard enables sending access requests, viewing
credentials after students grant access, and viewing the list of schools and students
enrolled under a chosen school.
32
1) School Signup: using this module all schools can be signed up with the
application and get username and password and all these details will be stored at
Blockchain Ethereum server. Schools can login to application and then can
ENROLL new students and can upload and access their certificates
2) Company Signup: using this module company can signup with the application
and then login and then send access certificate request to students and after
granting permissions company can access student certificates
3) Student Login: by using student ID student can login to application and then can
grant permission to requested companies and can access and view own details and
certificates.
6.2. Algorithm:
A hash function is a mathematical algorithm that takes an input string of any length
and transforms it into a fixed-length output, which is called a hash. The fixed length
output can vary depending on the hash function used. Hash functions are widely used
in cryptography or digital signatures, data integrity checks, and authentication.
33
In contrast to encryption algorithms, where you can decrypt the message back to
its original form using a key, with a hash function, once you generate a hash, you
cannot reverse it back to the original message. This makes it an irreversible
process.
34
35
36
37
38
39
40
41
42
6. SOFTWARE TESTING
TYPES OF TESTS
43
Functional test
Functional tests are designed to check if the software functions as expected
according to the requirements, system documentation, and user manuals. These
tests check if the software can handle valid inputs and reject invalid inputs,
perform the required functions, produce the expected outputs, and work well
with interfacing systems or procedures. To prepare for functional tests, testers
need to identify the business process flows, data fields, and predefined processes
to be tested. They also need to check if the current tests are effective and if
additional tests are needed. Overall, functional testing helps ensure that the
software meets the expected business and technical requirements.
System Test
System testing is the process of testing the entire software system to make sure
it meets all the requirements and works as expected. This type of testing is used
to ensure that the final product is fully functional and meets the needs of its
users. It focuses on how different parts of the system work together, and tests
are designed to make sure that all components are integrated properly, and that
the software behaves as expected in various scenarios. An example of system
testing could be testing the software configuration to ensure that it works as
expected, and that all parts of the system are linked and integrated correctly.
44
standards.
45
Black Box Testing
Black box testing is a way of testing software where the tester doesn't know
anything about how the software was made or how it works inside. The tester
uses a list of instructions or requirements to test the software, like a recipe to
make a cake. The tester checks if the software does what it is supposed to do,
without worrying about how it was made or what is inside it.
Unit Testing
Unit testing is a way of testing individual parts, or "units," of a software
program to make sure they work correctly. This testing is usually done by the
same person who wrote the code. Field testing is testing the software in real-
world situations. It's done by people who are not involved in writing the code.
The objectives of testing are to make sure that all the data that's entered into the
program is handled correctly, all the links in the program work as they should,
and there are no delays or errors in the program's responses. The features that
will be tested are whether data is entered correctly, whether there are any
duplicates, and whether all the links take the user to the right place.
The test strategy for this particular software includes manual field testing and
detailed functional testing. The objectives of the tests are to ensure that all field
entries are functioning properly, pages are activated correctly from the identified
links, and that the entry screen, messages, and responses are not delayed.
To achieve these objectives, the following features will be tested:
These tests will help to identify any issues with the software early in the
development process, allowing developers to address them before the software
46
is
47
released to the
public. By isolating the individual components and testing them thoroughly, unit
testing can improve the overall quality and reliability of the software
application.
Integration Testing
Software integration testing is a type of testing that checks if different parts of a
software system work well together. It's like putting together puzzle pieces to
see if they fit and work as a whole. The goal is to find any issues that may arise
from different parts of the system interacting with each other.
48
7. RESULTS
This figure shows about the webpage of Secure Sharing of Student’s Credentials
49
This figure shows about details about the Secure Sharing of Student’s Credentials .The
Home page and Student Login page is visible. We enter the details of School and
Students here.
50
Here signing up of Students’ and after signing up we can see that “School Login
51
Successful”.
Here we enroll the students and details of the students filled here. The students details
such as Students’ name and id etc can be filled. The Certificates also can be upload
52
using this page. If anyone wants to update then they can update.
53
Students can view the details using this.
54
55
Here company signup using this web url.
56
Company can see the details of Students. If any details found relavant to them
then they can ask request for viewing the students credentials.
57
Here Students can view the details of request to them.
58
59
Here after giving access to the Company, Company can able to see their
credentials.
After successful access company can decide that whether the student can get
offer or not.
60
8. CONCLUSION AND FUTURE ENHANCEMENTS
The paper proposes a way to securely share students' academic records using a
blockchain system. They created a digital application to test the system's performance,
including costs and speed. The authors plan to improve the system in the future by
adding privacy features in addition to security measures.
61
9. BIBLIOGRAPHY