0% found this document useful (0 votes)
49 views

Certificate Generation Using Blockchain Report-1

Uploaded by

Saaim Sherif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

Certificate Generation Using Blockchain Report-1

Uploaded by

Saaim Sherif
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 31

CERTIFICATE VERIFICATION USING

BLOCKCHAIN TECHNOLOGY
Submitted in partial fulfillment of the requirements
for the award of
Bachelor of Engineering degree in Computer Science and Engineering

By

RAKSHITH R (Reg. No - 39110832)


SAAIM SHERIF B S (Reg. No – 39110863)

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

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

DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

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

Head of the Department


Dr. L. LAKSHMANAN, M.E., Ph.D.

Submitted for Viva voce Examination held on

Internal Examiner External Examiner

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.

DATE: 26-10-2022 Rakshith. R

PLACE: Chennai SIGNATURE OF THE CANDIDATE

iii
ACKNOWLEDGEMENT

I am pleased to acknowledge my sincere thanks to Board of Management of


SATHYABAMA for their kind encouragement in doing this project and for completing it
successfully. I am grateful to them.

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

LIST OF FIGURES viii

1 INTRODUCTION 8

LITERATURE SURVEY
2 13
2.1 Inferences from Literature Survey

2.2 Open problems in Existing System

3 REQUIREMENTS ANALYSIS 18
3.1 Feasibility Studies/Risk Analysis of the Project
3.2 Software Requirements Specification Document

4 DESCRIPTION OF PROPOSED SYSTEM 20

4.1 Selected Methodology or process model


4.2 Architecture / Overall Design of Proposed System
Description of Software for Implementation and Testing
4.3
plan of the Proposed Model/System
4.4 Project Management Plan
4.5 Financial report on estimated costing (if applicable)
4.6 Transition/ Software to Operations Plan (as applicable)
REFERENCES

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

[1] T. Imam, Y. Arafat, K. S. Alam and S. A. Shahriyar, "DOC-BLOCK: A Blockchain


Based Authentication System for Digital Documents," 2021 Third International Conference
on Intelligent Communication Technologies and Virtual Mobile Networks (ICICV), 2021

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.

[3] S. Rasool, A. Saleem, M. Iqbal, T. Dagiuklas, S. Mumtaz and Z. u. Qayyum, "Docschain:


Blockchain-Based IoT Solution for Verification of Degree Documents," in IEEE
Transactions on Computational Social Systems, 2020.

We introduced a blockchain-enabled degree verification system that fits into current


process.It can check both presently granted and previously awarded degrees, and degree
granting institutions may keep numerous degrees' data in docschain. docschain serves all
degree processing stakeholders, including degree granting institutions, degree verifiers, and
alumni and present graduating students. Institutions may upload the data of many degrees
at once to docschain, and the system verifies both currently awarded degrees and degree
papers issued to date. docschain serves institutions that award degrees, third-party verifiers,
and past and current graduates.

[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

DIUcerts is an Ethereum Blockchain-based decentralised educational certificate verification


tool. The initial aim of this study was attained by implementing and developing DApp.results
of the proposed DApp on the Ethereum Ropsten Test Network, which is the same as
Ethereum's main network. This paper eliminates the intermediary in certificate verification
.
[5] A. Pambudi, S. Purnama, T. Ayuninggati, N. P. Lestari Santoso and A. Oktariyani,
"Legality On Digital Document Using Blockchain Technology: An Exhaustive Study," 2021
Sixth International Conference on Informatics and Computing (ICIC), 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

Proposal: Decentralized Certification Verification Privacy Control Protocol. The suggested


protocol may be used to issue and validate educational credentials while protecting network
and data privacy. Hyperledger Fabric and JavaScript were used to construct the decentralised
solution. This study showed Blockchain's utility for authenticating educational
credentials. This research examined the challenges of adopting blockchain in education.
Privacy was a major issue with blockchain certificate verification. Privacy and secrecy prove
the certificate's identity and information are protected. Decentralized Credential Verification
Privacy Control Protocol

[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.

[9] R. Du, C. Ma and M. Li, "Privacy-Preserving Searchable Encryption Scheme Based on


Public and Private Blockchains," in Tsinghua Science and Technology 2023

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.

[10] H. Gaikwad, N. D’Souza, R. Gupta and A. K. Tripathy, "A Blockchain-Based


Verification
System for Academic Certificates," 2021 International Conference on System, Computation,
Automation and Networking (ICSCAN), 2021
Academic credentials might be verified using Blockchain. With Ethereum, DApps, and Smart
contracts, scalable and cost-effective solutions may be created to eliminate overhead and
make document verification effortless. Proposed solution is a web app with a front-end for
registering and seeking verification and a backend with an OCR module to extract certificate

15
information and a Blockchain module to transfer and validate Blockchain data.

2.1 INFERENCES FROM LITERATURE SURVEY

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.

2.2 OPEN PROBLEMS IN EXISTING SYSTEM

 The image-based document generation has lot of problems on image


compatibility
 The normal encryption and decryption methods are vulnerable to the data
attacks

16
CHAPTER 3

REQUIREMENT ANALYSIS

3.1 FEASIBILITY STUDIES/RISK ANALYSIS OF THE PROJECT

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

3.2 SOFTWARE REQUIREMENTS SPECIFICATION DOCUMENT

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

DESCRIPTION OF PROPOSED SYSTEM

4.1 SELECTED METHODOLOGY OR PROCESS MODEL

Managing training certificates is an important issue in research that can


lead to serious issues if not addressed properly. For institutions that
currently do not have a dedicated management system for these training
certificates, a central database is the most typical solution. However,
such a system suffers from several risks, such as a single-point-of-
failure. We developed a decentralized application and designed a
certificate system based on Blockchain. This technology was selected
because it is incorruptible, encrypted, and track able and permits data
synchronization. By integrating the features of Blockchain, the system
improves the efficiency of operations at each stage. The system saves
on paper, cuts management costs, prevents document forgery, and
provides accurate and reliable information on digital certificates.

WORKING PROCESS

Blockchain is a decentralized distributed database. In this research to


design and develop a system for dynamic and secure e certificate
generation system using smart contract in blockchain environment. In
this work we also illustrates own blockchain in open source environment
with custom mining strategy as well as smart contract. Finally validate
and explore system performance using consensus algorithm for proof of
validation. Educational documents verification is very tedious and time-
consuming process in real time environment. ECertificate generation for

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 working processes of the system developed in this study are


as follows: Schools grant a degree certificate and enter the
student’s data into the system.

● Next, the system automatically records the serial number of the


student in a blockchain.

● The certificate system verifies all the data.Instead of sending


conventional hard copies, schools grant ecertificates containing a
quick response (QR) code to the graduates whose data have been
successfully verified.

● Each graduate also receives an inquiry number and electronic file


of their certificate.

● When applying for a job, a graduate simply sends the serial


number or certificate with a QR code to the target companies. The
companies send inquiries to the system and are informed if the
serial numbers are validated.

● The QR code enables them to recognize if the certificate has been


tampered with or forged.

Module 1: Generating a Certificate

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

Module 2: Verification and Validation

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-

● Certificate Validator: It allows the user to verify the certificate.

● Procedure: CONTRACT certificate validator.

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()

The function getColCerti() returns inputs from the certificate when


they are requested by the user. The function setColCerti() takes
inputs and checks whether the year is less than 4 or not. Later it
also checks whether the owner is performing the transactions or
not. If all the checks are true the inputs are emitted via JSON-RPC
and the API catches the data.

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:

Visual Studio Code is a streamlined code editor with support for


development operations like debugging, task running, and version
control. It aims to provide just the tools a developer needs for a quick
code-build-debug cycle and leaves more complex workflows to fuller
featured IDEs, such as Visual Studio IDE. The code of the editor is
completely Open Source, and there's no payment required to use it. It
uses Electron as its base, which enables it to be cross platform and work
on Mac, Windows and Linux. It's built using Node. js, and you can extend
it using JavaScript (which makes it a win for all us JavaScript developers

2)REACT JS:

React is a library for building composable user interfaces. It encourages


the creation of reusable UI components, which present data that changes
over time. Lots of people use React as the V in MVC. React abstracts
away the DOM from you, offering a simpler programming model and
better performance. React can also render on the server using Node,
and it can power native apps using React Native. React implements one-
way reactive data flow, which reduces the boilerplate and is easier to
reason about than traditional data binding.

23
3)ETHEREUM:

Ethereum is a blockchain platform with its own cryptocurrency, called


Ether (ETH) or Ethereum, and its own programming language, called
Solidity. As a blockchain network, Ethereum is a decentralized public
ledger for verifying and recording transactions. Its cryptocurrency is now
second only to Bitcoin in market value. It is the fuel that runs the network.
It is used to pay for the computational resources and the transaction fees
for any transaction executed on the Ethereum network. Like Bitcoins,
ether is a peer-to-peer currency. Apart from being used to pay for
transactions, ether is also used to buy gas, which is used to pay for the
computation of any transaction made on the Ethereum network.

Metamask

Metamask acts as a bridge between websites and the Ethereum


blockchain. The smart contracts in the blockchain check to see if the
node in the network can access that data or not. When a local blockchain
network is built, Metamask wallet can take care of the nodes. Metamask
is a cryptocurrency wallet that can be added to Google Chrome. It is a
way to communicate with the Ethereum blockchain. Metamask is used to
store Ethereum accounts. It is safe and easy to use, and can also be
used to deploy to the main Ethereum networks.

24
4.2 ARCHITECTURE / OVERALL DESIGN OF PROPOSED SYSTEM

25
Fig 4.1: System Architecture

4.3 DESCRIPTION OF SOFTWARE FOR IMPLEMENTATION AND TESTING PLAN


OF THE PROPOSED MODEL/SYSTEM

Anaconda is an open-source package manager for Python and R. It is the most


popular platform among data science professionals for running Python and R
implementations. There are over 300 libraries in data science, so having a robust
distribution system for them is a must for any professional in this field. Anaconda
simplifies package deployment and management. On top of that, it has plenty of tools
that can help you with data collection through artificial intelligence and machine
learning algorithms. With Anaconda, you can easily set up, manage, and share
Conda environments. Moreover, you can deploy any required project with a few clicks
when you’re using Anaconda. There are many advantages to using Anaconda and
the following are the most prominent ones among them: Anaconda is free and open-
source. This means you can use it without spending any money. In the data science
sector, Anaconda is an industry staple. It is open-source too, which has made it
widely popular. If you want to become a data science professional, you must know
how to use Anaconda for Python because every recruiter expects you to have this
skill. It is a must-have for data science.
It has more than 1500 Python and R data science packages, so you don’t face any
compatibility issues while collaborating with others. For example, suppose your
colleague sends you a project which requires packages called A and B but you only
have package A. Without having package B, you wouldn’t be able to run the project.
Anaconda mitigates the chances of such errors. You can easily collaborate on
projects without worrying about any compatibility issues. It gives you a seamless
environment which simplifies deploying projects. You can deploy any project with just
a few clicks and commands while managing the rest. Anaconda has a thriving
community of data scientists and machine learning professionals who use it regularly.
If you encounter an issue, chances are, the community has already answered the
same. On the other hand, you can also ask people in the community about the issues
you face there, it’s a very helpful community ready to help new learners. With
Anaconda, you can easily create and train machine learning and deep learning

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.

How to Use Anaconda for Python

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

Installing Packages in an Environment


Now that you have an activated environment, you can install packages into it by
using the following command:
conda install <pack_name>
Replace the term <pack_name> with the name of the package you want to install in
your Conda environment while using this command.

Updating Packages in an Environment


If you want to update the packages present in a particular Conda environment, you
should use the following command:
conda update
The above command will update all the packages present in the environment.
However, if you want to update a package to a certain version, you will need to use
the following command:
conda install <package_name>=<version>

Exporting an Environment Configuration


Suppose you want to share your project with someone else (colleague, friend, etc.).
While you can share the directory on GitHub, it would have many Python packages,
making the transfer process very challenging. Instead of that, you can create an
environment configuration .yml file and share it with that person. Now, they can
create an environment like your one by using the .yml file.
For exporting the environment to the .yml file, you’ll first have to activate the same
and run the following command:

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.

Removing a Package from an Environment


If you want to uninstall a package from a specific Conda environment, use the
following command:
conda remove -n <env_name><package_name>
On the other hand, if you want to uninstall a package from an activated environment,
you’d have to use the following command:
conda remove <package_name>

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.

4.4 PROJECT MANAGEMENT PLAN

Introduction: September 1-30

Literature Survey: October 1-31

System Design: November 1-30

System Implementation: December 1-31

Testing: January 1-30

29
.

REFERENCES: -

[1] I. T. Imam, Y. Arafat, K. S. Alam and S. A. Shahriyar, "DOC-


BLOCK: A Blockchain Based Authentication System for Digital
Documents," 2021 Third International Conference on Intelligent
Communication Technologies and Virtual Mobile Networks (ICICV),
2021

[2] A. Chowdhary, S. Agrawal and B. Rudra, "Blockchain based


Framework for Student Identity and Educational Certificate
Verification," 2021 Second International Conference on Electronics
and Sustainable Communication Systems (ICESC), 2021.

[3] S. Rasool, A. Saleem, M. Iqbal, T. Dagiuklas, S. Mumtaz and Z. u.


Qayyum, "Docschain: Blockchain-Based IoT Solution for Verification
of Degree Documents," in IEEE Transactions on Computational Social
Systems, 2020.

[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

[5] A. Pambudi, S. Purnama, T. Ayuninggati, N. P. Lestari Santoso


and A. Oktariyani, "Legality on Digital Document Using Blockchain

30
Technology: An Exhaustive Study," 2021 Sixth International
Conference on Informatics and Computing (ICIC), 2021

[6] I. 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

[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,
Communication and Automation (ICCCA), 2021
[9]R. Du, C. Ma and M. Li, "Privacy-Preserving Searchable Encryption
Scheme Based on Public and Private Blockchains," in Tsinghua
Science and Technology 2023

[10] H. Gaikwad, N. D’Souza, R. Gupta and A. K. Tripathy, "A


Blockchain-Based Verification System for Academic
Certificates," 2021 International Conference on System, Computation,
Automation and Networking (ICSCAN), 2021

31

You might also like