Blockchain
Blockchain
A PROJECT REPORT
Submitted by
DINDIGUL - 624622
APRIL 2023
PSNA COLLEGE OF ENGINEERING AND TECHNOLOGY,
(An Autonomous Institution Affiliated to Anna University, Chennai)
DINDIGUL-624622
BONAFIDE CERTIFICATE
Certified that this project report “MONEY VAULT USING BLOCKCHAIN” is the
bonafide work of “ARUL BATHRA M - (921319104023), DHANUSH KUMAR.S -
(921319104038), GOKUL KRISHNA J - (921319104043), HARIHARAN.S -
(921319104049)” who carried out the project work under my supervision.
SIGNATURE SIGNATURE
Dr.D.SHANTHI, M.E., Ph.D., Mrs.M.JAYANTHI,M.E.,
HEAD OF THE DEPARTMENT SUPERVISOR
ASSISTANT PROFESSOR
Department of Computer Science Department of Computer Science
and Engineering, and Engineering,
PSNA College of Engineering PSNA College of Engineering
and Technology, and Technology,
Dindigul – 624622. Dindigul – 624622.
With warm hearts and immense pleasure, we thank the Almighty for his grace and
blessings which drove us to the successful completion of the project. We would like to
express our gratitude towards our parents for their kind co - operation and encouragement
which helped me in completion of this project.
We take this opportunity to express our sincere thanks and gratitude to therespected
Chairperson Tmt. K. DHANALAKSHMI AMMAL, who is the guiding light for all the
activity in our college.We would like to express our deep gratitude to our Pro Chairman
Rtn.Thiru R.S.K RAGURAAM, D.A.E, M.Com, for their continuous support towards
the development of the students.
We would like to thank our Principal Dr. D. VASUDEVAN., M.E., Ph.D., for
being a beacon in guiding every one of us and infusing us the strength and enthusiasm to
work over successfully.
We express our sincere thanks to Dr. D. SHANTHI, M.E., Ph.D., Professor and
Head, Department of Computer Science and Engineering further valuable suggestions and
continuous encouragement in the completion of the project work.
This project would not have been possible without the motivation and guidance of
our project coordinator Dr. M. S. THANABAL, M.E., Ph.D., Professor and project guide
Mrs. M. JAYANTHI, M.E., Assistant Professor of the Department of Computer Science
and Engineering.
ABSTRACT
Cashless transaction like e-wallets which have various benefits like reduction in
black money, reduction in crime rates, helps in improving economic growth of the
country, helps in fighting against terrorism, attract more foreign investors. Blockchain
facilitates fast, secure, low-cost international payment processing services (and other
transactions) through the use of encrypted distributed ledgers that provide trusted real-
time verification of transactions without the need for intermediaries such as correspondent
banks and clearinghouses. Blockchain technology was initially used to support the digital
currency Bitcoin but is now being explored for various applications that don’t involve
bitcoin. For secure and reliable transaction we are using a package called KRYPT that
can perform various operations on blockchain, such as sending transactions, querying data
from smart contracts, and managing digital assets. The proposed system also provides
employees with greater over their information and salary details, as the information is
technology enables real time tracking and reporting of transactions, providing managers
iv
TABLE OF CONTENT
ABSTRACT iv
LIST OF FIGURES viii
LIST OF TABLES ix
LIST OF ABBREVIATION x
1 INTRODUCTION 1
1.1 OVERVIEW 1
1.2 BLOCKCHAIN 2
1.3 AIM 3
1.4 OBJECTIVE 3
1.5 SCOPE 3
2 LITERATURE SURVEY 4
3 SYSTEM ANALYSIS AND DESIGN 11
3.1 EXISTING SYSTEM 11
3.1.1. Cheque 11
3.1.2. Demand Draft 11
3.1.3. Online Transfer – Neft or Rtgs 11
3.1.4. Credit Card or Debit Card 12
3.1.5. E-Wallets 12
3.1.6. UPI apps 12
3.1.7. Unstructured Supplementary Service Data 12
3.1.8. Aadhaar Enabled Payment System 13
3.1.9. Disadvantages of Existing System 13
v
3.3.1 Economical Feasibility 15
3.3.2 Technical Feasibility 16
3.3.3 Social Feasibility 16
3.4 HIGH LEVEL DIAGRAM 16
3.5 SYSTEM DESIGN 17
3.5.1 UML Diagrams 18
3.5.2 Use case Diagrams 19
3.5.3 Class Diagrams 20
3.5.4 Architecture Diagram 20
4 MODULE DESCRIPTION 22
4.1 MODULE LIST 22
4.2 DATA FLOW DIAGRAM 25
5 SYSTEM SPECIFICATION 26
5.1. HARDWARE CONFIGURATION 26
5.4. LIBRARIES 27
5.4.1 Ethereum 27
5.4.2 React.Js 27
5.4.3 Express.Js 28
5.4.4 Sandbox API 28
6 IMPLEMENTATION AND TESTING 29
6.1 MODULE IMPLEMENTATION 29
6.1.1 Registration 29
6.1.2 Authentication 30
6.1.3 Transaction 32
6.2. TYPES OF TESTING 34
6.2.1 Unit testing 34
vi
6.2.1 Split testing 34
6.2.2 Linguistic-based testing 35
6.2.3 Integration Testing 35
6.2.4 Functional Testing 35
6.3. TESTCASES 36
6.4. RESULTS 37
7. CONCLUSION AND FUTURE WORK 40
7.1. CONCLUSION 40
7.2. FUTURE ENHANCEMENT 40
REFERENCES 41
vii
LIST OF FIGURES
viii
LIST OF TABLES
ix
LIST OF ABBREVIATION
BC Blockchain
P2P Peer-to-Peer
ETH Ethereum
x
CHAPTER 1
INTRODUCTION
1.1 OVERVIEW
1
both backend and the database so that the incurable interface is provided. The
completion of this phase makes the user to initialize the transaction as provided
by the UX of the user. This phase is initialized when the previous process is
completed. This comprises of the collective processing of the data provided and
the process of transacting and storing the transaction details in Ethereum space
called block. The process contains the verification of the both users and the
storage access towards the blockchain space. The server handles the maintenance
and the initialization of the database. The server returns the status of the
transaction when the transaction process is completed. The transaction status
determines the status of the process since it determines the endpoint. The user is
notified on the status of the transaction so that the user is always updated
whenever a transaction is generated.
1.2 BLOCKCHAIN
2
1.3 AIM
3
CHAPTER 2
LITERATURE SURVEY
1) Title : Systematic literature review on blockchain adoption
Banking
Author : Arun Khatri, Anjali Kaushik
Year : 2021
Description :
Blockchain has emerged as high impact disruptive technology and
surpassed most of the aggressive predictions in banking and finance domain. The
changing landscape in digital banking has forced the entire banking sector to look
at blockchain technology as future of transactions.[2] Blockchain is disrupting the
banking industry and contributing to the increased efficiency and speed in
banking. However, there exists a gap in research and development into block
chained processes in banking from an academic perspective, and this paper is an
attempt to put together the research work done in the field of blockchain adoption
in banking.
4
speed,security, transparency, and efficiency of financial transactions. For this
study, theauthors used secondary data. In the future, an empirical study might be
conductedto compare the development of Bitcoin technology in India to that in
other developing nations.
He affirms that financial institutions like UBS, ING, and NASDAQ, which
are researching the technology's potential, will be able to overcome remain are
5
researching the technology's potential, will be able to overcome the remaining
difficulties, not the least of which are security and regulatory concerns. Bitcoin's
underlying technology has the potential to be transformative. It has the potentialto
revolutionize practically every area of commerce and render conventional online
transactions obsolete. We have considered the blockchain as the memory of money.
We would want to explore that more, but that will have to wait for now. Can we utilize
this to replace current technology, whether it be for payments, transfers, or security?
Banks are deciding to switch to a real-time, round-the-clock payment system that
allows for instant payments as well as instant commerce. The debate over the best
technology to utilize presents an intriguing conundrum: should you choose a brand-
new, unproven, yet brilliant blockchain technology with everything within, or an
established system with databases? To examine the adoption of new technology
thoroughly, TAM must be used.
6
practical for banks to work with fintech companies like Ripple to gain more
access to the benefits of blockchain technology. For this investigation, it is
assumed that the acquired data are understandable, accurate, and somewhat
comprehensive. Finding a qualified expert to conduct an interview with about the
complete spectrum of the business model is challenging because the targeted
data's target audience is thought to be fairly diverse.
6) Title : Banking with blockchain-ed big data
7
7) Title : Blockchain Technology: Transforming Libertarian
Cryptocurrency Dreams to Finance and Banking
Realities
Author : Ittay Eyal
Year : 2017
Description :
He claims that bitcoin blockchain protocols, also known as distributed-
ledger technology, have a significant amount of potential value for the financial
technology (FinTech) industry (DLT). Blockchains' criteria and assurances for
crypto currencies, however, do not line up with those of FinTech in terms of
transaction throughput, security basics, and privacy. The writer investigates how
blockchain study further Bitcoin is bridging these gaps and overcoming some of
the remaining difficulties. In general, four levels may be found in blockchain
systems. At the top, the system customers can view an abstract representation of
the status of the system, such as a balance sheet that shows how much money is
in each account. A virtual machine layer that takes transactions and converts them
into state changes enables this abstraction.
8
future state designs should be developed by open communication with vendors
regarding their present and prospective product lines. Asset managers can reduce
risk by using technology that has already been tried and evaluated by a portion of
their peer group and using the scale and resources of an external supplier. As the
competitive field evolves to automation, the processing of complicated data, and
powerful AI tool-sets, these considerations will become more and more
significant components of an examination of future state choices. This essay
examines all cutting-edge technological advancements and provides arguments
for both innovation and stagnation.
9
10) Title : Investment Management and Financial
Innovations Author : Galyna Azarenkova Iryna Shkodina
Year : 2015
Description :
They focused on proposing the ways to reduce the negative impact of
financial technologies on financial system stability. The analysis of the financial
technologies impact on the stability of the financial system shows that the lack of
institutional support for new financial technologies is the most important catalyst
for the financial industry destabilization and the formation of financial bubbles in
various market segments. This paper considers the application of new technology
at a global level.
10
CHAPTER 3
SYSTEM ANALYSIS AND DESIGN
3.1.1. Cheque
The third simplest method for the cashless transaction is online transfer
using NEFT or RTGS. In order to do online money transfer, you need internet
banking facility. Online transfer using NEFT or RTGS is comparatively faster
than cheque or DD. Online transfer can be done from anywhere using internet
facility.
11
3.1.4. Credit Card or Debit Card
Credit card or debit card is another cashless payment method. The usage
of credit card and debit card was limited in India. However, usage of credit card
and debit card is increasing now because of demonetization. The limitation of this
payment method is an availability of swipe card facility (PoS) at merchant end.
3.1.5. E-Wallets
You can use USSD cashless option if you don’t have a smart phone or
internet connection. Unstructured Supplementary Service Data is mobile banking
service. From any mobile phone, you can dial *99# and use this service.
You can do all these things which are available to a person with
smartphones and internet connection.
12
3.1.8. Aadhaar enabled payment system
13
details like his name, his phone number, and PIN.
The Digital signature is used for secure transactions in which every client
has a couple of keys, the private key, and the open key. The sender node signs the
transaction and broadcasts it to other users. The receiver node will sign with his
private key to get the transaction details and also broadcast it to other users. A
proof of work consensus mechanism is used which requires all the nodes to
participate in the block generation and verification process[5].
The Web Wallet application contains five modules the Signup module,
Login module, charge a Card, Use an Existing Card, and Add a new card. The
square of every client with the hash evaluation of the square, Merkle root, the
nonce, hash estimation of the past square, and the time stamp appearing in a long
number is illustrated. The Merkle route which has the hash of a considerable
number of exchanges underneath will empower new clients to download the
exchanges. If a new user downloads the Blockchain and if the transactions are
broken during the download phase, the user can utilize the Merkle tree for
downloading the transactions. Proof of work consensus is reached here where a
transaction is validated by more than 51% of users in this peer-to-peer network.
By chronologically ordering the timestamps of the transactions, the double-
spending attack is carefully avoided, and thus forking of the chain is also
prevented. There is no such implementation of the Meta mask wallet in Web
Applications, so we have devised this method. Meta mask which is used for
validating transactions in permissionless blockchain (Ethereum) and
decentralized applications has not been implemented in mobile applications.
14
3.2.1 Advantages of proposed system
The ultimate goal of a blockchain is to store information, which makes it a
database. Blockchains only differ from other database types by the way they store
data. While blockchains can be considered a database, a database is typically not
a blockchain. Databases generally don't use signed blocks to store the data
The system would involve an analysis of the technical, economic, and social
aspects of the project to determine whether it is practical and viable. It would
involve a comprehensive analysis of the project's technical, economic, and social
feasibility, as well as an evaluation of the project's strategic fit within the
organization's goals and objectives. Based on the findings of the study, the
organization can make an informed decision on whether to proceed with the
project or explore other alternatives.
Economical Feasibility
Technical Feasibility
Social Feasibility
Traditional wallets have many drawbacks due to which blockchain wallets have
an edge over traditional wallets. Transactions are often slow in traditional banking
systems and have to pass through an intermediary which means that there is a single
central point of failure. There is an issue with keeping track of all the transactions, and
accounts, the data can get manipulated or even corrupted across multiple systems.
Blockchain wallets reduce all of these problems and hence make the transactions
secure and safe for the users.
16
Figure 3.1 High Level Diagram
The first component of the system design would be to choose the appropriate
blockchain platform for the money vault. This would involve selecting a blockchain
protocol that meets the specific requirements of the project, such as transaction
speed, scalability, and security. Some examples of blockchain platforms that could
be used include Ethereum, Bitcoin, or Hyperledger.
Also including the selection of the appropriate blockchain platform,
development and deployment of smart contracts, creation of a user interface and
wallets, implementation of security measures, integration with other financial
systems, and ongoing maintenance and support.
17
3.5.1 UML DIAGRAMS
18
6. Support higher level development concepts such as collaborations,
frameworks, patterns and components.
7. Integrate best practices
20
Figure 3.4 ARCHITECTURAL DIAGRAM
21
CHAPTER 4
MODULE DESCRIPTION
22
● Password
● Email
● Mobile Number
and then we have to select the user which we are going to transfer our money to
that user. After the Amount entered then in next page we once again confirm for
the transaction so that we can start our transaction process. In the first phase the
amount will be deducted from our account with the help of Ethereum and then it
will be encrypted with our Private Key (For Safe Transaction) and then it will be
send to the corresponding Admin and it will be decrypted using his Public Key
and add the amount in the corresponding User Account. The user will get the
message that he will be credited with the amount that was sent by the user.
For Authentication Ethereum has keys for encryption and decryption the
details will be send by the user after the Encryption process using Public Key and
then in the Admin side he will Decrypt the details with his Private Key so that
Authentication will be Successful.
23
For the usage of our web application the user needs to add his bank account
with the help of the debit card to create account in our web application for the
transaction purpose. The user needs to add the following details
● Account Holder Name
● CVV number in the card
● Card No
So then it will be verified with the help of the system admin and also in the
bank we cross - check the account details if it is in the existence or not and if it's
not existed we have to give the alert message to the user that, the entered details
are not valid or contact bank for further process. If the details are valid then it will
be stored in the Ethereum Storage.
In this module, Access information about the user's card and processing the
payment transaction on behalf of the user. When a user initiates a payment, the
payment app sends a request to the bank, which communicates with the existing
card payment system to check the user's card details and verify that the payment
can be processed. Once the payment is approved, the app sends the transaction
details to the existing card payment system for processing, and the payment is
completed. The app typically communicates with the existing card payment
24
system using secure protocols to ensure the safety and privacy of the user's
payment information.
25
CHAPTER 5
SYSTEM SPECIFICATION
5.1. HARDWARE SPECIFICATION
26
Notable feature is the use of a virtual Document Object Model, or virtual
DOM. React creates an in-memory data-structure cache, computes the resulting
differences, and then updates the browser's displayed DOM efficiently. This
process is called reconciliation[7]. This allows the programmer to write code as
if the entire page is rendered on each change, while the React libraries only render
sub components that actually change. This selective rendering provides a major
performance boost.
5.4. LIBRARIES:
5.4.1 Ethereum
Ethereum is a technology that's home to digital money, global payments,
and applications. The community has built a booming digital economy, bold new
ways for creators to earn online, and so much more. It's open to everyone,
wherever you are in the world – all you need is the internet.
The core data structures that exist in Ethereum consist of an optimized
implementation of Merkle Patricia tries. This article aims to provide readers with
an improved understanding of how Ethereum’s data storage layer operates and
the different intricacies that make up the ‘world state’. Specifically, I’ll be
discussing different tree structures, their beneficial properties, Ethereum’s
modified Merkle Patricia tree, the different tries within Ethereum, and their
corresponding purposes. In addition, there are helpful exercises and resources at
the bottom of this article to solidify a reader’s understanding.
5.4.2 React.js
The React.js framework is an open-source JavaScript framework and
library developed by Facebook. It's used for building interactive user interfaces
and web applications quickly and efficiently with significantly less code than you
would with vanilla JavaScript.
React can be used as a base in the development of single-page, mobile, or
server-rendered applications with frameworks like Next.js. However, React is
27
only concerned with the user interface and rendering components to the DOM, so
creating React applications usually requires the use of additional libraries for
routing, as well as certain client-side functionality. Notable feature is the use of a
virtual Document Object Model, or virtual DOM. React creates an in-memory
data-structure cache, computes the resulting differences, and then updates the
browser's displayed DOM efficiently[8]. This process is called reconciliation.
This allows the programmer to write code as if the entire page is rendered on each
change, while the React libraries only render sub components that actually
change. This selective rendering provides a major performance boost.
5.4.3 Express.js
Express.js, or simply Express, is a back end web application framework for
building RESTful APIs with Node.js, released as free and open-source software
under the MIT License. It is designed for building web applications and APIs. It
has been called the de facto standard server framework for Node.js.
Within the sandbox, developers create simulated responses from all APIs
the application relies on. Whether you are an API consumer or an API provider,
having an API sandbox is a powerful way to harden any applications that use
APIs. Creating a really great sandbox requires a few key considerations.
28
CHAPTER 6
IMPLEMENTATION AND TESTING
Registration
export default class FetchDepositAddressesClass extends Vue {
required = [(v: string) => !!v || 'Field is required']error = {} loading =
false showError = false
// methods
onErrorSheetClosed() {
this.error = {}
this.showError = false
}
async makeApiCall() {
this.loading = true
try {
await this.$businessAccountAddressesApi.getDepositAddresses()
} catch (error) {
this.error = error
29
this.showError = true
} finally {
this.loading = false
}
}
6.1.2 Authentication
31
6.1.3 Transaction using Cards
The server returns the status of the transaction when the transactionprocess
is completed. The transaction status determines the current status of the process since
determines the endpoint. The user is notified on the status of the transaction so
that the user is always updated whenever a transaction is generated.
Money Transfer
32
})
instance.interceptors.response.use(
function (response) {
store.commit('SET_RESPONSE', response)
return response
},
function (error) {
return Promise.reject(error) }
)
inject('cardsApi', cardsApi)
}
Figure 6.3 Money Transfer
The purpose of testing is to discover errors. Testing is the process of trying
to discover every conceivable fault or weakness in a work product. It provides a
way to check the functionality of components, sub-assemblies, assemblies and/or
a finished product it is the process of exercising software with the intent of
ensuring that the Software system meets its requirements and user expectations
and does not fail in an unacceptable manner. There are various types of test.
33
6.2 TYPES OF TESTING
6.2.1 Unit testing
Unit testing involves the design of test cases that validate that the internal
program logic is functioning properly, and that program inputs produce valid
outputs. All decision branches and internal code flow should be validated. It is
the testing of individual software units of the application .it is done after the
completion of an individual unit before integration. This is a structural testing,
that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application,
and/or system configuration.
6.2.2 Split testing
Linguistic testing can be a useful tool in detecting fake news. By analyzing the
language used in a news article or social media post, linguistic tests can reveal
34
patterns or characteristics that are common in fake news. This involves analyzing
the language used in the news article, such as the grammar, vocabulary, and
syntax, to identify patterns that are characteristic of fake news, such as misleading
headlines and misleading phrasing. Overall, linguistic testing can be a valuable
tool in the fight against fake news. By identifying language techniques that are
commonly used in fake news, we can develop better algorithms for detecting and
filtering out false information.
6.2.4 Integration Testing
35
identify Business process flows; data fields, predefined processes, and successive
processes must be considered for testing. Before functional testing is complete,
additional tests are identified and the effective value of current tests is determine
36
6.3 RESULTS:
Home Page
37
Card was added Successfully
38
Amount Transferred Successfully
39
CHAPTER 7
7.1 CONCLUSION
40
REFERENCES
[1] Arun Khatri, Anjali Kaushik.; SYSTEMATIC LITERATURE REVIEW ON
BLOCKCHAIN ADOPTION IN BANKING.; 2021.; Systematic literature
review on blockchain adoption in banking. Journal of Economics, Finance and
Accounting(JEFA), 8(3), 126-146..
[2] Abhishek Gupta.; Stuti Gupta.; Blockchain Technology: Application In Indian
Banking Sector.; Delhi Business Review.;Vol.19,No. 2(July-December2018).;
[3] Ye GUO and Chen Liang.; Blockchain application and outlook in the banking
industry.; Financial Innovation(2016)2:24,Springer Open.;
[4] Dan Barnes.; Blockchain maneuvers: applying Bitcoin's technology to
banking.; The Banker.; May-2015.
[5] Sven Magnus Degene.; How Blockchain affects Business Models in
International Banking.; 11th IBA Bachelor Thesis Conference,Enschede, The
Netherlands.;July 10th,2018.
[6] Hassani, Hossein, Huang, Xu, Silva, Emmanuel.; Banking with blockchain-
ed big data.; Journal of Management Analytics, Vol. 5 Issue 4, p256-275.;
December-2018.
[7] Ittay Eyal.; Blockchain Technology: Transforming Libertarian
Cryptocurrency Dreams to Finance and Banking Realities.;THE I EEE
COMPUTER SOCIETY:COVER.;2017.
[8] David Bates and Paul Migliore.; Innovate or stagnate Digitization in
investment management.; Journal of Securities Operations & Custody Vol.
10.;Jun-18.
[9] Albekov Adam Umarovich, Vovch enko Natalia. European Research Studies
Journal.2017.BlockChain and Financial Controlling in the System
[10] Galyna Azarenkova Iryna Shkodina. Investment Management and Financial
Innovations. 2018. The influence of financial technologies on the global financial
system stability.
41