Help your peers agree.
Harmonia is a platform for cost effective, scalable, decentralized dispute resolution through NuCypher time encrypted voting, IPFS file storage, and the SKALE blockchain network. Harmonia is peer to peer dispute resolution.
Every time I have heard about an AirBnb dispute from a guest, it was the worst thing ever. Every time I have heard about an AirBnb dispute from a host, no complaints. What is the commonality? Neither actually knows how AirBnb handles disputes.
From a business perspective, the cost of losing a random non-host user is probably less than the cost of losing a random host user. This can be derived by comparing the company's $200 reward for referring new place hosts and $150 reward for referring new experience hosts to the company's $0 reward for referring new users.
So if the blame is not clear, or for any less innocent reason that justifies it, siding with the host -- or whichever side generates better revenue for the company -- by default would be a wise business decision. Even though it is not necessarily right.
This simple example is just one of the numerous environments where 3rd party bias can unfairly alter how disagreements are settled.
Disputes are resolved in an honest and fair way without 3rd party (corporate) interests influencing outcomes.
By decentralizing disputes to one's peers, Harmonia ensures an open and fair dispute resolution.
The Arbitrator.sol
contract is the capstone and sets up a platform where offers can be proposed and processed through completion. What makes it cool is the dispute resolution process.
Disputes are initially hoped to be worked out between the 2 parties involved (e.g. renter & landlord); but if they are not, they are opened up to be voted on by trusted dispute resolutionists.
In order to be a dispute resolutionists, users stake (lock up $ in) HAR
, a fungible token. Resolutionists risk both their reputation and their stake when voting, and can be penalized for dishonest participation. For honest participation, resolutionists are rewarded with HAR
.
So if I am a dispute resolutionist looking to avoid "dishonest participation", why not just look and vote the same as everybody else voted?
Well, to make sure dispute resolutionists are not influenced to vote a certain way based on how other dispute resolutionists vote, all votes are encrypted until the voting period has ended. At that time the private key is made public by being published on chain, so anyone can verify the results.
The goal of this is to make sure dispute resolutionists take time to review the contents of a dispute, and actually assess the situation, before voting.
Because they are not rewarded based on future earnings, and their voting records are public, dispute resolutionists are not motivated to vote with any intention other than "doing the right thing".
Agreement is made - Offer accepted
offeror
opens an offer Agreement (e.g. a rental contract stored on IPFS) to a offeree
.offeree
accepts said Offer, and the Agreement is set.Something goes wrong - Dispute opened
offeror
or offeree
) feels something went wrong, and would like to be compensated accordingly.
plantiff
.defendant
, is notified.defendant
has a few options: 1. Settle 2. Counter 3. Decline.
defendant
's deposit to the plaintiff
and the Dispute is overplaintiff
can either settle or declineThey can't work it out - Peers vote
HAR
, enabling them to vote on disputes, and are rewarded with HAR
for voting.
HAR
is an ERC-20 fungible token.plaintiff
to the defendant
as a dispute is opened.Voting ends - Open resolution reached
plaintiff
and defendant
decrypt and count the votes, and the private key is made public on chain.plaintiff
and defendant
, payment (if applicable) is transferred from one party to the other.
git clone https://github.com/gumdropsteve/Harmonia
cd Harmonia
npm install
npm install -g truffle
truffle compile
truffle migrate --reset --network skale -f 2
https://skale.network/docs/developers/wallets/getting-started#metamask
To run the unit testing scripts
truffle test ./test/Arbitrator_test.js
truffle test ./test/Token_test.js
A peer-to-peer hypermedia protocol designed to make the web faster, safer, and more open.
We used IPFS to store Agreement.documents, Dispute.plantiffEvidence and Dispute.defendantEvidence files.
A decentralized threshold cryptography network offering interfaces and runtimes for secrets management and dynamic access control.
We used NuCypher to help keep votes private while the voting period is live so that voters are not influenced by other voters, while allowing plaintiff
s and defendant
s to decrypt votes to see results.
Decentralized modular environment for Solidity dApps. Elastic Network for Ethereum Scaling.
We used SKALE to eliminate gas fees, reduce costs, and accelerate transaction speeds.
This dispute resolution contract was originally thought of as part of a decentralized real estate rental service, making AirBnb like disputes between guests and hosts more transparent and honest.