Escrow smart contract with independent judge
Hi guys! We in Flexiana work on DApps, smart contracts, crypto exchanges & crypto trading bots. We’re on the shift to pure-crypto usage without any bank account.
To achieve that, we have to replace all traditional instruments used in fiat markets.
First, let’s say that escrow is some form of Proof of Stake. It proves customer has resources to pay for service. It shifts risks to more balanced situation where delivery can still be paid even when customer is paying late or misbehaves.
We are very happy to use Ethereum blockchain & smart contracts. However “Code is law” might not apply in all situations. In fact, real business contracts often depend on things that are very hard to code in Solidity.
There might be lots of information needed. With oracles, there’s still a case where people might trick the system.
So we’ve added judges to smart contracts. It adds another problem.
Both parties have to agree on independent judge. This judge must be willing to provide her services for affordable price.
Feel free to add your comments where to look for good independent judges who will provide service for good prices.
There might be some service similar to https://jury.online but oriented on business contracts between two crypto-friendly parties.
What does the contract?
Each business case requires deployment of a new contract. It makes escrow a bit more pricey but it makes it more simple and secure.
After deployment, there are three parties. Judge, customer and delivery parties.
Judge can return funds to customer or transfer them to delivery.
At the same time parties don’t rely on judge and when they both decide they want to return money or transfer them to delivery, they can proceed without any interception from the judge.
In this point multiple deposits and increasing escrow is supported. Partial withdrawals support is in the backlog and will be developed in future.
Contracts are open source, party addresses are immutable once set so no party can steal contract.
What the contract doesn’t?
There’s no DApp now, no UI for deployment or management. You have to know how to deploy smart contract (using Metamask for example). Or you can contact me (email@example.com, firstname.lastname@example.org) for a help.
No partial withdrawals at the moment.
No unit tests yet. This is definitely something to be solved.
Profit sharing smart contract. This smart contract will have 2 use cases:
- in security tokens where token holders will receive tokens
- in companies that distribute shares to their employees
Follow us https://twitter.com/flexiana to be informed.
Show it to me
Look at our GitHub https://github.com/Flexiana/escrow
License is BSD (version 2-clause license, so called Simplified BSD license)
Please let us know when you will use this code. Maybe we can help (email@example.com, firstname.lastname@example.org).
~ Jiri Knesl, Flexiana CEO