Project Report Blockchain
Project Report Blockchain
PROJECT REPORT
on
Submitted by
Aakash Shrestha 1ST19CS700
John Saud 1ST19CS714
Niraj Kumar Rauniyar 1ST19CS722
2022-2023
SAMBHRAM INSTITUTE OF TECHNOLOGY
M. S. Palya, Bengaluru – 560097
CERTIFICATE
Certified that the Project work entitled “Land Registration System Using Blockchain Technology” carried
out by Mr. Aakash Shrestha, John Saud, Niraj Kumar Rauniyar,1ST19CS700,1ST19CS714,
1ST19CS722 bonafide student of SAMBHRAM INSTITUTE OF TECHNOLOGY in partial fulfilment for
the award of BACHELOR OF ENGINEERING IN COMPUTER SCIENCE AND ENGINEERING of
VISVESVARAYA TECHNOLOGICAL UNIVERSITY, Belagavi during the year 2022-2023. It is certified
that all corrections/suggestions indicated for Internal Assessment have been incorporated in the Report
deposited in the departmental library. The Project report has been approved as it satisfies the academic
requirements in respect of Project work prescribed for the said Degree.
EXTERNAL VIVA:
1.
2.
SAMBHRAM INSTITUTE OF TECHNOLOGY
M. S. Palya, Bengaluru – 560097
DECLARATION
We the students of 8th Semester, Dept. of CSE, SaIT doing the Final Year Project, declare that:
Land registration is a critical process that involves the legal recording of land ownership, rights, and
transactions. The current land registration systems in many countries often face challenges such as corruption,
inefficiency, and lack of transparency. Land Registration is a use case which involves lot of middlemen and
central authorities in the process which then puts trust in the system. Keeping traces of who owns which part
of land is challenging when there are hundreds or thousands of land records to maintain. Using Blockchain
will remove the middlemen in the system and also will reduce corruption and increase speed of the process.
Land Registration is a simple decentralized application which is build using the Ethereum Blockchain
principals. We can use this registration procedure as a substitute to bypass the existing system flaws. Here the
user who owns the land registers his land details and also enters market value of the land by providing all the
necessary proofs. A government authority who traditionally looks into land registry is assigned as a land
inspector can do the registration process. Lands coming under a particular village can be registered to the
system only through the inspector who is assigned to that village. The smart contract used here is written in
such a way that the owner has to transfer his property completely to the buyer and no transaction of the land
can be partial. Even we allow a government authority is involved in registration process, the entire process is
transparent and the transaction happens only between the two clients.
i
ACKNOWLEDGEMENT
Any achievement, be it scholastic or otherwise does not depend solely on the individual efforts but on the
guidance, encouragement and cooperation of intellectuals, elders and friends. A number of personalities, in
their own capacities have helped us in carrying out this project work. We would like to take this opportunity
We would like to express our heartfelt thanks to Dr. H. G. Chandrakanth, Principal, Sambhram Institute
of Technology, whose valuable guidance has been the one that helped us to complete the project.
We would like to express our profound gratitude to Dr. T. John Peter, HOD, Department of CSE,
Sambhram Institute of Technology, for his suggestions and his instructions have served as the major
We would like to extend our impassioned thanks and admiration to our guide, Prof. Sindhu K, Assistant
Professor, Department of CSE, Sambhram Institute of Technology, for their able guidance, regular source
We would like to thank all the teaching and non-teaching staff members of the Computer Science Department,
who have helped us directly or indirectly for the successful completion of the project.
Finally, we would like to thank our Parents and Friends who have helped us with their valuable suggestions
USN
Student Name
1. Aakash Shrestha 1ST19CS700
ii
TABLE OF CONTENT
CONTENTS
1. INTRODUCTION
1.1. Blockchain….…………………………………………………………………………………...... 1
1.2. Why Blockchain …………………………………………………………………………………. 2
1.3. Blockchain Application …………………………………………………………………………. 2
1.4. Land Registration System Using Blockchain.…………………………………………………...4
1.5. Purpose…………………………………………………………………………………………….5
1.6. Current System…………………………………………………………………………………... 6
1.7. Issue.………………………………………………………………………………………………. 6
1.8. Assumption ………………………………………………………………………………………. 7
1.9. Recommendation …………………………………………………………………………………7
2. LITERATURE SURVEY
2.1. Literature Survey …………………………………………………………………………………9
2.2. Related Work ……………………………………………………………………………………..10
3. OBJECTIVES
3.1. Goals ………………………………………………………………………………………………13
3.2. Use Case Template………………………………………………………………………………..14
3.3. Scope……………………………………………………………………………………………….15
3.4. Proposed System…………………………………………………………………………………..15
3.5. Advantages………………………………………………………………………………………...16
3.6. Application………………………………………………………………………………………...16
4. SYSTEM DESIGN
4.1. Design……………………………………………………………………………………………...18
4.2.Project Flow………………………………………………………………………………………..19
4.3. Experimentation…………………………………………………………………………………..20
5. SOFTWARE REQUIREMENT
5.1. Specific Requirement……………………………………………………………………………..22
5.1.1. Smart Contract…………………………………………………………………………….22
5.1.2. Decentralized App…………………………………………………………………………23
5.1.3. IPFS………………………………………………………………………………………...25
5.1.4. Metamask…………………………………………………………………………………..26
5.1.5. Ropstan Testnet……………………………………………………………………………26
5.1.6. Truffle Suite………………………………………………………………………………..27
5.2. Other requirement and API…………………………………………………………………...…28
5.2.1. Dart Debug Extension……………………………………………………………………..28
5.2.2. Mapbox API………………………………………………………………………………..28
5.2.3. NFT Storage………………………………………………………………………………..29
5.2.4. Node Js……………………………………………………………………………………...29
6. IMPLEMENTATION
6.1. Flutter………………………………………………………………………………………………30
6.2. Smart Contract…………………………………………………………………………………….31
6.3. Truffle………………………………………………………………………………………………32
6.4. Metamask…………………………………………………………………………………………..32
iii
6.5. Solidity…………………………………………………………………………………………..….33
7. CODE
7.1. Land Contracts (Solidity)…………………………………………………………………………35
7.2. Screen Loading (DART)…………………………………………………………………………..42
8. DEVELOPMENT & TESTING
8.1. Development………………………………………………………………………………………..43
8.2. Testing………………………………………………………………………………………………44
9. RESULTS
9.1. Login Page………………………………………………………………………………………….46
9.2. User Profile…………………………………………………………………………………………47
9.3. Land Inspector Dashboard………………………………………………………………………..47
9.4. Adding Land……………………………………………………………………………………….48
9.5.Land Gallery………………………………………………………………………………………..48
9.6. Request receive…………………………………………………………………………………….49
9.7. Working…………………………………………………………………………………………….49
9.8. Ownership Transfer ………………………………………………………………………………50
10. CONCLUSION & FUTURE ENHANCEMENT
10.1. Challenges…………………………………………………………………………………...51
10.2. Future Enhancement……………………………………………………………………….52
10.2.1. Integration with other Systems…………………………………………………………….52
10.2.2. Improved Data Analytics…………………………………………………………………...53
10.2.3. Smart Contract……………………………………………………………………………...53
10.2.4. Enhanced Security Features………………………………………………………………..53
10.2.5. Integration with IOT Devices………………………………………………………………54
10.2.6. Deployment of mainnet or private Ethereum network…………………………………...54
10.2.7. Hosting DApp on cloud platform…………………………………………………………..55
10.2.8. Collaboration with government agencies………………………………………………….55
10.3.
Conclusion……………………...……………………………………………………………………56
REFERENCES……………………………………………………………………………………………...57
iv
LIST OF FIGURES
Fig. 2.1 Architecture of Sweden Land Registration System………………………………..11
Fig. 4.1 Drawing Land on Map…………………………………………………………….... 19
Fig. 5.1.2 DApps…………………………………………………………………………………24
Fig. 5.1.4 IPFS Technology…………………………………………………………................. 25
Fig. 6.2 Smart Contract.............................................................................................................31
Fig. 6.4 Web3.js ....................................................................................................................... .33
Fig. 8.1 GanacheAccount..........................................................................................................43
Fig. 8.2 GanacheTransaction....................................................................................................44
Fig. 8.3 Resolving Dependenciens............................................................................................45
Fig. 8.4 Connection with Browser............................................................................................45
Fig. 9.1 Login page ....................................................................................................................46
Fig. 9.2 Login through metamask account.............................................................................46
Fig. 9.3 User Profile...................................................................................................................47
Fig. 9.4 Land Inspection Dashboard........................................................................................47
Fig. 9.5 Adding Land ................................................................................................................48
Fig. 9.6 Land Gallery ................................................................................................................48
Fig. 9.7 Receive Request ...........................................................................................................49
Fig. 9.8 Payment Confirmation................................................................................................49
Fig. 9.9 Capturing the seller and buyer...................................................................................50
Fig. 9.10 Ownership transfer .....................................................................................................50
v
Land Registration System Using Blockchain Technology
Chapter 1
INTRODUCTION
1.1. Blockchain:
Blockchain is a decentralized digital ledger that records transactions in a secure and immutable way. It is
a continuously growing list of records, called blocks, that are linked together using cryptography. Each block
contains a cryptographic hash of the previous block, a timestamp, and transaction data. The distributed nature
of the blockchain means that it is resistant to modification and provides a transparent and secure way of
recording transactions without the need for intermediaries. Blockchain technology has the potential to
revolutionize a wide range of industries, from finance and supply chain management to healthcare and voting
systems.
Blockchain technology was first introduced in 2008 as the underlying technology for the digital currency
Bitcoin. However, its potential applications extend beyond cryptocurrency and can be used for any type of
digital asset, including documents, music, and video.
One of the main benefits of blockchain technology is its decentralized nature. Instead of relying on a
centralized authority, transactions on the blockchain are validated by a network of nodes, each of which
maintains a copy of the ledger. This makes the blockchain more secure and resilient to attacks than traditional
centralized systems.
Blockchains are typically maintained by a network of nodes that work together to validate and add new
blocks to the chain. Transactions are verified and processed by nodes in the network, and once confirmed,
they are added to a block and distributed to all other nodes in the network. This process ensures that all nodes
have an up-to-date and consistent copy of the blockchain.
Blockchains can be public or private, depending on the level of access and permissions required. Public
blockchains, such as the Bitcoin blockchain, are open to anyone and do not require permission to participate.
Private blockchains, on the other hand, are restricted to a specific group of participants and require permission
to join and participate in the network.
The potential applications of blockchain technology are numerous and include finance, supply chain
management, healthcare, and more. The technology has the potential to increase transparency, security, and
efficiency in a wide range of industries, and is often viewed as a disruptive force that has the potential to
transform traditional business models.
1. Financial services: Blockchain technology can be used to create secure and transparent digital ledgers
for financial transactions, including currency exchange, stock trading, and supply chain finance.
2. Healthcare: Blockchain technology can be used to create secure and interoperable electronic health
records, which can help to improve the quality of patient care and reduce administrative costs.
3. Supply chain management: Blockchain technology can be used to create a secure and transparent
record of the movement of goods and products through the supply chain, which can help to improve
efficiency and reduce the risk of fraud.
4. Voting systems: Blockchain technology can be used to create secure and transparent voting systems,
which can help to ensure the integrity of democratic elections.
5. Intellectual property: Blockchain technology can be used to create secure and immutable records of
intellectual property ownership, including patents, trademarks, and copyrights.
6. Energy: Blockchain technology can be used to create a distributed energy grid, which can enable more
efficient and sustainable energy production and distribution.
7. Identity verification: Blockchain technology can be used to create a secure and decentralized system
for identity verification, which can help to reduce the risk of identity theft and fraud.
8. Real estate: In addition to land registration, blockchain technology can be used to create secure and
transparent digital records of real estate transactions, including the buying and selling of properties.
9. Charity and donations: Blockchain technology can be used to create transparent and traceable systems
for charity and donation tracking, which can help to improve accountability and reduce the risk of
fraud.
10. Digital advertising: Blockchain technology can be used to create transparent and secure systems for
digital advertising, which can help to reduce the risk of fraud and increase the efficiency of ad delivery.
11. Gaming: Blockchain technology can be used to create secure and transparent systems for in-game asset
ownership and trading, which can help to reduce fraud and enable more efficient and flexible gaming
ecosystems.
12. Logistics: Blockchain technology can be used to create secure and transparent digital records of
logistics and shipping transactions, which can help to improve supply chain efficiency and reduce the
risk of fraud and errors.
Overall, the potential applications of blockchain technology are vast and diverse, and new use cases are
constantly being explored and developed. As the technology continues to evolve, we can expect to see even
more innovative and transformative applications emerge in a wide range of industries and sectors.
The platform proposed here records transactions and also verifies the data, updates the current
registries if needed, also allows smart transactions and also distributes private keys for to clients so as to allow
trusted property transactions between the clients. Using Blockchain technology it is now possible to build a
land registration system where history of transactions can be easily verified anytime and from anywhere. A
platform is developed where the government will first enter the land details and then those lands can be made
available for buying and selling. Each transaction that takes place is recorded on Ethereum Blockchain and is
managed by Smart contracts. Smart contracts are the contracts that execute upon certain condition. As
Ethereum provides a test network to test the platform it is easy to reduce errors in early stage. The main
objective to build the platform is to Accelerate the Process removing the middle men that hold the information.
Blockchain land registration is a platform that serves you a distributed database where anyone has a right to
record and access information without participation of any centralized authority.
By maintaining an immutable records of transactions, Blockchain is able to prove that you are the
owner of the land and prevent use of false documents to prove the ownership of the land. Blockchain based
land registration platform will bring transparency in the system as buyers and sellers can directly communicate
with each other and also users can access their records very easily. Land Registration takes a considerably
long time to complete the full registration process. There may be a time span of months between completion
and registration this span can be reduced using this platform. The most important advantages of this platform
will be:
1) Accessing database anytime to store land related data and verify transactions between users.
2) Large capacity of storage and high processing speed for millions of land records.
1.5. Purpose:
A blockchain is a continuously expandable list (chain) of records (blocks) that are connected via
encrypted data exchange. Each block typically contains a reference to the previous block, a timestamp, and
transaction data. One of the most popular blockchain applications is the crypto-currency Bitcoin. Due to the
fact that the transaction data on all applications (clients) are visible for everyone and traceable stored, this
system is considered tamper-proof and transparent.
The purpose of a land registration system using blockchain technology is to create a secure,
transparent, and immutable system for recording land ownership and transactions. By using blockchain
technology, land registry systems can address many of the challenges associated with traditional paper-based
systems, such as fraud, errors, and inefficiencies.
Here are some of the potential benefits of using blockchain for land registration:
1. Improved security: The use of cryptography and distributed consensus ensures that data on the
blockchain is highly secure and resistant to tampering.
2. Transparency: The transparent nature of the blockchain allows for greater visibility and accountability
in land transactions. Anyone can view the public ledger and verify ownership and transfer of land.
3. Efficiency: Blockchain-based land registries can streamline the process of transferring ownership and
reduce the time and costs associated with traditional paper-based systems.
4. Reduced fraud: Blockchain can help reduce fraud in land transactions by providing an immutable
record of ownership and transaction history.
5. Increased trust: A blockchain-based land registry can help build trust among stakeholders, as it
provides a secure and transparent record of land ownership and transactions.
In most countries, land registration is done through a government agency or a land registry, which
maintains a database of land records. The process typically involves the submission of paper-based documents,
such as deeds, titles, and transfer agreements, which are manually verified and recorded by land registry
officials. The process can be time-consuming and may take weeks or even months to complete.
The current system is also prone to errors and fraud, as paper-based documents can be lost, damaged, or
tampered with. In some cases, corrupt officials may falsify land records or collude with intermediaries to carry
out fraudulent activities.
Overall, the current land registration system is in need of modernization and digitalization. Blockchain
technology offers a potential solution to address the inefficiencies and challenges of the current system, by
providing a decentralized and secure record-keeping system that can enhance transparency and reduce the
potential for fraud and errors.
1.7. Issues
Blockchain is best at transmitting small amounts of data. However new updates resolving this are
already in implementation. The blockchain technology is still at its nascent stage and there are still some
looming legal and administrative ramifications. It is also hard to talk about to users because of its complexity.
The process of validating transactions on the blockchain (such as through the proof-of-work consensus
mechanism) can require significant amounts of energy, which can be environmentally unsustainable.
Blockchain technology operates in a largely unregulated space, which can create uncertainty and challenges
for businesses and individuals looking to use the technology. Blockchain technology is complex and can be
difficult for non-technical users to understand and use. This can create barriers to adoption and limit its
potential impact.
1. Regulatory uncertainty: The regulatory landscape around blockchain technology is still evolving, and
there is a lack of clear and consistent regulation in many jurisdictions. This can create uncertainty for
businesses and investors and may limit the adoption of blockchain technology in certain industries.
2. User adoption: Despite the potential benefits of blockchain technology, user adoption remains a
challenge. Many people are still unfamiliar with the technology, and the user experience for many
blockchain applications can be complex and difficult to navigate.
3. Privacy and data protection: While blockchain technology provides a secure and transparent record-
keeping system, it can also raise privacy and data protection concerns. For example, personal data
stored on a blockchain may be visible to all network participants, which could be problematic in certain
contexts.
4. Energy consumption: The energy consumption required for mining and transaction processing in some
blockchain networks is still a significant issue. This can have negative environmental impacts and limit
the scalability of blockchain systems.
5. Centralization: While blockchain technology is often associated with decentralization, there are some
concerns about centralization in certain blockchain networks. For example, some blockchain networks
may be controlled by a small number of entities, which could undermine the benefits of
decentralization.
Overall, while blockchain technology has the potential to transform many industries and applications,
there are still several issues and challenges that need to be addressed in order to fully realize its potential.
1. Since it is a relatively new technology, the common people must be made aware of the benefits and uses
of a complex technology like Blockchain.
2. There should be no legal ramifications - the government or concerned higher authorities must comply
with implementing this new technology.
Constraints
1. Data must be accurate when it is entered, and records must include enough information to be
authoritative about the properties they are referring to.
2. Competition analysis can be necessary before setting up a blockchain. Many blockchains allow anyone
to see what has happened earlier in the blockchain, which means competition sensitive information may be
visible to rivals. This, as well as other issues – e.g. restrictions on making horizontal joint ventures – need to
be dealt with.
1.9. Recommendations
In general, blockchain technology could have possible application in Property Registration. There are
some limitations and questions yet to be discussed, but certain processes could surely benefit from
implementation of blockchain technology. Mainly trust in data stored in Property Registration in case of
developing and transitional countries and time needed for registering changes in data stored in Property
Registration, since currently, it could take several months, in case of Sweden, to between one and two years
in case of Serbia, to transactions to be registered in Property Registration. Possibility of implementing entire
Property Registration in blockchain is still opened for debate.
Property Registration have a large amount of data stored in them, both legal and spatial, and in case of
application of permisionless blockchain, main limitations would be that only hash codes of documents could
be stored in blockchain, requiring some other way of storing documents, either for example in torrents or
InterPlanetary File System.
On other hand there is a possibility of using permissioned blockchain, that are for example implemented
using Hyperledger technology, that would allow certain documents to be stored in blockchain. There is limited
number of peer reviewed papers on possible application of blockchain in Property Registration so this field is
still in early stages of development and only couple of case studies, so further research in this field is necessary
if benefits of blockchain technology could be brought to Property Registration
Chapter 2
LITERATURE SURVEY
records in Blockchain technology. These new block assets can now be used to preserve a digitally
protected record and can access ownership history.
8. "Blockchain for Land Registry and Land-Related Transactions" by Yves-Laurent Kom Samo,
Bernard Parance, and Andreane Raballand. This paper discusses the potential of blockchain technology in
the land registration process, including enhanced transparency, security, and efficiency.
9. "Blockchain and Land Administration: Revolutionizing Real Estate Transactions" by Mahsa
Ghaffari, Marzieh Khorshidpour, and Shahram Khosravi. This article explores the use of blockchain
technology in land administration, including land registration, transfer of ownership, and mortgage
registration.
10. "Blockchain and Smart Contracts in Land Administration" by J. Paul Gibson and Rohan Bennett.
This paper discusses the potential use of blockchain and smart contracts in land administration, including
improving the efficiency of land transactions, reducing fraud, and enhancing transparency.
11. "Blockchain Technology in Real Estate: A Literature Review" by Mohammadreza Khajeshi and Seyed
Ali Jafari. This article provides a comprehensive literature review of the use of blockchain technology in
real estate, including land registration, property valuation, and real estate investment.
12. "Blockchain for Land Titling and Land Governance: Opportunities and Challenges" by Michael
Graglia and Moritz Waldstein. This paper discusses the opportunities and challenges of implementing
blockchain technology in land titling and land governance, including legal and regulatory considerations
and stakeholder buy-in.
previous blocks and all blocks after it must be redone along with suppressing the work of honest nodes. This
cannot be done without the consensus of entire network and hence attacking a blockchain network becomes a
tedious task [2]. When it comes to buying and selling properties, intermediate brokerage charges incurred in
a huge sum. It is a wastage both in terms of time and cost. Blockchain based smart contracts ensures events
being tracked in a sequential manner and an online ledger will be maintained for the same. Evarium system is
a digital model for real estate investment which offers investors better cost reduction and greater profit sharing
for commercial property trades. Smart contracts is a programming language based contract whose information
is maintained mainly by means of service oriented cloud computing facilities. But developing smart contracts
in the present evarium system is highly challenging as it requires a large set of cross dependant smart contracts
that must not yield concurrency conflicts. Another problem is the issue of high distribution which is not
addressed in the present work [3]. A blockchain based approach to collate and share academic data pertaining
to students between universities and industries has been implemented in EDuCTX. Credits earned by students
will be updated in a chronological order with latest education being updated in the new block created.
Registered higher educational institutes act as nodes in the network who have the access to grant credits to
each student after successful completion of their course work. PoW is implemented in EDuCTX using ARK
blockchain platform. Language problems and admininstrative barriers faced by international students pursuing
course in any foreign university is reduced to a great extent by means of the available data pool stored and
shared in a secure manner. Once a student grants permission for an institute or potential employers to view
their academic data, selection procedure can be completed with less hassle [4].
Some nations, like Sweden[5], Netherlands, Honduras[6], India[7] and Dubai[8], have planned to shift the
land registry system into a Blockchain based system. The Sweden project has some documentation related to
their project. Taken up by the Chromaway[9] in the year 2016, the Sweden project is under the second stage
of development. The architecture of the project can be diagrammatically described in Figure.
The technical demo that is currently being built as part of this project uses ChromaWay’s technology and
programming structure Esplix, which creates smart contracts/embedded contracts in a Blockchain. In practice,
a chain of messages is saved into a private Blockchain, which can execute the transactions between the parties
more quickly. When the contract is finished, it can be summarized into a hash that can be added to other
Blockchains like Bitcoin’s Blockchain as an extra back up. Everyone involved can also save all or part of the
Blockchain, which covers the personal transactions in the system. Both buyers, sellers, banks and real estate
agents can therefore verify the history of a transaction. An additional benefit of this procedure is that the
solution is even easier to transfer to an alternative Blockchain. Let’s assume that a few Government agencies
jointly build a Blockchain that they control. The solution they have built in the test bed can be easily secured,
even in this Blockchain. A solution with Colored Coins is somewhat more hazardous and difficult to transfer
since the code is written on top of a specific cryptocurrency. The Netherlands Land registry is willing to test
the Blockchain technology for the real estate data along with Artificial Intelligence for cognitive systems to
make predictable models. Other countries like Russia, the United Kingdom and Brazil have initiated their
projects on the land registry system.
Dubai, on the other hand, has become the world’s first government entity to adopt Blockchain technology
for land ownership registration. Blockchain has been used as a secure database of records including lease
registrations and linked them to the Dubai Electricity and Water Authority(DeWA), the telecommunications
system and various property related billing systems. The method of IPFS for storing the Emirates Identity
Cards and the validity of the visas of the residents and the provision of the tenants to pay the rents
electronically via their interface has multiplied the positive impact of the system on the residents of the nation.
Chapter 3
OBJECTIVES
Ensuring security plays the major role in the government processes like land registrations. This
problem can be solved by applying Blockchain technology.
Transparent and secure record of all land transactions. All parties involved in a transaction can access
the information stored on the blockchain, which ensures that the process is fair and transparent.
The use of blockchain technology in land registration systems can increase the security of land records.
The decentralized nature of blockchain means that records cannot be tampered with or deleted, which
makes them more reliable than traditional paper-based records.
A blockchain-based land registration system can streamline the process of recording land transactions.
By eliminating the need for manual record-keeping and reducing the number of intermediaries
involved in the process, blockchain can help to save time and reduce costs.
Blockchain technology has the potential to reduce errors in land registration records. The decentralized
nature of blockchain means that multiple parties can verify the accuracy of the information stored on
the blockchain, which can help to eliminate errors and discrepancies.
A blockchain-based land registration system can improve access to land records. By digitizing land
records and making them accessible to anyone with an internet connection, blockchain can help to
make land ownership more transparent and accessible to a wider range of people.
3.1. GOALS
The main goal of the project was to build a solution which consisted of a decentralised application. The
complete setup should serve the following purpose:
2. Provide a interface for the land inspector to verify the transactions involved in property dealing and
transfer the land ownership.
3. User should be able to carry out the deals easily and in transparent manner.
USE CASE Blockchain based User registration, Land registration, transferring ownership of land
Goal Use of Blockchain technology to improve the existing problems in property
registration.
Purpose To make the process of property registration easy, fast, secure by implementing on
Blockchain technology
Preconditions User should have Ethereum account and some ETH in it for Gas fees
Success User is able to register himself, add property, other users are able to see all properties,
Conditions land inspector is able to transfer the ownership of properties
Failed Conditions User not able to access data
Primary Actors Contract Owner/Land Inspector/Users. i.e., Seller/Buyer
Trigger Contract Deployment, User Registration
Description Course of Actions
1. Contract Deployment
2. Adding land Inspector
3. User1 say sells registers himself
4. User 2 say buyer registers himself
5. Land Inspector verify them
6. User1 adds property, Land inspector verify the property
7. User2 send request to buy the property, user1 accepts the request/User2
makes payment
8. Land inspector verifies payment and transfer ownership
3.3 SCOPE
The goal of this project is to replace existing property registration systems with the help of completely
online and decentralised blockchain based property registration system. Hence Scope includes the following
functionalities-
1.Developing a backend with smart contracts written in it incorporating all the rules and regulation of a
property registration and transfer mechanism. This smart contract would be written in solidity
programming language over an Ethereum blockchain.
Assumption-
There are a few assumptions that we have to take about the physical world and its interaction with our
virtual record keeping system beforehand.
1. Mapping to a specific token format : The system build in this paper is mapping every land segment
to a certain amount of token based on the ERC20 token. Any kind of different token system cannot
be mapped with the system.
2. No verification for inconsistency: The system does not ensure that the updating of the ownership
details by the current owner of a piece of land is being done willingly or under compulsion of
external matters. Since the records are public in nature, the authority and the respective citizen can
cross check at any point in time.
3. Dependency on external financial transaction: The passing of the segments of the land, as
distributed into tokens, shall not be verifying the actual transaction of the finance via any other
medium.
4. Dependency on central citizenship database: The system depends on the citizenship record system
of the nation for the transfer of ownership of land to the respective heirs after the death of a
particular resident. The system is not responsible for any discrepancy in the entry of the names of
the citizens.
5. Authenticity of the existing data on land ownership: The proposed system assumes that the data
regarding the current ownership of land and property by the residents is authentic in the true nature.
3.5. ADVANTAGES
1. Dispute resolution: Blockchain technology can help to streamline the dispute resolution process by
providing a transparent and immutable record of land ownership. This can help to reduce the time and
costs associated with resolving land disputes.
2. Traceability: Blockchain technology can provide a traceable record of the ownership and transfer of
land, which can help to reduce disputes and improve the efficiency of the land registration process.
3. Smart contracts: By using smart contracts, blockchain technology can automate many of the processes
involved in land registration, such as the transfer of ownership and the payment of fees. This can help
to reduce the need for intermediaries and make the land registration process more efficient.
4. Tokenization: Blockchain technology can enable the tokenization of land ownership, which can help
to make the transfer of ownership more efficient and secure. This can also help to increase liquidity in
the real estate market by enabling fractional ownership of land.
5. Integration with other systems: Blockchain technology can be integrated with other systems, such as
GIS and property tax systems, to provide a more comprehensive and efficient land registration process.
This can help to reduce errors and improve the accuracy of land records.
3.6. APPLICATION
1. Land ownership: Blockchain can be used to create a secure and transparent record of land ownership,
which can help to reduce fraud and disputes. By using a blockchain-based land registry, people can
easily verify the ownership status of a piece of land.
2. Property transactions: Blockchain technology can be used to automate property transactions, including
the transfer of ownership and payment of fees. Smart contracts can be used to automatically execute
transactions once certain conditions are met, which can help to speed up the process and reduce the
need for intermediaries.
3. Land use planning: Blockchain can be used to create a comprehensive and up-to-date record of land
use, including zoning, planning permissions, and building codes. This can help to improve the
efficiency of the planning process and ensure that land is being used in accordance with regulations.
4. Fractional ownership: Blockchain technology can enable the fractional ownership of land, which can
make it easier for people to invest in real estate. By tokenizing land ownership, people can buy and
sell fractions of a property, which can help to increase liquidity in the real estate market.
5. Property tax: Blockchain can be used to create a secure and transparent record of property tax
payments, which can help to reduce fraud and improve the efficiency of the tax collection process.
This can also help to ensure that property owners are paying their fair share of taxes.
6. Dispute resolution: Blockchain technology can be used to create an immutable record of land
ownership, which can help to reduce disputes. By providing a transparent and tamper-proof record of
ownership, blockchain can help to streamline the dispute resolution process.
Overall, there are many potential applications of blockchain technology in the land registration process,
which can help to improve efficiency, transparency, and security.
Chapter 4
SYSTEM DESIGN
4.1. Design
User logs in by entering his private key or connecting his metamask wallet.
If user is logged in for first time, then they have to enter all his details and upload their identity
document
For storing documents, we have used IPFS based on File Coin.
After successful login, user can now move to his dashboard.
As of now, the user is not yet verified and only the land inspector can verify him.
For this, the contract owner will first add the land inspector.
After land inspector is added, he can log into his account.
Land inspector can view the registered users. He can view the documents and verify the users.
Now the users are verified.
Users can now add their lands. They can add all the details of land, land document and user can also
draw their land on map as we can see below image.
After land adding, only the Land inspector can verify it.
After land has been verified by the land inspector, user i.e. owner of that land can make it on sell
Once it is on sale, all other users can see all the lands in the land Gallery option. Here they can see all
land details, area on the map and can send request to buy the land. ●
Owner of land can see all received requests and can reject or accept the request.
After the land owner accepts the request, user who has sent the request can make payment from his
account to buy the land.
Finally, the land inspector can see all the payments done and will verify the payment and then transfer
the ownership. While transferring land, land seller, buyer and one witness has to be present. Land
inspector will capture their photo, will take information from the witness and then transfer the land.
After transferring land, app will create digitally signed document and it will be automatically uploaded
to the database.
Then seller can see the bought land in my land option.
4.3. Experimentation
A smart contract is a computer based protocol which is meant to digitally facilitate and check performance
of a contract. A smart contracts is a contract which is deployed on an Ethereum Virtual Machine (EVM). The
smart contract includes various functions that make it possible to do the operations when a user interact with
front end.
1. addLandinspector() : Used for adding the super admin. This function can only be called by the owner
of contract(person who deployed the contract). Address (ethereum) of super admin and the village to
which the super admin is assigned for is provided as input. Each super admin’s address is mapped to
the corresponding village.
2. Registration() : This function is used for registering a land. Details of land that were entered by the
user using front end such as state, district, village and survey number along with the unique owner’s
Ethereum address, market value of the land and property ID is provided as the input. The details are
registered mapped to the property ID. This function can only be called by the super admins and the
registration of a land can only be done by the super admin of the village to which the land belongs to.
3. landInfoOwner() : Function to view the details of land for the owner. Input is property ID and returns
state, district, village, survey number, availability to buy, address of the person who requested the land
to buy, request status(accept,reject or pending) as the output.
4. landInfoUser(): Function to view the details of land for any user. The input to this function is unique
property ID and output of this function is current owners ID of the property, market value, availability
of the land to buy, whether there are any requester for the land(address of requester) and request status.
5. computeId() : Used to compute a unique ID for a property. State, district, village and survey number
is provided as input and a unique ID is returned as the output.
6. requestToLandOwner() : Used to send a request to buy a property. Property ID is provided as the input
and requester’s address is sent to the owner.
7. viewLand() : Function to view the assets of a person. When the function is called, the asset list of the
person who called the function is returned.
8. viewRequest() : Function to view the address of the requester for a particular land, if there are any.
Input is the property ID and the output is the address of the requester.
9. processRequest() : This function is used to process the request that came out to buy the land. Property
ID and request status(accept or reject) is provided as the input. This function can be used by the land
user only.
10. makeAvailbale() : This function is used to make a property available for buying. Property ID is
provided as the input to the function. If the address matches the land owner the land is made available
to buy.
11. buyProperty() : Function to buy the property which has already been approved to buy by the owner.
This function can only be called by the requester whose request has been approved. Each property has
an unique ID that is provided as the input to function and the transaction of ether similar to the market
value and tax is taken in exchange for the ownership of the property.
Even though there are so may functions involved in the contract, the user interface is really optimized and
simplified to make the process easier. In the transaction part, when user opens the dapp at
“http://localhost:5555”, the page gives you the details of the land owned by the account with which you are
signed in in metamask. If there are none then the page will be blank. If there is a property then it shows you
the details of the property and a button to make the property available to buy. Once you press the “make
available” button then it automatically calls the function “makeAvailable()” and button is then disabled. If
someone wants to buy the property, they can enter into the “search” link in the title bar. This will give you
page where you search for a property. If the property is available to buy then a button will appear to send
request which will call the function “requestToLandOwner()”. The seller then will receive the request and 3
additional buttons will appear in his/her property details. One is just to show the requester address which will
show you nothing on click. The other two are accept and reject buttons. If the seller rejects the request then if
you reload the page, the “make available” button would again be active. If the seller choose to accept the
request then the property will be available for the buyer to buy. Now if the buyer search the land again he/she
would have an active button “buy” which if you press will transact the property to the buyer by taking
corresponding ether from the account.
Chapter 5
SOFTWARE REQUIREMENT
To run this WebApp on Local host we will need following requirements with INTERNET availability:
Hardware Required:
• Minimum 4GB of RAM, 64GB Hard drive.
• I5 processor or above
• Device that has camera availability.
Software Required:
• Flutter, NodeJs, Ganache, Truffle , these should be installed
• Solidity for Backend
• Metamask Chrome Extension
• Dart Debug Extension
• MAPBOX API
• NFT STORAGE
Smart contracts are self-executing computer programs that automatically enforce the rules and
conditions of a contract. They are designed to operate on a blockchain, which is a distributed ledger that
records transactions in a secure and transparent manner.
Smart contracts are written in programming languages that are specific to a particular blockchain
platform, such as Ethereum’s Solidity language. They can be used to automate complex transactions and
processes, such as financial agreements, supply chain management, and voting systems.
When a smart contract is deployed on a blockchain, it is executed by the nodes in the network, and its
results are verified and recorded on the blockchain’s distributed ledger. Because smart contracts are
executed automatically and transparently, they can reduce the need for intermediaries and increase the
efficiency and trustworthiness of transactions.
Smart contracts have the potential to revolutionize many industries by providing secure, automated,
and transparent systems for conducting business. However, they also raise new legal and regulatory
challenges, as their decentralized and automated nature may not always align with traditional legal
frameworks.
Smart contracts have several characteristics that make them unique and powerful:
1. Self-executing: Smart contracts are designed to execute automatically, without any human
intervention. Once the conditions of the contract are met, the code executes the terms of the agreement
automatically.
2. Transparent: The code for a smart contract is stored on a public blockchain, making it transparent and
open for anyone to see. This increases trust and transparency in the contract, as all parties can see
exactly what is being agreed upon.
3. Immutable: Once a smart contract is deployed on the blockchain, it cannot be altered or deleted. This
makes smart contracts tamper-proof and eliminates the risk of fraud or manipulation.
4. Trustless: Smart contracts operate on a trustless system, meaning that there is no need for
intermediaries or third parties to execute the terms of the contract. This reduces costs and increases
efficiency.
5. Programmable: Smart contracts can be programmed to perform a wide range of functions, from simple
transactions to complex business logic. This makes them a powerful tool for automating business
processes and creating new business models.
Overall, smart contracts are a key feature of blockchain technology, allowing for the creation of
decentralized applications and services that are transparent, efficient, and secure. Smart contracts have the
potential to revolutionize many industries by reducing costs, increasing efficiency, and creating new
business models.
Unlike traditional applications, Dapps are open-source and their code and data are distributed across a
decentralized network. This means that anyone can participate in the network and verify the integrity of
the system. Dapps typically use a cryptocurrency or token system to incentivize users to contribute to the
network and maintain its security.
Dapps can be used for a wide variety of applications, including finance, gaming, social media, and
supply chain management. They offer a number of benefits over traditional centralized applications,
including increased security, transparency, and censorship resistance. However, Dapps can also be more
difficult to develop and use, and may face regulatory challenges in some jurisdictions.
1. Decentralized: Dapps operate on a decentralized network, meaning that they do not rely on a single
central authority to manage and process user data and transactions.
2. Open-source: Dapps are often open-source, meaning that the source code is available to the public,
allowing anyone to contribute to the project and audit the code.
3. Transparent: Dapps provide transparency by allowing users to view all transactions and data on the
network, making it difficult for bad actors to manipulate the system.
4. Autonomous: Dapps are designed to operate autonomously, meaning that they can continue to
function without the need for constant oversight and intervention by a central authority.
5. Interoperable: Dapps are designed to be interoperable, meaning that they can communicate and
exchange data with other Dapps and systems.
6. Autonomous: Dapps are often designed to be autonomous, meaning that they can operate and make
decisions without human intervention.
7. Resilient: Dapps are designed to be resilient to attacks and system failures. Because the data and
code are distributed across a network of nodes, the system can continue to function even if some
nodes are compromised.
9. Community-driven: Because Dapps are open-source and decentralized, they are often developed
and maintained by a community of developers and users who collaborate to improve the system.
Fig:5.1.2 Dapps
5.1.3. IPFS-
IPFS stands for InterPlanetary File System, which is a protocol and network designed to create a
decentralized, peer-to-peer method for storing and sharing hypermedia in a distributed file system. IPFS
was developed in 2014 by Juan Benet and is now an open-source project.
At its core, IPFS is a content-addressable file system, which means that files are identified and accessed
by their content rather than their location on a specific server or network. IPFS uses a unique content-
addressing scheme that generates a unique hash for each file, which can be used to retrieve the file from
any node in the network.
IPFS is designed to be a scalable and resilient system, with multiple nodes storing copies of files and
serving them to users. This distributed approach to storage and retrieval makes IPFS less vulnerable to
censorship or data loss than centralized systems.
1. Content distribution: IPFS can be used to distribute large files or content across a decentralized
network, reducing the load on centralized servers and improving speed and reliability.
2. Decentralized web: IPFS can be used as a foundation for building a decentralized web, where websites
and applications are hosted on a distributed network of nodes rather than on centralized servers.
3. Data backup and archiving: IPFS can be used to create a distributed backup and archiving system,
where data is stored and replicated across multiple nodes to ensure resilience and availability.
4. Decentralized applications: IPFS can be used as a storage layer for decentralized applications (Dapps),
providing a scalable and reliable way to store and share data between nodes on a distributed network.
5.1.4. Metamask -
MetaMask is a software wallet and browser extension that allows users to manage their Ethereum-
based assets and interact with decentralized applications (dApps) on the Ethereum blockchain. It was first
released in 2016 by ConsenSys, one of the largest blockchain development companies.
MetaMask is a non-custodial wallet, meaning that users have complete control over their private keys
and funds. It can be installed as a browser extension on Chrome, Firefox, Opera, and Brave, and as a
mobile app on iOS and Android. The wallet supports a variety of Ethereum-based tokens and also allows
users to easily switch between different Ethereum networks, such as the mainnet, testnets, and private
networks.
In addition to its wallet functionality, MetaMask also serves as a web3 provider, allowing dApps to
interact with the Ethereum blockchain and access user accounts. This enables users to use dApps without
having to manually enter their private keys or seed phrases, which can be a security risk.
Overall, MetaMask is a popular tool for Ethereum users and developers who need a convenient and
secure way to manage their assets and interact with decentralized applications.
Ropsten is one of the official testnets for Ethereum, which is a blockchain-based decentralized platform
for building decentralized applications (dapps) and executing smart contracts. The Ropsten testnet is
specifically designed for developers to test their dapps and smart contracts without incurring any costs on
the main Ethereum network.
Ropsten is essentially a replica of the Ethereum network, but with its own separate blockchain. This
allows developers to experiment with different smart contract functionalities, test transactions, and debug
their code without risking real Ether (ETH), the native cryptocurrency of the Ethereum network.
To use the Ropsten testnet, developers can set up a local node or connect to an existing node on the
network. They can then deploy their dapps and smart contracts on the Ropsten network and test them in a
sandbox environment. Once they are satisfied with their code, they can then deploy it on the main
Ethereum network.
1. Testing smart contracts: Developers can test the functionality and security of their smart contracts on
the Ropsten testnet before deploying them on the main Ethereum network.
2. Experimenting with Dapps: Developers can use the Ropsten testnet to experiment with different Dapps
and test their functionality and user experience.
3. Education and training: The Ropsten testnet provides a safe environment for developers and students
to learn and practice developing smart contracts and Dapps.
4. Research and experimentation: The Ropsten testnet allows researchers and developers to experiment
with new blockchain technologies and test their performance in a real-world environment.
It’s important to note that while the Ropsten testnet is a useful tool for testing and development, it is
still subject to certain limitations and issues. For example, the Ropsten testnet can experience network
congestion and delays due to the high volume of transactions and testing activity. Additionally, since the
Ropsten testnet is a public network, there is always the risk of malicious attacks and exploits. As such, it
is important to exercise caution and best practices when using the Ropsten testnet or any other public
testnet.
The Truffle Suite is a collection of tools that are widely used in the development of Ethereum-
based decentralized applications (dApps) and smart contracts. The suite provides a variety of tools that
help developers build, test, and deploy smart contracts with ease.
1. Truffle Framework – a development framework for Ethereum-based dApps and smart contracts. It
provides a suite of tools that enable developers to compile, test, and deploy smart contracts.
2. Ganache – a personal blockchain for Ethereum development that enables developers to simulate
Ethereum blockchain environments and test their smart contracts.
3. Drizzle – a collection of front-end libraries that enables developers to build dApps that are
responsive and interact with smart contracts.
4. Truffle Boxes – pre-built templates and boilerplate code for building dApps and smart contracts.
5. Truffle Teams – a tool that enables teams of developers to collaborate on the development and
deployment of smart contracts.
Overall, the Truffle Suite is a powerful set of tools that enables developers to build and deploy smart
contracts and dApps quickly and efficiently. It is widely used in the Ethereum development community
and is highly regarded for its ease of use and robust feature set.
Dart Debug Extension is a tool used in the Dart programming language for debugging and developing
applications. It is an extension for Visual Studio Code that provides a set of features to help developers
debug their applications more efficiently.
1. Debugging of applications
2. Debugging of tests
With the Dart Debug Extension, developers can quickly and easily find and fix issues in their code.
This helps to speed up the development process and improve the quality of the final product.
Mapbox API is a location data platform that provides a suite of web services to developers to build
custom mapping applications. It offers APIs for geocoding, routing, and mapping, among others.
In the context of a Dapp, Mapbox API can be used to display maps and visualize data on the map.
Developers can use the Mapbox API to create interactive maps with custom markers, lines, and shapes.
Mapbox provides a range of tools and libraries to integrate their APIs with various platforms, including
web and mobile applications.
For example, a Dapp for a ride-sharing service can use the Mapbox API to display the location of
drivers and riders on the map, as well as route calculations to determine the best route for the driver to
reach the rider. Similarly, a Dapp for real estate could use the Mapbox API to show the location of
properties and visualize data such as property values and rental rates on the map.
Overall, integrating Mapbox API with a Dapp can enhance its functionality and improve the user
experience by providing a rich and interactive mapping interface.
NFT Storage is a service provided by the Filecoin network that enables developers to easily store and
retrieve NFT (Non-Fungible Token) data on the decentralized web. It allows developers to securely and
reliably store their NFT data on the IPFS network, which is an open-source, peer-to-peer distributed file
system that provides permanent and decentralized storage.
NFT Storage provides an API that developers can use to upload and retrieve NFT metadata, which
includes information such as the token’s name, description, and image. This metadata is stored on IPFS,
and a unique IPFS hash is generated for each piece of metadata. This hash can be used to retrieve the
metadata at any time from any IPFS node on the network.
NFT Storage also offers a range of features to help developers manage their NFT data, including
integration with popular blockchain platforms like Ethereum, support for multiple file formats, and easy
integration with popular development frameworks like React and Angular. Additionally, NFT Storage
offers a number of tools and resources to help developers get started, including sample code and
documentation.
Node.js is a popular server-side runtime environment that can be used to develop decentralized
applications (Dapps) based on blockchain technology. It provides a powerful set of libraries and tools that
make it easy to create and deploy smart contracts on a variety of blockchain platforms.
Using Node.js, developers can create Dapps that interact with smart contracts on the blockchain,
manage user accounts, handle transactions, and interact with other blockchain-based applications and
services. Node.js also allows for the creation of web3-enabled applications that can connect to a blockchain
network through an API or a local node.
In addition, Node.js provides support for various blockchain development frameworks and tools, such
as Truffle, Ganache, and Embark, which can help developers to streamline their Dapp development
workflow and accelerate the deployment process.
Overall, Node.js is a powerful tool for building blockchain-based Dapps, providing developers with a
flexible and scalable platform for developing decentralized applications that can leverage the full potential
of blockchain technology.
Chapter 6
IMPLEMENTATION
There are 5 main components of the project –
1. Flutter
2. Smart Contract
3. Truffle
4. Metamask
5. Web3.js
6. Solidity
6.1. Flutter
Flutter is an open-source mobile application development framework created by Google. It allows
developers to create native interfaces for iOS and Android apps using a single codebase written in the Dart
programming language.
One of the key features of Flutter is its “hot reload” capability, which allows developers to see changes
made to the code almost immediately, without having to recompile the entire app. This can significantly speed
up the development process and improve developer productivity.
Flutter also offers a rich set of pre-built widgets and tools, which can help developers create high-quality,
visually appealing and performant user interfaces with ease. Additionally, Flutter has a strong community and
ecosystem, with many resources and plugins available to developers.
Flutter can be used to develop decentralized applications (dApps) using blockchain technology. Since
Flutter supports building applications for both mobile and web platforms, it can be used to create dApps that
can run on different devices and operating systems.
Flutter’s widget-based architecture allows developers to create custom UI components that can interact
with the blockchain network, such as displaying blockchain data or allowing users to interact with smart
contracts. Flutter’s hot reload feature can also be useful during the development process, as it allows
developers to quickly test and iterate their dApp.
We have made frontend of our project using Flutter. Flutter is open source and created by Google. It is a
cross platform SDK. Using single codebase we can create application for Android,IOS and Web application.
Currently with newer version of Flutter we can also create apps for Windows, Linux and Mac os. On the front
screen, one can login as a user, land inspector, or contract owner. The contract owner can add a land inspector
and see all the added land inspectors. The land inspector’s dashboard consists of the functionality to verify
user, verify land and transfer ownership. If we login as the user, we have the options of adding lands, land
details, seeing all lands, sending and receiving land requests. We have used truffle IDE to set up the DAPP.
6.3. Truffle –
Truffle is a world-class development environment, testing framework and asset pipeline for blockchains
using the Ethereum Virtual Machine (EVM), aiming to make life as a developer easier. Truffle is widely
considered the most popular tool for blockchain application development with over 1.5 million lifetime
downloads.
6.4. Metamask –
MetaMask is a software cryptocurrency wallet used to interact with the Ethereum blockchain. It allows
users to access their Ethereum wallet through a browser extension or mobile app, which can then be used to
interact with decentralized applications.
6.5. Web3.js –
Web3.js is a JavaScript library that allows developers to interact with Ethereum blockchain nodes using
HTTP or WebSocket connections. It is one of the most popular libraries for building decentralized applications
(Dapps) on the Ethereum network.
Web3.js provides a simple and user-friendly interface for developers to interact with the Ethereum
blockchain. With Web3.js, developers can perform various operations on the blockchain, such as reading and
writing data to smart contracts, transferring ether, and more.
The library provides a number of functions for interacting with the Ethereum blockchain, including:
4. Querying the blockchain for account balances, transaction history, and more
Web3.js is often used in conjunction with other technologies, such as the Truffle framework for smart
contract development and MetaMask for browser integration.
Overall, Web3.js is a powerful tool for building Dapps on the Ethereum network, enabling developers to
create a wide range of blockchain-based applications and services.
Fig6.4 Web3.js
6.5. Solidity –
Solidity is a programming language that is used for developing smart contracts on the Ethereum
blockchain. It is a contract-oriented language that is designed to be easy to read and write, and is similar in
syntax to JavaScript.
Solidity is used to define the rules and logic of a smart contract, which is essentially a self-executing
contract with the terms of the agreement directly written into code. Smart contracts can be used for a wide
range of applications, from decentralized finance (DeFi) to digital identity management and supply chain
management.
Solidity supports a number of data types, including integers, 34ooleans, and strings, as well as more
complex data structures such as arrays and mappings. It also includes built-in functions for cryptographic
operations, time-related functions, and access to the Ethereum network.
One important feature of Solidity is that it is a statically typed language, meaning that variables must be
defined with a specific data type before they can be used. This helps to prevent errors and improve the overall
security of the smart contract.
Solidity offers several features that make it suitable for developing smart contracts. Some of these features
include:
2. Strong typing: Solidity is a strongly-typed language, which means that data types must be declared
before they can be used. This helps prevent errors and ensures that the code is more robust.
3. Built-in data structures: Solidity includes several built-in data structures such as arrays, mappings, and
structs that make it easier to manage and manipulate data.
4. Modifiers: Solidity includes a feature called modifiers, which can be used to add pre-conditions and
post-conditions to functions. Modifiers can be used to ensure that certain conditions are met before a
function is executed.
5. Events: Solidity includes an event system that can be used to notify clients when specific actions occur
on the blockchain.
Overall, Solidity is a powerful programming language that is well-suited for developing smart contracts
on blockchain networks. It has a growing community of developers and is constantly evolving to support new
features and use cases.
Chapter 7
CODE
struct LandInspector {
uint id;
address _addr;
string name;
uint age;
string designation;
string city;}
struct LandRequest{
uint reqId;
address payable sellerId;
address payable buyerId;
uint landId;
reqStatus requestStatus;
bool isPaymentDone;
}
enum reqStatus {requested,accepted,rejected,paymentdone,commpleted}
uint inspectorsCount;
uint public userCount;
uint public landsCount;
uint public documentId;
uint requestCount;
mapping(address => LandInspector) public InspectorMapping;
mapping(uint => address[]) allLandInspectorList;
mapping(address => bool) RegisteredInspectorMapping;
mapping(address => User) public UserMapping;
mapping(uint => address) AllUsers;
mapping(uint => address[]) allUsersList;
mapping(address => bool) RegisteredUserMapping;
mapping(address => uint[]) MyLands;
mapping(uint => Landreg) public lands;
mapping(uint => LandRequest) public LandRequestMapping;
mapping(address => uint[]) MyReceivedLandRequest;
mapping(address => uint[]) MySentLandRequest;
mapping(uint => uint[]) allLandList;
mapping(uint => uint[]) paymentDoneList;
allLandInspectorList[1].pop();
break;
}
}
}
function isLandInspector(address _id) public view returns (bool) {
if(RegisteredInspectorMapping[_id]){
return true;
}else{
return false;
}}
//-----------------------------------------------User-----------------------------------------------
function isUserRegistered(address _addr) public view returns(bool)
{
if(RegisteredUserMapping[_addr]){
return true;
}else{
return false;
}
}
function registerUser(string memory _name, uint _age, string memory _city,string memory
_aadharNumber, string memory _panNumber, string memory _document, string memory _email
) public {
require(!RegisteredUserMapping[msg.sender]);
RegisteredUserMapping[msg.sender] = true;
userCount++;
allUsersList[1].push(msg.sender);
AllUsers[userCount]=msg.sender;
UserMapping[msg.sender] = User(msg.sender, _name, _age, _city,_aadharNumber,_panNumber,
_document,_email,false);
//emit Registration(msg.sender);
}
function verifyUser(address _userId) public{
require(isLandInspector(msg.sender));
UserMapping[_userId].isUserVerified=true;
}
function isUserVerified(address id) public view returns(bool){
return UserMapping[id].isUserVerified;
}
function ReturnAllUserList() public view returns(address[] memory)
{
return allUsersList[1];
}
//-----------------------------------------------Land-----------------------------------------------
function addLand(uint _area, string memory _address, uint landPrice,string memory _allLatiLongi, uint
_propertyPID,string memory _surveyNum, string memory _document) public {
require(isUserVerified(msg.sender));
landsCount++;
lands[landsCount] = Landreg(landsCount, _area, _address, landPrice,_allLatiLongi,_propertyPID,
_surveyNum , _document,false,msg.sender,false);
MyLands[msg.sender].push(landsCount);
allLandList[1].push(landsCount);
// emit AddingLand(landsCount);
}
function ReturnAllLandList() public view returns(uint[] memory)
{
return allLandList[1];
}
function verifyLand(uint _id) public{
require(isLandInspector(msg.sender));
lands[_id].isLandVerified=true;}
function isLandVerified(uint id) public view returns(bool){
return lands[id].isLandVerified;}
function myAllLands(address id) public view returns( uint[] memory){
return MyLands[id];
}
function makeItforSell(uint id) public{
require(lands[id].ownerAddress==msg.sender);
lands[id].isforSell=true;}
function requestforBuy(uint _landId) public
{
require(isUserVerified(msg.sender) && isLandVerified(_landId));
requestCount++;
LandRequestMapping[requestCount]=LandRequest(requestCount,lands[_landId].ownerAddress,msg.sender,
_landId,reqStatus.requested,false);
MyReceivedLandRequest[lands[_landId].ownerAddress].push(requestCount);
MySentLandRequest[msg.sender].push(requestCount);
}
function myReceivedLandRequests() public view returns(uint[] memory)
{
return MyReceivedLandRequest[msg.sender];
}
function mySentLandRequests() public view returns(uint[] memory)
{
return MySentLandRequest[msg.sender];
}
function acceptRequest(uint _requestId) public
{
require(LandRequestMapping[_requestId].sellerId==msg.sender);
LandRequestMapping[_requestId].requestStatus=reqStatus.accepted;
}
function rejectRequest(uint _requestId) public
{
require(LandRequestMapping[_requestId].sellerId==msg.sender);
LandRequestMapping[_requestId].requestStatus=reqStatus.rejected;
}
}
function makePayment(uint _requestId) public payable
{
require(LandRequestMapping[_requestId].buyerId==msg.sender &&
LandRequestMapping[_requestId].requestStatus==reqStatus.accepted);
LandRequestMapping[_requestId].requestStatus=reqStatus.paymentdone;
//LandRequestMapping[_requestId].sellerId.transfer(lands[LandRequestMapping[_requestId].landId].landPr
ice);
//lands[LandRequestMapping[_requestId].landId].ownerAddress.transfer(lands[LandRequestMapping[_requ
estId].landId].landPrice);
lands[LandRequestMapping[_requestId].landId].ownerAddress.transfer(msg.value);
LandRequestMapping[_requestId].isPaymentDone=true;
paymentDoneList[1].push(_requestId);
}
function returnPaymentDoneList() public view returns(uint[] memory)
{
return paymentDoneList[1];
}
function transferOwnership(uint _requestId,string memory documentUrl) public returns(bool)
{
require(isLandInspector(msg.sender));
if(LandRequestMapping[_requestId].isPaymentDone==false)
return false;
documentId++;
LandRequestMapping[_requestId].requestStatus=reqStatus.commpleted;
MyLands[LandRequestMapping[_requestId].buyerId].push(LandRequestMapping[_requestId].landId);
uint len=MyLands[LandRequestMapping[_requestId].sellerId].length;
for(uint i=0;i<len;i++){
if(MyLands[LandRequestMapping[_requestId].sellerId][i]==LandRequestMapping[_requestId].landId)
}
MyLands[LandRequestMapping[_requestId].sellerId][i]=MyLands[LandRequestMapping[_requestId].seller
Id][len-1];
//MyLands[LandRequestMapping[_requestId].sellerId].length--;
MyLands[LandRequestMapping[_requestId].sellerId].pop();
break;
}
}
lands[LandRequestMapping[_requestId].landId].document=documentUrl;
lands[LandRequestMapping[_requestId].landId].isforSell=false;
lands[LandRequestMapping[_requestId].landId].ownerAddress=LandRequestMapping[_requestId].buyerId;
return true;
}
function makePaymentTestFun(address payable _reveiver) public payable
{
_reveiver.transfer(msg.value);
}
}
Chapter 8
8.1. Development –
Truffle – Truffle is a one stop ide for testing and developing decentralized applications like our project. It is
very common to write and compile Solidity code manually which is fine for small projects. However, as our
project is growing bigger and bigger, it is good to have an automatic way of smart contracts development. In
addition, testing Solidity code is crucial to avoid any problematic situation caused by a bug in the smart
contract. There are different frameworks available for taking care of the development process. Truffle is one
of them and is often regarded as the Ethereum Swiss Knife framework as it is a development environment,
testing framework and asset pipeline for Ethereum. We have used truffle for our project for deployment and
testing.
Ganache- Ganache is a personal blockchain for Ethereum development that allows developers to test their
smart contracts and decentralized applications (dApps) in a local environment. Ganache is widely used in the
Ethereum development community because it allows developers to quickly and easily test their smart contracts
and dApps without having to deploy them on the live Ethereum network. This can save a significant amount
of time and money, as developers can identify and fix issues before deploying their applications on the
mainnet.Ganache also provides different modes, such as a quick-start mode, a workspace mode, and a
command-line interface, to fit different development workflows. Additionally, Ganache supports integration
with popular development tools and frameworks like Truffle and Remix.
8.2. Testing –
● Install the flutter, nodejs
• Install the metamask chrome extension, choose the local network and import the accounts.
• Compile and run Our migrations from the command line as shown below:
truffle compile
truffle migrate
Chapter 9
RESULTS
9.7. Working –
First user adds his land details which are verified by the land inspector. To buy or sell land, user must
send a request to land inspector. After the request has been 26 accepted by land inspector the users can make
the transactions. The transaction is verified by the land inspector. After the transaction is verified, the
ownership is transferred.
Chapter 10
1. Legal recognition: One of the primary challenges of land registration using blockchain technology is
legal recognition. Most legal systems currently require a centralized authority to oversee the land
registration process. Therefore, there is a need to establish a legal framework that recognizes
blockchain-based land registration systems and assigns legal validity to the records maintained on
them.
2. Data privacy: Another challenge of using blockchain technology for land registration is data privacy.
While blockchain technology provides a high degree of security and transparency, it also raises
concerns about data privacy. Sensitive personal information, such as the names and addresses of
property owners, would need to be protected from unauthorized access.
3. Technical expertise: To implement blockchain-based land registration systems, there is a need for
technical expertise. This includes the development of blockchain applications, smart contracts, and the
ability to maintain and upgrade the system.
5. Adoption: Finally, the adoption of blockchain-based land registration systems would require
significant investment in infrastructure, training, and education. Governments and other stakeholders
would need to be convinced of the benefits of the technology and invest in its development and
implementation.
6. Technical scalability: One of the main challenges of blockchain technology in general is technical
scalability. As the number of transactions and participants on the blockchain network increases, the
system can become slower and more expensive to operate. This can be a significant challenge for land
registration systems, which may need to handle a large number of transactions.
7. Network security: Blockchain networks are only as secure as the participants that operate them.
Therefore, it’s essential to ensure that all participants in the land registration network are trusted and
have the necessary security measures in place to prevent attacks.
9. Legal disputes: Despite the transparency and immutability of blockchain technology, legal disputes
can still arise. Disputes over property ownership, for example, may still require court intervention,
even if the ownership is recorded on a blockchain.
10. User adoption: Finally, user adoption can be a significant challenge for blockchain-based land
registration systems. Property owners, real estate agents, and other stakeholders may be resistant to
change or skeptical of the technology’s benefits. Therefore, education and awareness-raising efforts
may be needed to promote the use of blockchain-based land registration systems.
Overall, while there are several challenges associated with implementing blockchain-based land
registration systems, the potential benefits, such as increased efficiency, transparency, and security, make it an
attractive option for governments and other stakeholders.
One example of blockchain integration is the integration of blockchain with supply chain management
systems. By integrating blockchain with supply chain management systems, companies can track products
and materials from their origin to the point of sale, ensuring transparency and accountability in the supply
chain. This can help prevent fraud, counterfeiting, and other supply chain-related problems.
Another example is the integration of blockchain with healthcare systems. By integrating blockchain
with healthcare systems, patient data can be stored securely and accessed only by authorized personnel,
ensuring patient privacy and confidentiality. Blockchain integration can also help prevent medical errors,
streamline insurance claims processing, and enable faster and more accurate diagnoses.
Overall, blockchain integration with other systems has the potential to revolutionize various industries
by providing enhanced security, transparency, and accountability.
a) Immutable ledger: Blockchain technology uses a decentralized and distributed ledger that records all
transactions in a permanent and immutable way. Once a transaction is recorded on the blockchain, it
cannot be altered or deleted. This helps to prevent fraud and tampering, as all changes to the ledger are
publicly visible and can be traced back to their source.
a) Supply chain management: By integrating blockchain with IoT devices, companies can create a
transparent and secure supply chain network. Each device in the network can be assigned a unique
digital identity, which can be used to track and trace the movement of goods and products across the
supply chain. This can help to prevent fraud, reduce waste, and improve efficiency.
b) Smart home automation: Blockchain integrated with IoT devices can enable secure and efficient
communication between smart home devices, such as thermostats, lights, and appliances. This can help
to automate routine tasks, such as turning on the lights when someone enters a room, and enable remote
control of devices from a smartphone or other device.
c) Energy management: By integrating blockchain with IoT devices, energy companies can create a more
efficient and secure energy grid. Smart meters and other IoT devices can be used to monitor and track
energy usage in real-time, and blockchain can be used to create a decentralized and transparent ledger
of energy transactions.
d) Healthcare: Blockchain integrated with IoT devices can enable secure and efficient communication
between medical devices, electronic health records, and other healthcare systems. This can help to
improve patient care, reduce costs, and enhance data privacy and security.
Deploying on a private Ethereum network is beneficial for testing and development purposes, or for
creating private consortiums where only selected participants can access the network. Private networks can be
customized to meet specific needs, such as modifying gas fees or block times, and can offer more control over
the network’s configuration. Private networks may also not require ether as gas fees, reducing costs for
transactions.
This allows developers to focus on building and improving the Dapp, rather than maintaining the
infrastructure. Cloud platforms also provide scalability, which is essential for Dapps that may experience high
traffic volumes. The platform can automatically scale up or down to meet demand, ensuring that the Dapp
remains available and responsive.
Cloud hosting can also be cost-efficient, as it allows developers to pay for only the resources they use.
This can be especially beneficial for startups or smaller projects that do not have the resources to invest in
their own infrastructure.
Firstly, collaborating with government agencies can provide access to resources such as funding, data, and
expertise. This can be especially beneficial for Dapps that address public sector challenges or provide public
services. For example, a Dapp focused on improving public transportation may collaborate with local
government agencies to access real-time transportation data or funding opportunities.
In addition, collaborating with government agencies can help ensure regulatory compliance. Government
agencies often have strict regulations and guidelines that must be followed, and working with these agencies
can help ensure that the Dapp complies with these regulations. This can help prevent legal or regulatory issues
down the line.
10.3. Conclusion
The conventional property registration system has several flaws that demanded focus of researchers to
address the same issues. Among many issues, tampering of record, misuse of property and unethical practices
concerning poor finance management, that lead traditional property system an area for research. This study
provides a solution for controlling transparency and provides a trusted property registration system over the
Blockchain. The infrastructure offers many features to the stakeholders related to the buying and selling of
property. The transparency, integrity of the record, and trust factor is ensured via a tamper-proof ledger.
Traditional land ownership transfers constitute an investment of the prodigious amount of time and money.
Many nations employ the presence of middlemen or nominees for a verified transfer of ownership, in spite of
which, related concerns long to be raised. Moreover, many cases related to forgery and duplicate papers for
one single piece of land can also be produced by a corrupt system. In order to address such challenges, the
concept of Blockchain has been applied in the proposed system. The trade-offs have been looked at by
designing, implementing and evaluating various cases that may arise in terms of ownership transfer of land.
It was found that the smart contracts provide transparency and minimization of any third-party entity involved
in the designated process, thus reducing the amount of time and money laid out. The implementation has given
acceptable transaction rate and transaction cost on the Ethereum platform. However, as the eth cost alters at a
very high rate, there is always uncertainty about the amount of gas cost that would be required for each
transaction. But regardless the system succeeds in tackling the problem mentioned. Thus, this Blockchain
based system proves to be apt for handling all the cases of land ownership transfer at the cost of the
participating entities of each transaction in the network.
In conclusion, implementing a land registration system using blockchain technology has several potential
benefits. By leveraging the decentralized and immutable nature of blockchain, the system can enhance
transparency, security, and efficiency in the land registration process. This can reduce the risk of fraud, errors,
and disputes, while also streamlining the process and reducing costs. The use of smart contracts can also
automate certain aspects of the process, further increasing efficiency and reducing the need for intermediaries.
However, the successful implementation of a blockchain-based land registration system requires careful
consideration of several factors, including legal and regulatory frameworks, interoperability with existing
systems, and stakeholder buy-in. Collaboration with government agencies and other relevant stakeholders can
help ensure that the system meets their needs and addresses their concerns.
Although there are still some challenges and limitations to the widespread adoption of blockchain
technology in land registration, such as technical complexity and regulatory issues, the potential benefits are
significant and compelling. As the technology continues to mature and evolve, we can expect to see more
innovative and transformative use cases emerge in the field of land registration and beyond.
REFERENCES
© 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 1197
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 10 Issue: 04 | Apr 2023 www.irjet.net
p-ISSN: 2395-0072
3. PROBLEM STATEMENT
Land registration is a crucial process for
establishing and maintaining property rights, and it is a
complex process that often involves multiple intermediaries,
paper-based documentation, and high transaction costs. The
current land registration system is vulnerable to fraud,
corruption, and inefficiency, which can lead to disputes over
property ownership, impede economic development, and
deprive vulnerable groups of their property rights.
As of now, the user is not yet verified and only the land
inspector can verify him.
For this, the contract owner will first add the land
inspector.
© 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 1198
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 10 Issue: 04 | Apr 2023 www.irjet.net
p-ISSN: 2395-0072
Users can now add their lands. They can add all the added land inspectors. The land inspector’s dashboard
details of land, land document and user can also draw consists of the functionality to verify user, verify land and
their land on map as we can see below image. transfer ownership. If we login as the user, we have the
options of adding lands, land details, seeing all lands, sending
and receiving land requests. We have used truffle IDE to set
up the DAPP.
After the land owner accepts the request, user who has Metamask - MetaMask is a software cryptocurrency wallet
sent the request can make payment from his account to used to interact with the Ethereum blockchain. It allows
buy the land. users to access their Ethereum wallet through a browser
extension or mobile app, which can then be used to interact
Finally, the land inspector can see all the payments with decentralized applications.
done and will verify the payment and then transfer the
ownership. While transferring land, land seller, buyer Web3.js - Web3.js talks to The Ethereum Blockchain with
and one witness has to be present. Land inspector will JSON RPC, which stands for "Remote Procedure Call"
capture their photo, will take information from the protocol. Ethereum is a peer-to-peer network of nodes that
witness and then transfer the land. stores a copy of all the data and code on the blockchain.
Web3.js allows us to make requests to an individual
After transferring land, app will create digitally signed Ethereum node with JSON RPC in order to read and write
document and it will be automatically uploaded to the data to the network. It's kind of like using jQuery with a JSON
database. API to read and write data with a web server.
Then seller can see the bought land in my land option. 5. DEVELOPMENT AND TESTING
4.2 IMPLEMENTATION Truffle - Truffle is a one stop ide for testing and developing
decentralized applications like our project. It is very
Flutter - We have made frontend of our project using common to write and compile Solidity code manually which
Flutter. Flutter is open source and created by Google. It is a is fine for small projects. However, as our project is growing
cross platform SDK. Using single codebase we can create bigger and bigger, it is good to have an automatic way of
application for Android, IOS and Web application. Currently smart contracts development. In addition, testing Solidity
with newer version of Flutter we can also create apps for code is crucial to avoid any problematic situation caused by a
Windows, Linux and Mac os. On the front screen, one can bug in the smart contract. There are different frameworks
login as a user, land inspector, or contract owner. The available for taking care of the development process. Truffle
contract owner can add a land inspector and see all the is one of them and is often regarded as the Ethereum Swiss
Knife framework as it is a development environment, testing
© 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 1199
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 10 Issue: 04 | Apr 2023 www.irjet.net
p-ISSN: 2395-0072
Fig3: Payment
© 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 1200
International Research Journal of Engineering and Technology (IRJET) e-ISSN: 2395-0056
Volume: 10 Issue: 04 | Apr 2023 www.irjet.net
p-ISSN: 2395-0072
8. CONCLUSIONS
The conventional property registration system has
Fig4: Land Ownership Transfer several flaws that demanded focus of researchers to address
the same issues. Among many issues, tampering of record,
misuse of property and unethical practices concerning poor
finance management, that lead traditional property system
an area for research. This study provides a solution for
controlling transparency and provides a trusted property
registration system over the Blockchain. The infrastructure
offers many features to the stakeholders related to the
buying and selling of property. The transparency, integrity of
the record, and trust factor is ensured via a tamper-proof
ledger.
REFERENCES
[1].ALEXANDRU OPRUNENCO AND CHAMI AKMEEMANA.
USING BLOCKCHAIN TO MAKE LAND REGISTRY MORE
RELIABLE IN INDIA, AVAILABLE:
https://www.undp.org/blog/using-blockchain-make-land-
registry-more-reliable-india
Blockchain is a social revolution and is making its [4]. RESTORING TRUST IN PUBLIC LAND REGISTRIES,
way through all important areas especially where security is GEORGIA AVIALABLE:
a concern. It is a social revolution and we have to take our https://www.newamerica.org/digital-impact-governance-
best efforts to harness this technology to the best of our initiative/digital-impact-and-governance initiative-
ability. There is good scope for improving the current projects/digi-blogs/project-capsule-georgia-land-titling-
solution for cloud storage. The application serves basic system/
functionalities but can be extended to provide some
advanced features. [5].I. KARAMITSOS, M. PAPADAKI, AND N. B. AL
BARGHUTHI, “DESIGN OF THE BLOCKCHAIN SMART
Deployment on mainnet or a private Ethereum network- CONTRACT: A USE CASE FOR REAL ESTATE,” JOURNAL OF
Currently the blockchain network is deployed on the ropsten INFORMATION SECURITY, VOL. 9, NO. 03, P. 177,
test net which uses ETH from faucets which has no real value 2018.AVAILABLE:
and therefore no market for tesnet ETH. So going further we https://www.scirp.org/pdf/jis_2018062815280747.pdf
would deploy it on a Mainnet or a private ethereum network
depending upon our requirements so that it gets connected
with real world.
© 2023, IRJET | Impact Factor value: 8.226 | ISO 9001:2008 Certified Journal | Page 1201
[6].SOLIDITY PROGRAMMING DOCUMENTATION,
AVAILABLE: https://docs.soliditylang.org/en/v0.8.11/
[7]ETHEREUM BLOCKCHAIN
DEVELOPER’S
DOCUMENTATION:
https://ethereum.org/en/developers/docs
BIOGRAPHIES
Aakash Shrestha is pursuing BE.
CSE in Sambhram Institute of
Technology, Bangalore. Worked as
a leader in final year project on
blockchain based land registration.