Decentralized Dispute Resolution is the Missing Link

Resolving the Oracle Dilemma with the super power of Deferred Complexity

Justin Goro
Social Evolution

--

Prior to January 3, 2009, economic activity always occurred in response to existing relative scarcities in the world. Blockchains offer a new opportunity to create incentives out of thin air, allowing us to reprogram our reality as we see fit. Bitcoin was the first example of a game of scarcity that resulted in the mobilization of hundreds of billions of dollars all in the service of maintaining a ledger of imaginary tokens. Miners tirelessly produce coins for users they’ll never meet, responding to — and leaving networks of intermingling pheromone trails. This Pandora’s box of user created scarcity will prove too intoxicating to close and the conscious bottom up reshaping of society has just reached an inflection point of increasing acceleration.

In a previous article, I outlined how blockchains give us the power to engineer programmable incentives by manipulating digital scarcity. In this article, I won’t predict the future. (For a more comprehensive analysis of the manner of changes that lie ahead, I would recommend Max Borders’s The Social Singularity.) Instead I will focus on the cause of this inflection point and why an incredible journey of decentralization is upon us.

The 2 stages of smart contracts

A smart contract running on a Nakamoto blockchain has no knowledge of the outside world. It cannot request information from websites. It cannot send off emails asking questions of users and it can’t dig into an external database. This isn’t a bug but a necessary trade-off required to keep the ledger entirely decentralized. In order for a smart contract to complete execution within the span of a block, it can only operate on information already internal to the blockchain. As such, the most natural first generation smart contracts were currency-like tokens which can be transferred on chain with no knowledge of the affairs of the world necessary. It quickly became clear that if tokens could be linked to the external world, entire industries could be disintermediated and made trustless in the same way that bitcoin transfers are. The problem, of course, is that blockchains cannot be intrinsically linked to external conditions without making some major centralization tradeoffs. The Ethereum community recognized early on that human actors would be required to feed information to the blockchain to make smart contracts meaningful and coined the placeholder term for these users “oracles”.

The Oracle Dilemma

The art of reorganizing society to operate on incentives instead of directives is to recognize that an intrinsic feature of this shift is a move toward radical decentralization (again if this point isn’t intuitive, see The Social Singularity). The problem with introducing trusted oracles is that they cause this system to collapse into a centralized hierarchy, rendering the application of blockchains to a problem pointless. To illustrate, consider a smart contract for farming insurance that pays out farmers whenever a natural disaster strikes. In order to know that a disaster has occurred, the contract requires Weather.com to send a signal to the blockchain in response to an extreme weather pattern. By relying on Weather.com, this insurance contract is really just a service provided by Weather.com and offers no blockchain based advantages over status quo insurance. It is subject to the usual centralization risks such as capture, censorship and corruption.

So either smart contracts are 100% trustless but ignorant of the world and therefore useless outside of the context of blockchain events OR they’re aware of the world but subject to centralization attacks. This conundrum has been dubbed the oracle dilemma. Almost all the futuristic promises of blockchains are sitting on the shelf until the oracle dilemma is resolved. Until now, most efforts to resolve this dilemma have focused on finding a way to decentralize the activity of oracles, but I believe something more fundamental is needed — and like Bitcoin, when it arrives, it will transform the landscape in unexpected ways.

A Bridge from the Subjective to the Immutable

As mentioned before, an alternative to traditional hierarchical organization is to craft a game of incentives that balances reward and discipline to drive users to into a positive equilibrium. This is easier said than done, of course.

The harmony of the bitcoin ecosystem is miraculous to behold and it is doubtful that the average engineer can fathom up something so beautifully complete. There is an alternative technique which I will term deferred complexity that allows a smart contract developer to describe their desired behaviour in simple terms without worrying about choreographing incentive dances. Instead they can enforce their desired outcome by simply tapping into an effective form of decentralized dispute resolution. Since the purpose of using programmable scarcity is carefully to balance carrot and stick to achieve desired behaviour in users, a dispute resolution mechanism allows a smart contract developer merely to declare their desired behaviour with the ambient threat of carrot and stick in the form of dispute resolution waiting in the shadows. The incorporation of carefully tuned game theoretic techniques is outsourced from the main dapp to the dispute resolution plugin.

Kleros might be the very first organization to make use of deferred complexity. To demonstrate the power of adding a layer of dispute resolution, they’ve created a game called Doges On Trial with the sole purpose of curating a list of doge pictures. The dApp is designed such that users can submit pictures they believe are doge memes to the list. That’s it. No special tokens or miners or any other difficult to grasp overhead. Instead of building an intricate set of rules, Doges on Trial has deferred the complexity of orchestrating user behaviour to Kleros’ flagship product, the Kleros Decentralized Court System. The hook into the dispute layer is in the form of a deposit. When you submit a picture, you place a deposit in ether. Before the picture is accepted, there’s a waiting period in which anyone can dispute the picture by placing an equal size deposit. As soon as this happens, Kleros’ court system is activated and the challenge process commences.

Stage 1 dApps

The reason I think that dispute resolution is an inflection point in decentralization is because deferred complexity simplifies the entire process of dApp adoption and development. To illustrate, consider the Dai, the first successful, decentralized stable coin developed for the ethereum blockchain. The MakerDAO which controls the issuance of the Dai is founded on a system of incentives revolving around an onchain financial debt instrument called the CDP. User can borrow the Dai into existence by depositing ether into a CDP contract. Speculative users enforce the stability of the system by liquidating insolvent CDPs and claiming the ether, encouraging Dai issuers to manage solvency. The price is fed into the system by a collection of trusted oracles that are chosen by the MakeDAO. The overall solvency of the system is protected from black swan movements in the dollar price of ether by yet another layer of mechanisms. It is beyond the scope of this and most other articles to explain the full cryptoeconomics of the Dai ecosystem but the purpose of the above explanation is to illustrate that the complexity of the Dai is endogenous to the system and it also makes it clear why so many ICOs are not up to the task of delivering a similarly effective product. Because of the carefully thought through system of incentives, the Dai is successful in maintaining a stable dollar price.

The problem with mass adoption of the Dai is the same as Bitcoin: explaining the mechanics of it to the layman is time consuming and difficult, giving

rise to memes of boring everyone at a family dinner table with talk of “distributed consensus”. Although the incentives are in place to succeed, the incentive to overcome the burden of understanding the complexity of the system is not high enough for the masses to consider it.

Stage 2 dApps

The technique of using deferred complexity allows us to overcome this hurdle by keeping the offering as simple as possible and leaving it to the dispute resolution mechanism to discipline user behaviour. This will assist with both user adoption and empowering developers to focus on the product without being wizards in cryptoeconomics. It also means that if a standard for decentralized dispute resolution becomes common place then users who wish to remain informed about their risks need only understand the mechanism once, after which they can be confident that any dApp plugged into the mechanism is automatically more trustworthy. To illustrate how complexity can be deferred, I’ll redesign a dollar stable coin from the ground up but this time will use something like the Kleros court system to manage the incentives. In the process, we’ll see that the solution I offer also solves the Oracle Dilemma.

Jurisdollar

The name of our fictional stable coin will be Jurisdollar and it has the goal of remaining pegged to the US dollar with an exchange rate of 1:1. The Jurisdollar will have a backing smart contract that stores ether. To issue dollars a user must send ether to the contract as well as a number of dollars they require. This creates an implicit exchange rate. For instance, if I send 10 ether to the Jurisdollar contract with the number 250 then I’m implying that I think the price of ether is $25. The contract doesn’t immediately issue the new tokens. Instead a 24-hour waiting period follows the deposit. During this time anyone can dispute my implied exchange rate by depositing the same amount of ether as I did. If this happens, the Kleros court system is activated. If I lose the case, I lose all 10 ether split between the court jury and the plaintiff. Otherwise, the plaintiff loses their deposit to me and the court. After the 24 hour period has passed, I can withdraw my Jurisdollar and use it as a stable coin. If I want to trade in my Jurisdollar for eth, I can do the same process as above but in reverse. The Jurisdollar has a small transaction fee on every transfer that is added to a reward pot. If the backing of the ether ever falls below par, someone can rescue the fund by topping it up, subject to dispute resolution. Whoever rescues the fund receives the accumulation of all the previous transaction fees as a reward compensation. One final rule: the Jurisdollar contract can only issue new Jurisdollars so long as the backing ether is greater than 200% of the circulating Jurisdollars. This is just protection against sudden exchange rate fluctuations causing insolvency.

Order 66

To help cement the concept further, I’ll make use of decentralized dispute resolution to illustrate how a blockchain-agnostic decentralized exchange can be created to run on the Ethereum blockchain with no complex notions of cross chain atomic swaps or any other crypto magic. All we need is the existing Ethereum blockchain and a dispute resolution layer. The fictional exchange will be called Order 66.

Suppose I wish to buy bitcoin with ether. I deposit ether into a smart contract along with my bitcoin address and the amount of bitcoin I desire. Someone with bitcoin responds to my order by transferring bitcoin to the address and laying a claim to the order by depositing ether equal to my deposit. If I receive the bitcoin, I signal the transaction is a success and the bitcoin sender receives both her deposit and my ether payment. However, if after a sufficient amount of time I determine that the sender is a fraud, I signal a dispute. The decentralized court system of jurors can then easily and objectively verify whether the bitcoin has been sent by inspecting the bitcoin blockchain. The case is easy to rule on and either the transaction succeeds or the fraudulent sender loses their deposit. That’s how easy it is to make a blockchain-agnostic decentralized exchange. Using this knowledge, you can now buy ERC20 tokens with dogecoin, for instance.

Decentralized Insurance

By now it should be obvious how a decentralized insurance smart contract would work. The recipe of deferred complexity is:

  1. Declare the purpose of the dApp
  2. Require that users supply skin in the game in the form of deposits
  3. Plug in a dispute resolution layer to achieve the aims laid out in step 1

So it is with decentralized insurance. We have to remember that the court system needs to have a way to objectively verify a state of affairs in the world. The distributed dispute resolution layer is a bridge from the subjective opinions of jurors to the objective facts of the world and is the final step in linking blockchains to meatspace. For our insurance dApp, we’re helping uninsured subsistence farmers protect themselves from weather events by purchasing cover. The premiums are grouped with farmers from other locations and locked in a smart contract to create an insurance pool which will be used to service claims. Let’s put aside the calculation of premiums for now. For this we could introduce an actuary user type who’s calculations are subject to dispute resolution. Instead we’ll focus on a weather event occurring. A farmer has just experienced a hail storm and makes a claim for damages from the pool of funds. The claim is given three days before it is accepted. In that time, anyone can dispute the claim through the dispute resolution layer and the court can now objectively verify whether the hail storm did occur in the area of the claimant.

Conclusion

In resolving the oracle dilemma and introducing the super power of deferred complexity, decentralized blockchain dispute resolution mechanisms will finally unlock all the promises of blockchains. Once the technology takes off, I suspect a Cambrian explosion of dApps will accompany an ever growing list of decentralized courts of increasing quality. The use cases that this development will usher in cannot be overstated and the ramifications will extend into the physical world.

--

--

Justin Goro
Social Evolution

Creator of WeiDai and 92 times emperor of Tsuranuanni