Keywords

1 Introduction

1.1 What Is Blockchain?

Blockchain [1] is an encrypted, distributed database that records data, or in other words, it is a digital ledger for transactions or contracts—that need to be recorded. It involves creating verification records for digital files. These verification records are the uniquely identifiable hash values calculated by using the data being stored in the actual files and are grouped into an entity called as block’ [2]. The block is then added to a chain of blocks such that it includes hash values of the block that is preceded by it. This creates a chain of hash values all the way back to the first block. Therefore, it is impossible to alter information stored in older blocks without changing the subsequent blocks because changing the block would change its hash value and disprove the chain.

Confidence in the original transactions and documents [3] improves when several actors have access to the blockchain’s records. When the verification records are open and difficult to manipulate, there is less reason to question them, and trust and confidence in them grow significantly. Hence, blockchain has the ability to create a securely shared history of transaction.

1.2 Ethereum—an Application of Blockchain

Blockchain [4] is one of the most talked technologies in recent years and the best and well-known application of blockchain is ‘Bitcoin’ [5]. It is a digital currency which is governed by computers for their authenticity and usage, uses peer-to-peer technology to operate with no central authority such as banks or governments, managing transactions and the mining of bitcoins are carried out collectively by this network of computers.

Another publically distributed network is ‘Ethereum’ [6]. Although, similar to Bitcoin, Ethereum differs substantially in purpose and capability. While the Bitcoin blockchain is used to track ownership of digital currency (bitcoins), the Ethereum blockchain focuses on running the programming code of any decentralized application. Rather than giving a set of limited operations, Ethereum allows developers to create desired contracts. It allows developers to create smart contracts [7], which is an agreement that self-executes and handles the enforcement, the management, performance, and payment of legal tender in some cases.

Ethereum has the following advantages [6] when used as a platform:

  • Immutability—A third-party cannot make any changes to data.

  • Corruption and tamper proof—Apps are based on a network formed around the principle of consensus, making censorship impossible.

  • Secure—With no central point of failure and secured using cryptography, applications are well protected against hacking attacks and fraudulent activities.

1.3 Blockchain in Land Registry

When a purchaser seeks to buy illicit property today, he must make sure that the property he buys is legal and needs lot of paper work for the same. This seems simple on surface but for a large number of residential mortgage holders, flawed paperwork, forged signatures, defects in foreclosure, and mortgage documents have marred proper documentation of property ownership. By using hashes [8] to identify every real estate transaction (thus making it publicly available and searchable), proponents can argue on issues such as who is the legal owner of a property.

Various programs [9] have been launched with an aim to computerize all land records, including mutations, improve transparency in land record maintenance system, update all settlement records, and minimize scope of land disputes. Along with digitization [2], a level of trust needs to be developed among people for creating, enacting, verifying, storing, and securing these digital contracts. Blockchain technology [2] is a method which enables the above-listed functions effectively since it is based on consensus from various nodes after which that particular transaction block is added to every node in the distributed database, i.e., Blockchain. Thus, use of blockchain technology serves as the basis for a more reliable, cheaper, and more efficient land registry.

2 Existing Methodologies

Some organizations, across the globe, have initiated development of platforms and projects to effectively utilize blockchain for maintenance of land records. Propy [10] provides such a platform in the form of a website as well as distributed application (DApp). Testbed [11], part of a Swedish project is another solution for land record maintenance using blockchain.

Propy [10] platform unifies and standardizes property listing in global cities including USA, China, Russia, the Middle-East, and Europe. It automates the purchase process by online land ownership delivery and manages secure payment transactions. This process involves the buyer’s broker as well as the seller’s broker for interaction between the buyer and seller.

The testbed project [11] in Sweden includes private blockchain that can be run by public and private entities. It includes a software application that manages contracts controlled by and recorded on blockchain. The seller contacts a real estate agent and grants commission to the agent to sell the property via the software app to the interested buyer.

Contrary to Propy [10] and the testbed [11] project, the solution proposed in this paper enables direct buyer–seller interaction without external intervention. This eliminates the need of a government official or a broker and hence enhances transparency. The solution also facilitates the government bodies to access the history of a land property or the details of all the real estate a person owns.

3 Proposed Solution

The solution discussed in this paper aims at using blockchain, smart contracts, and a Web portal for real-time land record maintenance. Any registered user on the portal is allowed to buy plot on sale or sell his land or even tokenize the plot to be inherited by their successors. The seller and buyer will work with ether as their legal tender and all the transactions will be recorded on different blocks over the blockchain sequentially.

3.1 Stakeholders

Stakeholder may be a person, group of individuals, or organization that is interested to carry out the transaction. Important stakeholders included in proposed solution are as follows:

  • Government Initially, each and every unowned plot or land is registered under the government, with the land’s location—co-ordinates and its area (per sq. ft.).

  • Buyer A registered user can act as a buyer if he intends to buy a land property using the Web app.

  • Seller A seller is the one who displays all the properties he owns and wants to sell the same. He will be notified if he has any requests from buyers for the property he has opted to sell.

  • Bank Institution The bank institution will be involved so as to verify the buyer’s status and whether he can actually afford the property.

3.2 Registration

Registration is mandatory for a user to be able to buy or sell the property(ies). The user can also be the government who wants to sell land to an interested buyer. The following figure, Fig. 1, describes the process where every user creates an account and gets a unique private key for further transactions.

Fig. 1
figure 1

Register/sign up

Blockchain technology creates a unique address and key for each user of the website post registration. The user has to take a note of this address along with password for the next time when he wants to log into the application. This address also has a corresponding unique private key [4], which will be kept confidential. This private key will be used to sign the transaction(s). Initially, any unclaimed land plot will be registered under the authority of government.

3.3 Selling a Land Plot

A user can have multiple properties registered under to name out of which he might be interested to sell any number of properties—one or even all. The user (seller) is given an option to mark the property as sellable. The following figure describes the process of selling a land plot where buyer can send a request to seller and transaction proceeds only if seller accepts the request and buyer has enough ether (Fig. 2).

Fig. 2
figure 2

Selling land plot

On logging into the application, the user puts on display all the properties he wants to sell by clicking on the sell option which will occur next to all the listed properties he owns. Seller can put the cost of his property in terms of digital currency ether, in this case, which is ethereum’s own digital cryptocurrency similar to bitcoin. The trade that would take place if all attributes abide by the rules as per contract, and the seller will receive the ether for his property sold from the buyer.

3.4 Buying a Land Plot

All the saleable properties can be filtered according to the area the buyer wants to buy from. Buyer can view the co-ordinates of the plot, location, its price, and current owner of the plot. The following figure, Fig. 3, describes interactions involved in buying a land property.

Fig. 3
figure 3

Change of land title

The buyer sends request for the property he is interested in buying by using the GUI of the Web app using his digital signature. This assures that the seller does not repudiate the request made by the buyer. Seller then accepts or rejects the buyer’s request. The smart contract, if the seller accepts, self-executes to check the required clauses and if all conditions are met, only then the approval is sent to the buyer along with money transfer request. The buyer provides affirmation using his digital signature after which he is notified regarding transaction completion and the land title is transferred to the buyer.

Tax which is paid to the government can be directly transferred from buyer’s account to the government using the smart contract itself. This eliminates the government from direct intervention between the users, along with, getting the expected legal tax, and makes the whole system peer-to-peer.

3.5 Viewing Land History

Another functionality provided by the solution is for the government organizations who want to check details about the owner of a particular land property. They can view the history of owners of a land by entering the ID of that property. Also, the officials can check the list of properties currently owned by a particular user by entering the address key corresponding to the account of that user.

3.6 Using Polyline API

The plot or the land property can be mapped precisely using Polyline API from Google. This API gives the exact co-ordinates of the plot, thus calculating the area of the plot the user intends to sell. The location of the plot can also be easily determined anywhere on the globe, tracing the plot’s co-ordinates. This provides to be a very strong verification feature and aims to solve issues related to property area.

4 Experimentation

The previous section gave an overview of the proposed system. The following section gives an idea about the actual implementation of the proposed solution so as to get a better understanding.

4.1 Setup

The following table shows comparison considering different parameters of the existing applications for the same purpose, i.e., for land record maintenance using blockchain (Table 1).

Table 1 Parametric comparison table

4.2 Implementation

The implementation is explained in three parts. The first part throws light on the back end of the proposed solution. The second part gives an idea about the front end or user interface of the solution. And the last part gives a brief about integration of the front and back end.

Back End

Remix [12] is the backend tool used, which is a powerful and open-source tool that helps to write Solidity contracts straight on browser. The huge advantage of using Remix is escaping all the installation hassle. It is written in JavaScript and supports testing, debugging, and deploying smart contracts. Since Remix is a Solidity IDE [13], it provides an interface to write code along with many features like syntax highlighting, auto-recompiling and auto-saving. Solidity is an object-oriented, high-level language used for implementing smart contracts.

The entire code for smart contracts in the proposed solution is written using Solidity in Remix. The code consists of two categories:

  • Users for storing details like name, contact number, and number of properties the user owns along with the corresponding property IDs. Each user corresponds to a unique address assigned to him once registration is done.

  • Property for storing details like area, price, current owner, and current status (unclaimed, pending, approved, rejected). Each property corresponds to a unique property ID. Each property also has a corresponding array for storing the owner history of that particular property.

Following are the functionalities for each user of the system:

  • The buyer can search for a particular property by entering the property ID in the search box from all sellable properties on display. The ‘SearchProp’ function will then search for that ID in the existing list of sellable properties. When the buyer is requesting seller for a property (‘RequestProp’) using his digital signature, a contract will get deployed. The buyer will have to pay a minimal amount for the same. After receiving approval from seller, the buyer initiates another function ‘Title Transfer Request.’ This function will verify whether the address of message sender and buyer matches, post which a transfer of currency in the form of ether to the seller’s account.

  • The seller can change the price of owned properties by using ‘SetPrice.’ This function checks whether the address of requestor and the address of owner are same and only then allows price to be modified. The seller has the choice to approve requests received by him for a particular property through the ‘ApproveRequest’ function. After receiving request for title transfer, the ‘Transfer Property’ function is initiated by the seller using his digital signature. This function checks if the message sender is the seller and if the ether balance in the buyer’s account is sufficient. If not, then the bank balance of the buyer can be checked for verifying if the buyer can actually afford the property at that point of time. Once all the clauses are fulfilled, the transfer of ether takes place from buyer’s account to seller’s account and a proof of title transfer and transaction is sent to both users.

  • The government has two additional functionalities. Along with acting as buyer or seller, the government can keep a strict eye on the properties that a user currently owns. This can be done using the ‘CheckOwnedProperties’ function by passing the address of the user. This function will check if the sender’s address is also the government’s address. This will help make the government’s tax procedure system more efficient and corruption-free. Another functionality of the government is ‘CheckOwnerHistory.’ This feature allows government to get information of owner’s history about a property.

Front End

The User Interface (UI) of website was created using Hyper Text Markup Language (HTML) and Cascaded Style Sheet (CSS). JavaScript (JS) was used for front end validations of input fields while creating an account.

5 Results and Discussion

From the implementation of our prototype, we found that, it can be efficiently used for land record maintenance with enhanced security using blockchain for storage of data. It also has an edge over existing technologies like Propy and testbed where broker was playing a major role in every transaction. Our prototype completely eliminates involvement of third-party and brings about complete transparency between buyer and seller. Hence, it results in cost reduction by cutting down the charges to be paid to the broker. Another crucial part in buying and selling off land is the area. Use of Polyline API provides added advantage for approximate calculation of area which can help in cross verifying area using the co-ordinates of mapped land pointed in an android app.

6 Conclusions and Future Work

From implementation of our prototype and study of existing methodology, we came to a conclusion that, nowadays, land records are still maintained in paper format or databases that can be easily tampered. The main advantages of this are enhanced security, elimination of brokers, transparency between buyer and seller and Polyline API for calculation of land area. Once the data is stored on blockchain, it becomes immutable. This can help in resolving issues related to ownership of a land in case of ambiguity and can help detecting false claims. Thus, our prototype can potentially replace not only physical data storage but also ensure high end security with increased transparency.

In future, this website can be converted into a DApp by using required technology. Once the DApp is created, the Polyline API can be integrated with it instead of using it. Also, the bank institutions which are presently checking the balance of buyer can be used to verify other clauses like the loan amount the account holder is already holding. Another advancement could be the prices of the properties automatically modifying with respect to the current market rate based on that location and area.