Making P2P Great Again, Episode V: Contracts With Arbitration

Decentralized escrow protected by an independent arbiter

Obyte
Obyte

--

In 2017, in our first Making P2P Great Again blog, we introduced conditional payments that enabled safe transactions between parties that don’t trust each other. For example, conditional payment protected exchange of one token for another while both tokens are issued on Obyte (e.g. swapping bytes for blackbytes), or buying goods and services while their delivery is tracked by a mutually trusted oracle.

However, only a limited number of real-world business transactions fall under these restrictions. The vast majority of trade involves off-chain assets, and for most transactions there is no third-party oracle that would confirm that the agreed-upon goods or services have been delivered in good shape, exactly as specified by the contract.

Now, we close this gap by introducing contracts with arbitration. They enable any two-party contract to be secured by decentralized escrow that protects both parties who might not trust each other. They are best suited for international trade, a $32t market.

Problems with conventional contracts

Conventional contracts have served us for thousands of years but there are some friction and barriers to entry when using them.

Usually, the parties need to trust each other before starting any business relationship. If the buyer pays first, they have to trust the seller that they’ll ship goods or provide the services after receiving the payment. If the seller ships goods or provides the services first, they have to trust the buyer that they’ll pay for the goods or services. Either way, at least one party has to take risks.

The risks are often mitigated by reputations, and the business entities with established good reputations are considered lower risk. However, this also means that new entrants to the market are at a disadvantage because they don’t have any established reputation, even if their goods or services are otherwise superior. Therefore, they face barriers to entry.

Since dealing with tried and tested partners is more secure, businesses tend to stick to their existing partners and be less open to trying out new ones. Hence, the supply chains tend to be more rigid and less dynamic than they could be.

It is also common that when buyer and seller are companies of significantly different sizes, the smaller player pays (or delivers) first, thus shifting the risks to their side, while also giving even more bargaining power to the larger player.

Lastly, the conventional contracts are protected by the law and the party who feels they were defrauded can seek justice in the court of law. However, the legal process is often long and expensive, especially in cross-border contracts where the laws and courts of a foreign jurisdiction are involved, and enforcement of the court decisions is more complicated than in domestic cases. The friction involved in seeking justice through courts means that, in practice, this option is only available to larger players.

The friction of the standard court proceedings is in some cases removed by centralized third parties such as eBay, Amazon, or Paypal. Such platforms connect many small merchants and buyers, and the users need to trust only the central platform rather than each other. In case of a dispute, the platforms provide a lightweight dispute resolution process. However, the platforms are often both middlemen and monopolies. They have their own agendas, not necessarily aligned with the interests of buyers and sellers, and using their market dominance they are able to pursue those agendas at the expense of buyers and sellers. For example, they might extract high fees or heavily intervene against free markets.

Decentralized escrow

Fundamentally, the problem is the problem of trust, and the solution, like in our earlier Making P2P Great Again, is made possible by smart contracts. The smart contracts protect the parties independently of their prior reputations or market positions, while respecting their autonomy and privacy, in a P2P manner.

A smart contract is the backbone of the solution, however to support arbitrary real-world contracts, there are two other parts:

  • a conventional contract that sets out all the terms and conditions and is electronically signed by the parties using the private keys they already have in their Obyte wallet — similar to prosaic contracts we introduced before;
  • an arbiter chosen by the parties. In case of a dispute, any party can call the arbiter to resolve it.

The smart contract provides the decentralized escrow where the funds are stored for the full duration of the contract. This smart contract ensures that the money stored on the contract can only be spent in one of 4 ways:

  1. by the buyer, if they send the full amount to the seller;
  2. by the seller, if they send the full amount back to the buyer;
  3. by the buyer, if the arbiter has decided that the buyer won the dispute;
  4. by the seller, if the arbiter has decided that the seller won the dispute.

The main successful scenario consists of the following steps:

  1. The parties discuss the terms of the contract and choose a mutually trusted arbiter.
  2. One of the parties makes a formal offer to sign the contract to the other party. The offer includes the full contract text and the chosen arbiter. The offer is sent through Obyte’s end-to-end encrypted chat in the wallet.
  3. The other party accepts the offer.
  4. Both parties digitally sign the contract in their Obyte wallets. When they sign, a hash of the contract text is posted to the DAG. However the contract text is never made public, it stays only in the wallets of the parties.
  5. The buyer pays to the smart contract. That’s when the funds become locked on the escrow. The contract is between the buyer and seller, and no third parties have access to the funds.
  6. The seller sees that the funds are safely locked on the escrow and ships the goods or starts providing the agreed-upon service.
  7. As soon as the seller has met all their obligations, they tell the buyer (via Obyte chat or otherwise) that their work is done and they want the money to be released from escrow.
  8. The buyer checks the results of the seller’s work and if they are happy with it, they release the money from escrow to the seller — that’s the first of the 4 ways the smart contract can be spent from.

Most contracts are expected to go along this way, and the arbiter is never involved during the contract’s lifetime.

If the seller at some point sees that they cannot meet their obligations, they can refund the full amount back to the buyer by spending from the smart contract using the 2nd allowed way indicated above (they have a Refund button for that). That’s another peaceful outcome that doesn’t involve the arbiter.

If the seller thinks that they have provided the goods/services but the buyer refuses to release the money, or if the buyer thinks that the seller hasn’t met their obligations, either party can invoke the arbiter to resolve the dispute. The arbiter receives the contract text and connects with both parties to hear their version of the story and to get evidence proving their point. The arbiter takes a fee for their work. Having studied the evidence, the arbiter posts a decision using their Obyte wallet and names the winner of the dispute. The winner can then claim the money from the smart contract. This is when the latter 2 ways of spending from the smart contract are used.

Arbiters

As noted above, choosing a mutually trusted arbiter is an important part that makes the contract secure. To facilitate the selection of reputable professional arbiters, and tracking of their performance, we launched a dedicated website: arbstore.org.

The website lists the currently active arbiters with information about their professional backgrounds, pricing, and data about their activity, such as the number of contracts that chose them as arbiters and the number of disputes resolved.

The services of arbiters are paid, and they have to be paid only in case a dispute arises. Most contracts are supposed to end without a dispute, and their parties won’t have to pay anything to arbiters.

Each arbiter sets their own pricing which is shown as part of their listing on the Arbstore. The pricing is usually set as % of the contract amount, with min and max fees, and it may depend on the complexity of the contract as more complex contracts would obviously take more time to consider. It also can depend on the type of contract, its industry, and so on. The arbiters indicate different price brackets for different types of contracts in their profiles. If the contract doesn’t belong to any of the types supported by the arbiter, this arbiter should not be chosen for such a contract.

The arbiter fee is currently paid by the claimant (the party who invokes the arbiter) but in a future version we are going to implement a losing-party-pays model — it’s a bit more complex as the losing party is not known in advance.

Arbiters are identified by their Obyte wallet addresses. This is the address the arbiter decision must be posted from, and the address is included as part of the escrow smart contract. This ensures that the arbiter cannot be changed by anybody after the contract is signed, therefore the contract outcome cannot be manipulated by any third parties or a malicious party of the contract.

The fact that the arbiter address cannot be changed also creates a risk that the arbiter will not be able to post their decision in a dispute if they lose access to their wallet. For this reason, arbiters are strongly recommended to create multiple backups of their wallets to make sure they can always post a decision.

The risk that a contract will stay in dispute forever due to lack of arbiter decision still remains though. For example, if the chosen arbiter passes away before they resolve the dispute. To mitigate this risk, it is possible to have a group of arbiters behind a single arbiter address. The group address would be managed by someone assigned as secretary of the group, and they would assign new cases to any of the available arbiters, and then post the final decisions on their behalf. If an arbiter listed on the Arbstore represents a group of arbiters, this fact should be disclosed in the arbiter profile.

Arbstore

Arbstore’s job is signing up the arbiters, vetting them, monitoring their performance, making sure their services are timely and professional, routing dispute requests to arbiters, occasionally delisting arbiters who don’t perform to the Arbstore’s standards, and considering appeals when a party is not happy with the arbiter’s decision (which cannot be reverted as the Arbstore is not part of the escrow smart contract, however the appeal is still useful feedback about the arbiter).

For this service, arbstore.org takes a 0.75% cut from the contract amount, and the cut is subtracted from the seller.

Arbstore.org is currently the only listing for arbiters, however to ensure healthy competition, setting up alternative arbstores is also possible. They can have different pricing and different arbiter selection standards. Arbiters can choose the arbstore where they want to be listed on, and the Obyte wallet will automatically route the dispute requests to the arbstore where the chosen arbiter is currently listed.

Arbstore’s powers are intentionally limited to ensure it doesn’t become a monstrous middleman intervening with the business of its users. Arbstore is only responsible for listing the arbiters while users deal with the arbiters directly (only if they have a dispute), and they are free to choose any arbiter.

Privacy

Like ordinary contracts, contracts with arbitration are private by default.

As noted above, the contract text is never made public. It is saved only in the wallets of the contract parties and exchanged between them via end-to-end encrypted chat. Nobody else learns the content of the contract if it ends peacefully, i.e. neither party invokes the arbiter.

In case of a dispute, the claimant shares the contract text with the arbiter (and the arbiter’s wallet verifies its authenticity using the previously published contract hash), so the arbiter becomes the 3rd person to know the content of the contract. Obviously, they need it to resolve the dispute.

Only if the losing party appeals the arbiter’s decision, which can only happen if the losing party argues lack of diligence by the arbiter, only in this case the arbstore learns the content of the contract in order to consider the appeal.

Any currency

The contract can be in any cryptocurrency that circulates on the Obyte network. This includes GBYTE, USDC, ETH, and many other tokens that are imported, or can be imported in the future, from other networks, such as Ethereum.

We expect that USDC or other fiat-pegged stablecoins will be most commonly used as they preserve their value during the lifetime of the contract, which can take months. Their fiat equivalents are already used in real-world commerce and would be most familiar units of account.

For added privacy, the parties can also choose to transact in Blackbytes (GBB) or any other private currency issued on Obyte.

Market

Although decentralized escrow can secure any contract, we think that it is best suited for cross-border trade (a 32 trillion USD market according to WTO data) as this is where the businesses are the least protected and an easy-to-use and affordable escrow is most needed.

Also, sending money abroad using crypto is much easier than doing so through the increasingly unreliable traditional financial system that imposes the ever changing, often vague, and increasingly complex restrictions on movement of money.

We expect that most transactions using contracts with arbitration will be over $1,000 as for smaller contracts the cost of dispute resolution would constitute too large a share of the contract amount. However, for simple and standardized contracts, even smaller amounts may be worthwhile.

Already live

Decentralized escrow powered by contracts with arbitration is already supported in the latest (4.0.0) version of Obyte wallet. A service like this could be built only on Obyte as seamless integration of payments and exchange of updates to the contract state (beginning with the contract itself) is made possible by Obyte’s built-in encrypted messaging. Multisig accounts are also fully supported.

This is only the initial version and it will likely be updated, improved, and polished as we get feedback from the market.

The arbstore is now live and lists several arbiters with excellent professional background.

They are ready to protect your contracts but we hope all your contracts end as expected and you’ll never need the help of arbiters!

We are also looking for more arbiters. The best ones would be experts in the relevant or adjacent fields. To apply, contact Enrique Aznar at aznar@arbstore.org.

--

--