The land registry and real estate transactions is one area where security and transparency are important and where there is a high level of value, but where the required transaction speed and the number of transactions is significantly lower. People who have looked at this area, like the Economist, understand that the value for society may be enormous — not least in countries that lack stable institutions such as legal systems, land registries, etc.
The aim of this project is to implement the ISO 19152:2012 standard (Geographic information — Land Administration Domain Model (LADM)) on the Ethereum Blockchain.
The starting point for that will be the Solutions for Open Land Administration (SOLA-FAO) which is a J2EE implementation that has many uses cases in Africa and Asia. Using SOLA allows us to incorporate international best practice and standards, facilitating the essential customization always required to meet specific country needs, as Cadastre and registration functions and services are always provided by a typical land office.
This project is challenging because it implements geospatial data management features, needed to handle land parcels, on the Blockchain technology, which is an open research subject at the Open Geospatial Consortium where a Blockchain and Distributed Ledger Technologies Domain Working Group has been created especially for that.
One of the major goals for porting this land registry solution to the etherum blockchain is the ability to use it as a crowd sourcing land registry plateform to collect tenure relationships and as a tool for communities to assess and clarify their tenure regimes so to protect the individual and collective rights of their members.
- Project Setup
- Usage
- Singaling
- Implementation details
- Project related documentation
- Miscellanious
- Other existing similar Blockchain solutions
- Further Reading
DeLA plateform is a Decentrelized Application (dApp) for Land Administration built for the Ethereum blockchain. It comprises 03 components :
- The smart contracts written in Solidity
- The frontend web application built with react.js
- The backend application implementing a REST API to interact with the parcels map (optionnal).
To run this dApp, follow the instruction below.
Clone this GitHub repository.
git clone https://github.com/allilou/onchain-land-administration.git
Since the project is developped using the truffle framework, you should check the network configuration in solidity/truffle-config.js
before continuing.
If you haven't yet setup developpement envirenment :
npm install -g ganache-cli
npm install -g truffle
Launch etheruem local developpement node :
ganche-cli
Install smart contracts dependecies (OpenZeppelin libraries) and migrate the solidity contracts to your local EVM.
cd solidity
npm install @truffle/hdwallet-provider @openzeppelin/contracts@2.5.0 truffle-assertions
truffle migrate --reset --network develop
For the rinkeby testnet (put your seed phrase in a text file on solidity/.secret):
truffle migrate --network rinkeby
Install dependiencies and compile React/Web3 frontend web application.
cd client
npm install
npm start
To deploy to github pages :
export NODE_OPTIONS=--max_old_space_size=8192
npm run build
npm run deploy
Install dependiencies and compile Node.js/Express backend server (deprecated).
cd server
npm install
npm start
The following sequence diagram illustrate the overall process that will be implemented in the DeLA project .
To manage geospatial data transactions and visualisation, the FOAM protocole, described by the diaram below, is used. One can trigger a transaction simply by switching to editing mode and clicking on the map. A marker with the 'Transaction Hash' will be added at the clicked position on the map.
As a broader vision, the DeLA platform will alow a signaling process, described by the diagram bellow, to incentivize cartographers to add features to the Feature Index database. Those featuers are necessary to allow basic users, with minimum knowledge on webmapping, to identify directly the features they own on the displayed map.
The FOAM protocole, developped by FOAM space was implemented using the White Paper with a set of solidity smart contracts and a client/server applications for the spatial index management and visualisation. Some modifications was implemented to explore the alternatives suggested by the OGC discussion paper ($7.5)
For the Crypto-Spatial Coordinates, the javascript interface of the H3 library was used with the resolution 15 (Average Hexagon Edge Length of 0.5 km) because it is a partially conforming implementation of the Geodesic Discrete Global Grid Systems OGC standard.
For simplicity, the geospatial data are stored in a Spatialite database. In the future and for scalling purposes, other geospatialy enabled DBMS, like PostreSQL/PostGIS, could be used.
For the spatial index backend, the OGC API - Features - Part 1 : Core and the ArcGIS REST API Feature Service was used as a standarized REST API dedicated to manage geospatial data objects.
For the frontend, the Leaflet library is used to display a map with a markers representing the added indexes.
Comparison with the FOAM protocole implementation
- Spatialite -> PostgreSQL/PostGIS, redis
- Leaflet -> deck.gl
- H3 (DGGS) -> geohash
- Truffle -> Chanterelle
- JavaScript -> Purescript, Haskell
- FOAM Space Public Research
- dPoL: A Peer-to-Peer Digital Location System
- Blockchain Consensus Encyclopedia / Proof of Location
- Platin Proof of Location on the Blockchain
- How to Enable a Smart Contract to Get Real-World Location Data
- XYO Network : An open, secure crypto-location oracle network
- McKinsey : Blockchain beyond the hype: What is the strategic business value?
- Top 7 Blockchain Business Models That You Should Know About