Descrow
A decentralized escrow protocol that facilitates secure P2P payments between trustless parties
Demo
About
The problem it solves ## Facilitating safe payments between trustless parties In most transactions, online and offline, where a buyer and a seller engage in the exchange of goods/services for money - there is an inherent risk of fraud. And there is always an open question - what should be dispatched first, the money or the good? These transactions could be anything from a freelancer’s payment from a client to buying goods from peer to peer platforms like eBay. Such transactions amount to upto $100tn globally every year. Currently, there are two predominant ways of solving this problem of trust: ### Escrow An escrow service acts as a third party that mediates between the two parties. In this model, however, an escrow usually takes sizable commissions (Escrow.com takes 6.5%, Tazpay takes 1.8%). Additionally, these centralized services have the final say on disputes and are not always impartial. Even with their limitations, the market for escrow services is huge. The global SaaS escrow market alone is estimated to be $35bn. ### Reviews Listing sites and P2P marketplaces like eBay use reviews and ratings to keep fraud in check. This gives both parties an indication of the credibility of their counterparty. Although this system has been effective in reducing fraud, it is increasingly becoming irrelevant due to fake reviews. ## Solution Our protocol was designed to overcome the deficiencies of web2 solutions. It has the following features: 1. **0% commission** as there is no third party involved. 2. **Impossible for fraud to occur** without incurring a personal loss. 3. **Immune to power imbalance** between parties. ## Use Cases 1. Can power the **payments process of P2P marketplaces** like eBay or Binance 2. **Ideal for small creators** entering agreements with large companies over small sums. 3. Ideal for conducting **instant but large transactions** without having to pay commission. 4. Can work with a web3 listing service to function together as a **decentralized eBay**
How it's made
Challenges we ran into ## Handling edge cases in the protocol Our protocol utilizes staking and keeps track of multiple interdependent states. Ensuring that parties don't lose money because of a user error and ensuring that no party can commit fraud on account of a bug was a challenging task. ## Designing a factory contract We had no experience automating the creation of contracts from a factory smart contract. Designing this factory and choosing the right data structures that could enable a near-seamless frontend was something we had to figure out too. ## Handling multiple contracts and events on the frontend The React frontend was a challenging aspect as well. Our app had to be capable of being connected to and listening to the events fired by multiple contracts and seamlessly updating state.