Certificate Generation Using Blockchain Report-1
Certificate Generation Using Blockchain Report-1
BLOCKCHAIN TECHNOLOGY
Submitted in partial fulfillment of the requirements
for the award of
Bachelor of Engineering degree in Computer Science and Engineering
By
SCHOOL OF COMPUTING
SATHYABAMA
INSTITUTE OF SCIENCE AND TECHNOLOGY
(DEEMED TO BE UNIVERSITY)
Accredited with Grade “A” by NAAC
JEPPIAAR NAGAR, RAJIV GANDHISALAI,
CHENNAI - 600119
NOVEMBER - 2022
i
SATHYABAMA
INSTITUTE OF SCIENCE AND TECHNOLOGY
(DEEMED TO BE UNIVERSITY)
Accredited with ―A‖ grade by NAAC
Jeppiaar Nagar, Rajiv Gandhi Salai, Chennai – 600 119
www.sathyabama.ac.in
BONAFIDE CERTIFICATE
This is to certify that this Project Report is the bonafide work of Rakshith R (39110832)
and Saaim Sherif B S (39110863) who carried out the Project Phase-1 entitled
“CERTIFICATE VERIFICATION USING BLOCKCHAIN TECHNOLOGY” under my
supervision from June 2022 to November 2022.
Internal Guide
Ms. Nancy Kirupanithi. D
ii
DECLARATION
I, Rakshith R (Reg. No- 39110832), hereby declare that the Project Phase-1 Report
entitled “CERTIFICATE VERIFICATION USING BLOCKCHAIN
TECHNOLOGY” done by me under the guidance of Ms. Nancy Kirupanithi. D is
submitted in partial fulfillment of the requirements for the award of Bachelor of
Engineering degree in Computer Science and Engineering.
iii
ACKNOWLEDGEMENT
I convey my thanks to Dr. T. Sasikala M.E., Ph. D, Dean, School of Computing, Dr. L.
Lakshmanan M.E., Ph.D., Head of the Department of Computer Science and Engineering
for providing me necessary support and details at the right time during the progressive
reviews.
I would like to express my sincere and deep sense of gratitude to my Project Guide Ms.
Nancy Kirupanithi. D, for her valuable guidance, suggestions and constant encouragement
paved way for the successful completion of my phase-1 project work.
I wish to express my thanks toall Teaching and Non-teaching staff members of the
Department of Computer Science and Engineering who were helpful in many ways
for the completion of the project.
iv
ABSTRACT
Blockchain usually consists of collection of records called “Blocks”, These blocks are
cryptographically linked to each other by a chain. Each block consists of current hash
of the data, Cryptographic hash of previous block and timestamp.
It follows the technique of back linking blocks and its representation can be shown
using Merkle Tree. Every year a lot of people graduate from the universities due to
which a huge number of certificates are generated. These certificates are not
properly generated and there are lot of problem arises when it comes to authenticate
these certificates.
At present there is no such mechanism to generate the valid certificates. Hence, a lot
of certificates are forged every year and are being used to fulfill their job
requirements. To overcome this problem a decentralized web application is built that
registers the certificate on Ethereum blockchain and a smart contract to validate the
certificates on blockchain.
Once the data is entered by the user the details of certificates are pushed on
Ethereum blockchain using hashing. Using this generated hash, we can generate the
certificate.
Chapte Pag
TITLE
r No. e
v
No.
ABSTRACT v
1 INTRODUCTION 8
LITERATURE SURVEY
2 13
2.1 Inferences from Literature Survey
3 REQUIREMENTS ANALYSIS 18
3.1 Feasibility Studies/Risk Analysis of the Project
3.2 Software Requirements Specification Document
vi
FIGURE FIGURE NAME Page No.
NO
4.1 System Architecture 27
LIST OF FIGURES
CHAPTER 1
INTRODUCTION
There was a substantial amount of movement in both the wholesale and retail pricing of
onions throughout the course of the preceding year in the Indian state of Maharashtra. The
price per kilo skyrocketed from Rs. 26 at the beginning of the year to an incredible Rs. 50
by the end of the month of August. Due to the fact that they noticed a spike in the price of
the item, a sizeable number of ranchers in the state made the decision to cultivate onions on
their homesteads in the hope of increasing the amount of money they brought in from their
livestock operations. The proliferation of mobile devices, along with advances in
information technology and broad access to the internet, have had a tremendous impact on
the manner in which people conduct their lives today. The use of virtual money, which
refers to digital coins that were initially established for use on the internet, has started to
become prevalent in the real world. This phenomenon can be explained by the fact that
virtual currency was initially developed for use on the internet. Bitcoin, Ether, and Ripple
are three of the most well-known cryptocurrencies that fall within this category [2]. People
are beginning to pay attention to blockchain technology, which is the fundamental
component of these game-changing cryptocurrencies. Blockchain technology is at the heart
of bitcoin and other cryptocurrencies. The blockchain is a type of distributed ledger
technology that features an immutable database that is accessible from several locations and
has the potential to be used to a wide range of various uses. Blockchain is short for
"blockchain database," which refers to a sort of distributed database that is gaining more and
more traction as a method of documenting individual transactions. The transaction in
question will be added to a block that already has records of several other transactions as
soon as a consensus has been established among the various nodes. This block currently
contains records of several other transactions. In order to facilitate connections between
blocks, each block has a storage location for the hash value of the most recent equivalent
block. Distributed databases, such as blockchain, are gaining an ever-increasing amount of
traction [1]. Blockchain is one example of this type of database. The act of storing
information is known as distributed data storage, and it requires that the information be
dispersed across a number of different nodes. As a direct result of this, the nodes operate as
a cohesive unit to maintain the database. In a distributed ledger system, a block will not be
recognized as authentic until it has been validated and sanctioned by a number of distinct
entities. Additionally, the data that is included within blocks is immutable, meaning that it
8
cannot be changed in any way. For instance, the utilization of a blockchain to facilitate the
execution of smart contracts results in a system that is more reliable due to the fact that it
eradicates any concerns regarding the precision of the information.
The blockchain technology makes available a database that is both decentralized and
incorruptible, and it has the potential to be used for a wide variety of applications. It is a
decentralized network that has the potential to have millions of members located in different
regions all over the world. Users of the peer-to-peer (P2P) network have the ability to
generate records that cannot be altered and to engage in financial transactions with one
another. This technology is also known as the write-once, append-many technology, and the
only way it can be updated is once it has obtained the agreement of all of the members that
are part of that network. This is the only way it can be updated. Every user has the ability to
add new information to the Blockchain, and all of the data that is saved on the Blockchain is
encrypted to protect it from unauthorized access. Blocks are a convenient way to organize
the records that make up a transaction ledger. This block will have an impact on the block
that is generated after it as a result of the usage of a cryptographic hashing algorithm. When
a block is completed, it generates a unique hash code that is then connected to the block that
follows after it, therefore establishing a chain of blocks. This process continues until the
chain is complete. Following the completion of the validation process for a piece of data, the
data is then compiled into a block, which must then be added to the chain. The information
that it conveys is there permanently on the network, which means that it cannot be modified
or wiped in any way. The information that it carries cannot be changed or erased in any
way. In order to make it easier for users to share and exchange data with one another, a
public blockchain will feature ledgers that are managed in an unattended fashion. A private
or permissioned ledger that can be utilized by the firm to centrally administer their own
transactions and that can be utilized either within the company or between companies. There
is no way to get around the security measures. It is necessary for the transaction to receive
consensus from all of the nodes in the network before it can be regarded valid. If someone is
able to break into one computer system, then it is imperative that they break into the rest of
the computer systems as well. As a direct consequence of the rapid progress that has been
made in information technology over the course of the most recent few years, the security of
one's data is currently of greater significance than it has ever been. The manipulation of data
has become a key worry for national security in the modern world. As shown in figure 1, a
substantial number of events involving falsified certificates have occurred in recent years.
Some of these incidents occurred in recent years. Within the scope of this research project, a
9
Blockchain-based certification system was developed with the intention of resolving the
issue in question. The Blockchain is an ideal system for the storage of data, regardless of
whether the data is meant to be static, such as in the case of a registry, or dynamic, such as
in the cases of transactions, registration, and distribution. This is because the Blockchain can
store both types of data with equal ease. Because these data are recorded in an array
sequence to one another, modifying one data set will require modifying all of the history
records on every single node, which will result in the data set becoming immutable. Because
these data are recorded in an array sequence to one another, modifying one data set will
require modifying all of the history records on every single node. As a direct consequence of
this, the system exhibits an exceptionally high level of dependability.
Our team came up with the idea for a decentralized application as well as a blockchain-
based certificate system, both of which have been put into action. The selection of this
technology was based on its properties of being indestructible, encrypted, and trackable in
addition to having the ability to synchronize data. The implementation of the fundamental
characteristics of Blockchain technology into the solution results in an increase in the
overall efficiency of the processes at each level. The solution eliminates the need for paper,
saves money on administrative costs, lowers the risk of documents being falsified, and
provides information that is reliable and accurate in relation to digital certificates.
Satoshi Nakamoto is credited as being the first person to publicly propose the concept of a
blockchain in the year 2008. The blockchain is a distributed online ledger that makes it
possible to share data in a manner that is both decentralized and open to public scrutiny.
Before being added to the various blocks of a distributed recording system, each and every
piece of transaction data that is saved in the nodes of that system undergoes compression.
As a result of the fact that data of various types have been partitioned off into their own
blocks, it is possible to conduct verifications without the participation of any intermediaries.
After that, each of the nodes contributes a timestamp to the blockchain that is being created
by the others. The data that is stored in each block can be validated concurrently once it has
been entered, after which it will no longer be possible to alter it in any way. The public can
view the entire process in its entirety, and the procedure's security and reliability will not be
compromised in the process. The introduction of Ethereum Smart Contracts in 2013 gave a
huge push to the development of blockchain technology, which eventually evolved into
blockchain 2.0. This was due to the fact that Ethereum Smart Contracts provided a platform
for smart contracts. As can be seen in Figure 1, the necessity to address difficulties
10
connected to decentralized payments and currency was the key impetus behind Bitcoin's
adoption of blockchain 1.0. This requirement was met by the development of Bitcoin.
Blockchain 2.0 was developed with the intention of decentralizing the whole market; it does
this through the utilization of smart contracts. This contributes to the creation of value by
enabling the development of blockchains that are complementary to Bitcoin's.
A distributed and decentralized database is one example, and blockchain technology is one
such example. During the course of this study, a new system was developed, and in order to
better understand how it works, I have outlined its operational methods below: Both the
conferring of a degree certificate and the entry of the student's information into the relevant
database falls under the purview of the educational institution. After that, the student's serial
number that was just captured by the system is immediately added to a blockchain that is
being instantly updated. The certificate system validates each individual piece of
information to ensure that it is correct. Electronic certificates that include a quick response
(QR) code are now being given out by schools to graduates whose data have been checked
successfully and found to be accurate. In place of the time-honored practice of handing out
printed copies of diplomas, this is now the standard procedure. Each student also receives an
inquiry number and an electronic file of the graduate's certificate after graduation. Graduates
need merely email the target employers the serial number or certificate along with a QR
code when they are seeking for jobs. The application process is significantly simplified as a
result of this change. The businesses then learn from the system whether or not the serial
numbers have been confirmed after submitting queries to the database. As a result of the QR
code, they are in a position to establish whether or not the certificate has been tampered with
or whether or not it is a fake.
By utilizing its very own custom blockchain, the system introduced a novel approach to the
generation of dynamic certificates. This new way was supplied to users. The very first
student is the one who will have to use the website to submit their application for an
electronic certificate and upload all of their previous academic work. Validation of all
papers originating from educational institutions such as schools, universities, and colleges is
performed by the online portal, which acts as a third party that is both authorized and
trusted. The information will be added to the blockchain as soon as it has been confirmed
without error by the educational institution (university, school, or college). It will return the
student's one-of-a-kind certificate id or QR code at the same time that it generates it for the
11
student. Instead of providing a real hard copy of the documents, the student need just supply
the organization with the QR code or certificate id that they have obtained after completing
the course. The organization can provide a QR code or id to the portal, at which point the
site can pool the electronic certificates of each individual student and authenticate them. The
organization can supply either of these. The entire process was carried out by utilizing a
smart contract that was designed by us, and it was put into action by utilizing the technology
that underpins blockchain. In order to test how well the proposed system protects against a
range of network attacks, such as DOS and MiM, it will be put through its paces in an
environment that could prove to be hazardous. This will also allow us to analyze and
validate the system's level of effectiveness. In the system that is being proposed, a dynamic
QR code as well as a one-of-a-kind certificate will be produced for each individual student's
document. The data e-certificates are saved in a secure manner within the blockchain, which
contributes to the increased safety. According to the technology behind smart contracts, it is
also feasible to make modifications throughout the entirety of the blockchain. In this piece
of study, a bespoke blockchain generation on an open source platform was offered.
CHAPTER 2
LITERATURE SURVEY
blockcerts aim to make life easier for students, but they may be enhanced to better serve
academic institutions. To address these three drawbacks of blockcerts, we provide the
docschain below. By processing over paper copies of diplomas, Docschain fits in without
disrupting the established procedure for awarding diplomas.blockchain-enabled degree
verification system that fits into current process. It verifies current degrees can validate
degree papers, degree issuing institutions may keep data from docschain accepts bulk
degrees. Docschain supports degree granting institutions, verifiers, and both Institute alumni
and graduates
[2] A. Chowdhary, S. Agrawal and B. Rudra, "Blockchain based Framework for Student
Identity and Educational Certificate Verification," 2021 Second International Conference on
12
Electronics and Sustainable Communication Systems (ICESC), 2021.
The blockchain may authenticate academic qualifications. Identifying the learner promotes
safety. We check a student's ID and diploma hashes to those on the blockchain to guarantee
their legitimacy.A mechanism for authenticating academic credentials using the blockchain
has been established. Additionally, it increases safety by confirming the identity of the
learner.
[4] S.K. Shawon, H. Ahammad, S. Z. Shetu, M. Rahman and S. Akhter Hossain, "DIUcerts
DApp: A Blockchain-based Solution for Verification of Educational Certificates," 2021 12th
International Conference on Computing Communication and Networking Technologies
(ICCCNT), 2021
13
Library study is one of the earlier applications of the strategies utilized in previous scholars,
and the purposes of those academics must be continued if the protection scheme that utilizes
this Block chain technology is to be safeguarded. This paper investigates a suggested
mechanism for certifying completion certificates using Blockchain Technology. After
acquiring the transaction data, Off-Chain checks the transaction and returns the hash to
DApps to search for files, located files, and confirmed files.
[6] Afrianto and Y. Heryanto, "Design and Implementation of Work Training Certificate
Verification Based On Public Blockchain Platform," 2020 Fifth International Conference on
Informatics and Computing (ICIC), 2020
InterPlanetary File System reliably transmits certificates between nodes (IPFS). The studies
confirmed that certificate information and accompanying files may be securely maintained on
Ethereum's public blockchain and IPFS. Distributed and public blockchain protects certificate
data against forgery. A blockchain-based data storage and certificate verification system was
constructed based on this research. A smart contract may operate as a go-between between
the system and IPFS during data storage and validate the certificate document's authenticity
using the metamask wallet's hash identity.
[7] O. S. Saleh, O. Ghazali and N. B. Idris, "A New Decentralized Certification Verification
Privacy Control Protocol," 2021 3rd International Cyber Resilience Conference (CRC), 2021
[8] N. Malsa, V. Vyas, J. Gautam, A. Ghosh and R. N. Shaw, "CERTbchain: A Step by Step
Approach Towards Building A Blockchain based Distributed Appliaction for Certificate
Verification System," 2021 IEEE 6th International Conference on Computing,
14
Communication and Automation (ICCCA), 2021
Intelligent contract Certi uses Sublime Text3 and Remix Ethereum to store certificates.
Employers or admissions teams may validate the authenticity of stored certificates using Certi
smart contract. Blockchain technology is transparent, therefore the same data can be copied
certbchain is introduced. Work also details how to develop a blockchain-based
certificate verification software. Five-stage paper. Designing, creating, importing,
constructing, and testing a smart contract; integrating Dapp components (ceertbcahin);
interfacing front end with chain using Metamask.Certi keeps certifications. Completed
contract functional testing. Deployment-time variables Admin, send to account, iphash,
details, and active. This matches contract testing So, Certi works.
Private blockchain index and public blockchain documents are encrypted. Encrypted index
locates encrypted content. This technique minimises blockchain storage and enhances data
security. We employ a smart contract to construct a secondary verification access control
mechanism and restrict data users' access to the private blockchain through authorization to
secure data privacy and access control verification accuracy. Cloud-based SE is traditional.
Server-searching. Study Decentralized blockchain addresses original's problems User and
server maliciousness. PPSE doesn't need the DO or third-party results transmission, unlike
earlier systems. Check. Blockchain storage Immutable data. Private blockchain with
outsourced public blockchain contains encrypted documents and encrypted data.
Experimental safety analysis requirements, The prototype’s results validate Our plan.
15
information and a Blockchain module to transfer and validate Blockchain data.
From the above-mentioned literature works, it is clear that the research work in the
blockchain field to hire people is new and relatively few.
Blockchain technology can be used in all contexts where a decentralized system is
necessary in order to ensure the involvement of many people in the same network
and guarantee full transparency and reliability between people who do not know
each other. Therefore, blockchain technology is not only useful for creating digital
currencies or new financial technologies but can be applied for a wide variety of
applications, such as protection systems of digital identity, the provenance of
documents, organizational data management, and digital and physical assets.
16
CHAPTER 3
REQUIREMENT ANALYSIS
FEASIBILITY STUDY
The feasibility of the project is server performance increase in this phase and a
business proposal is put forth with a very general plan for the project and some cost
estimates. During system analysis, the feasibility study of the proposed system is to
be carried out. For feasibility analysis, some understanding of the major
requirements for the system is essential.
Three key considerations involved in the feasibility analysis are
● Economical feasibility
● Technical feasibility
● Operational feasibility
ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will have on
the organization. The amount of funds that the company can pour into the research
and development of the system is limited. The expenditures must be justified. Thus
the developed system as well within the budget and this was achieved because most
of the technologies used are freely available. Only the customized products had to
be purchased.
TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. Any system developed must not have a high demand on
the available technical resources. This will lead to high demands being placed on the
client. The developed system must have modest requirements, as only minimal or
null changes are required for implementing this system.
OPERATIONAL FEASIBILITY
The aspect of the study is to check the level of acceptance of the system by the user.
This includes the process of training the user to use the system efficiently. The user
17
must not feel threatened by the system, instead must accept it as a necessity. The
level of acceptance by the users solely depends on the methods that are employed
to educate the user about the system and to make him familiar with it. His level of
confidence must be raised so that he is also able to make some constructive
criticism, which is welcomed, as he is the final user of the system
Hardware specifications:
Microsoft Server enabled computers, preferably workstations
Higher RAM, of about 4GB or above
Processor of frequency 1.5GHz or above
Software specifications:
Python 3.6 and higher
Anaconda software
18
CHAPTER 4
WORKING PROCESS
19
entire educational history is easy process to eliminate such consuming
tasks. Dynamic QR-code and unique certificate generation for each
students document in proposed system.
The generation page takes three parameters they are Roll no, Year and
Stream. Once user presses the generate button the data will be pushed
on to the smart contract. Once the smart contract receives data from
20
generation page it generates a unique hash and the data is pushed into
the Ethereum blockchain. We are using test ether[14] to perform
transaction because original ether cost 2.4lakh INR. When the data is
pushed the transaction log will be automatically pushed into the Ropsten
testnet
The verification page takes one parameter i.e. unique hash. Whenever
the user wants to validate the certificate he sends a search query along
with the generated hash address. The GET request goes to Ropsten API
and a JSON is returned. We process the JSON and will check whether
the hash is present in the transaction log or not. If found in the
transaction log FOUND is returned else NOT FOUND is returned.
Algorithm-
public Rollno
uint year
public course
modifier(year<=4)/*returns a statement to enter number less
than 4*/
function setColCerti()
emits Certificate
end function
function getColCerti()
21
returns /*parameters*/
end function
end procedure
● Modifiers
Modifiers are like check constraints. for validating inputs. The
modifiers in this algorithm checks whether the year is less than 4 or
not as the engineering course is only for four years.
● getColCerti()
22
Libraries and Framworks Used
The right blockchain framework to run our project is one of the most
basic and important things to think about.
1)VS CODE:
2)REACT JS:
23
3)ETHEREUM:
Metamask
24
4.2 ARCHITECTURE / OVERALL DESIGN OF PROPOSED SYSTEM
25
Fig 4.1: System Architecture
26
models as it works well with popular tools including TensorFlow, Scikit-Learn, and
Theano. You can create visualizations by using Bokeh, Holoviews, Matplotlib, and
Datashader while using Anaconda.
Now that we have discussed all the basics in our Python Anaconda tutorial, let’s
discuss some fundamental commands you can use to start using this package
manager.
Listing All Environments
To begin using Anaconda, you’d need to see how many Conda environments are
present in your machine.
conda env list
It will list all the available Conda environments in your machine.
Creating a New Environment
You can create a new Conda environment by going to the required directory and use
this command:
conda create -n <your_environment_name>
You can replace <your_environment_name> with the name of your environment.
After entering this command, conda will ask you if you want to proceed to which you
should reply with y:
proceed ([y])/n)?
On the other hand, if you want to create an environment with a particular version of
Python, you should use the following command:
conda create -n <your_environment_name> python=3.6
Similarly, if you want to create an environment with a particular package, you can use
the following command:
conda create -n <your_environment_name>pack_name
Here, you can replace pack_name with the name of the package you want to use.
If you have a .yml file, you can use the following command to create a new Conda
environment based on that file:
conda env create -n <your_environment_name> -f <file_name>.yml
We have also discussed how you can export an existing Conda environment to a .yml
file later in this article.
27
Activating an Environment
You can activate a Conda environment by using the following command:
conda activate <environment_name>
You should activate the environment before you start working on the same. Also,
replace the term <environment_name> with the environment name you want to
activate. On the other hand, if you want to deactivate an environment use the
following command:
conda deactivate
28
conda env export ><file_name>. yml
The person you want to share the environment with only has to use the exported file
by using the ‘Creating a New Environment’ command we shared before.
Deleting an Environment
Sometimes, you don’t need to add a new environment but remove one. In such
cases, you must know how to delete a Conda environment, which you can do so by
using the following command:
conda env remove –name <env_name>
The above command would delete the Conda environment right away.
29
.
REFERENCES: -
30
Technology: An Exhaustive Study," 2021 Sixth International
Conference on Informatics and Computing (ICIC), 2021
31