VIDEO DEMO

https://www.loom.com/share/36d0751dae0d49ca8175f1b6fcec23a2

Bounties

  • ETHWarsaw Foundation
  • Gnosis Chain: dApp on Gnosis Chain
  • Ramp Network: best app using blockchain without showing it
  • Arweave: UI hosted on Arweave / best social App project

Inspiration

The search for a flat is complex for many people. Searches pile up and sometimes there is a lot of negative feedback from landlords. It should be noted that every time you search for a property, you have to apply by generating proof of solvency such as salaries. Normally, it is taboo to reveal your salary and even more so to an individual you do not know. It is not known where the documents analyzed by the landlords are stored. This information can be revealed to the general public through data leakage. Thus, the personal information of many people can be hacked and used without their knowledge. In addition, another notable problem is the speed of payment and the promise to rent a property. There is always a time lag between the promise and the actual payment guarantee. Thus, according to the current mechanism, it is necessary to say "I’m interested", to provide the appropriate documents, to carry out a visit and to confirm via a bank transfer the taking. The process is intensive and deserves to be simplified while protecting both the tenant and the landlord. It is all the more intense when this process has to be repeated each time.

What it does

We have created a dApp that meets three needs for flat rentals:

  • To show that you are creditworthy without having to reveal your personal information
  • Increase security as sensitive information is stored on-chain
  • Speed up the process of contracting a flat rental

This dApp takes the form of a marketplace where landlords put their properties up for rent. Flat seekers are able to apply for each offer by providing proof of solvency based on a ZK badge issued by a DAO of notaries. Thus, instead of asking for all the documents needed to be eligible to rent a flat, the person will only have to issue his or her ZK badge containing the necessary elements. The landlord will not have to check the validity of the information because it will be verified beforehand. He will see at a glance whether the person is solvent or not. The owner can instantly validate or not the person's application. If the application is approved, the contract is concluded. In addition, when applying, the person has to lock the deposit to speed up the process if the application is accepted. Of course, he can officially accept the accommodation or not, if he does not accept it he can withdraw the locked funds. He has 2 days to answer "yes" to the offer otherwise the owner can move on to the next person.

How we built it

We built a marketplace between landlords and tenants that contains 4 functionalities:

  • A Notary DAO to obtain a ZK proof of documents submitted
  • For landlord: offer creation linked to a smart contract in order to have his requirements/needs like the price of deposit and personal information needed (salaries...)
  • For applicant: submission of their ZK badge + creation of an escrow contract to put a deposit (if ZK badge is okay according to the smart contract)
  • Accelerate a deal between the two parts thanks to the lock of deposit and the Metamask snap (alert) which sets a timer of 2 days for the tenant to officially confirm or not the rental of the flat and directly initiate the payment of deposit (linked to the escrow contract)

Challenges we ran into

  • Time
  • Front-end issue

Accomplishments that we're proud of

We have created a concrete use case for the application of the Zero Knowledge Proof in real life. This kind of project will be reusable in the future for other cases.

What we learned

  • How work a ZKP

What's next for ZK RENT

  • Build an official Notary DAO (like Kleros with judges) in order to obtain a ZK proof

  • Metamask alerts: when the applicant is selected, a Metamask alert appears with a timer of 2 days to accept or not the flat rental. Once the offer is officially accepted, the deposit is transferred to the landlord.

  • A paiement transactions between landlord & tenant to increase confidentiality

Built With

Share this project:

Updates