R3 Should Have Used a Smart Contract

Ripple (XRP) one-year price chart

Don’t you hate it when you become a billion-dollar company through no effort of your own, only to have some asshole take it away from you?

Such is the plight of R3.

A year ago, Ripple gave R3 an out-of-the-money call option to buy 5 billion XRPs at $0.0085 apiece. Now that the price of XRP has gone up by 4000%, the option is worth a billion dollars and represents R3’s single most valuable asset. Ripple wants to renege, and R3 is understandably annoyed.

You guys!! This is exactly the type of thing that should have been done with a smart contract.

R3 is a busy consortium, so maybe they forgot what line of work they were in. A quick reminder: R3 created their own distributed ledger platform to execute smart contracts in a trust-minimized manner. It’s called Corda, and it already has a contract template to represent blockchain token assets.

People will be quick to point out that the Ripple agreement can’t simply be a smart contract, because there are weird edge cases and unforeseen circumstances that can’t be accommodated with code. For example, Ripple claims that they were misled in the agreement, because they thought they would benefit from R3’s banking partnerships. “R3 turns out to be useless” is not a state that can be codified by a smart contract.

That’s fine: Nobel Prize laureate Oliver Hart has a whole body of work about how to deal with incomplete contracts. The solution is to pre-allocate decision rights. In a Corda smart contract, it might look something like this:

A feature of Corda contracts is that they have transferable exit keys, which are used to remove an obligation from the ledger. The holder of the exit key determines when to exit, and where the assets end up. In other words, the party that controls the exit keys has decision rights for what to do next.

Legal courts can still overrule, but the burden of lawsuit has shifted to the counterparty. R3 could secure a much better outcome if it already had its billion-dollar XRPs cashed in, and Ripple was the one who had to sue to get it back. Possession is nine-tenths of the law.

It’s interesting to see that R3 filed a complaint in the Delaware Court of Chancery, while Ripple decided to countersue in California. Legal interpretations vary by state, so contending parties often file in the jurisdiction most favorable to themselves. Delaware happens to be particularly generous in awarding contract expectation damages.

Dispute over choice of venue: Another problem that can be avoided with a blockchain!

R3 has wasted a lot of time writing whitepapers about whether smart contracts can be legally binding. The answer is always no, of course not! It would be a shame if R3’s legal contracts weren’t binding either.

The default issuer name for R3’s smart contract template is “Snake Oil Issuer”. Seriously, look at the source code.

Update (September 20, 2017)
Now we have a copy of the actual court documents: R3 Should Just Buy Ripple

See Also:
Contracts and Trust

One thought on “R3 Should Have Used a Smart Contract

Leave a Reply