December 10, 2016

Smart Contracts and Smart Questions - does a submarine have a blowhole?

As the topic wends its way into the mainstream consciousness, people struggle to figure out what all the smart contract talk is about, and perhaps more importantly what it is not about.

Smart Contracts as mostly & originally envisaged by Nick Szabo are not contracts, but they can be part of contracts. We can imagine this as two extremes being 100% no and 100% yes: At one extreme, SCs are little programs that mediate the flow of value, back and forth. In essence, machines with money, and if you give a machine your money, then well, that's fine, but you might be throwing it away, you might be gambling.

At the other extreme, these flows of value are engaged within the overall framework of agreeable trade between humans, and that's agreements and the domain of contract law. So contracts they are.

Does it matter? Well, that depends, as the lawyers like to say. It doesn't matter much when we're talking about a vending machine. It does matter a lot when we're talking about the sort of work that Barclays described with their Smart Contract Templates work. Clearly, Barclays want their contracts to be solid contracts before the law, and they call out their designs (as facilitated by R3's Corda in a very early demo) to utilise both the code and the legal prose, a thing highlighted earlier in these pages.

Which is to say, the finance end of town is only interested in smart contracts within the fully contractually-informed framework. That's because accidents happen and the go-to place to sort out disasters is the courts, with their facility for dealing with the unexpected or unusual. This notion goes back to the Magna Carta, which was ultimately a brawl over the right to a fair day in court.

If you want a pithy principled statement, it is like this: people who trade in large values want someone to mind their backs. These people believe that smart contracts will always break, and we need a way to get predictability back into the contract.

Which brings us to the DAO - that $150 million lesson in how not to build a smart contracts platform. We didn't just see an accident, we saw a series of unexpected consequences as a bunch of people stumbled over each other to launch from one disaster to the next, from frying pan into the fire, onto the chopping board and then into the cauldron. I haven't followed it in detail, so feel free to correct, but it looks like 50% of market cap wiped out, a loss of the remaining principle funds, the permanent twilight split of the currency into two, in which some people sort of maybe got their value back and some people sort of maybe didn't. Four (?) hard forks in series, and a behind-the-scenes brawl that is only a lawsuit away from causing disaster to the personal lives of many of the chain's bravest and best.

To interpret a short, pithy principle, the investors in the DAO found that nobody's minding their backs. And when that happens, the brawl starts. Magna Chaina?

Which leads us to two things other than dramatic loss of money: a completely unpredictable result, being somewhat at odds with the famous reputation of a smart contract to provide a predictable result, and a consequent loss of faith in pretty much everything related to the area: contract, chain, currency, people.

And it is this that the pundits unfamiliar with trade miss - the concepts of faith and predictability in human affairs. If they don't exist, the machine doesn't care, but the people stop trading. People leave. Which leads to the smarter question - how do we deploy smart contracts such that people have the faith to trade and stick around for another trade?

The smart answer is, we do it with predictability. Just as the smart contract suggests predictability when it is running, it needs to prepare for predictability when it's not.

And it's that question which underlies the question of enforcability explored in the Norton Rose Fulbright white paper co-released with R3 (disclosure - I reviewed the paper and lots of my suggestions made their way in). When asking, is a smart contract enforceable? what they're really asking is, does the smart contract deliver the sort of predictability that leads to long-term faith in the platform?

The DAO did not. Ethereum clearly isn't ready for that mission, as yet, and until they can conquer the buggishness of the chain *and* the contract code *and* the people, it won't be ready to deliver the sort of predictability that builds faith for ordinary people. (: To be fair, no DLT is ready, including Bitcoin and Corda and every other startup 'smart' product out there, although some will try even when not ready :)

But what the proponents of the code-only smart contract are holding out for is that there is a place where the concept works without law being needed, without contracts being agreed and without enforcement outside the code. They refer to the humble vending machine, but this is not a good example. Vending machines have stickers on them with phone numbers to call for a refund and owners to sue when they don't work. Vending machines are not code-only machines - they enter into contracts much the same as any merchant in a shop. The law has your back when you use a vending machine as much as it does when you buy bananas at a market; if it didn't the economics wouldn't work, the vendor wouldn't be able to field 100s or 1000s of machines.

So why is a vending machine such a heroic role model for the smart contract? I suspect it is because if you get stiffed for a drink, then you're likely to kick it and move on - that is, you decline to use any rights you might have at law, and instead use the rights you have in mobility or rebellion. But this optionality born of convenience doesn't mean you don't have the rights, and doesn't mean you will buy again at the next machine that offers to steal your dollar for a promise of a drink. Failure is remembered, and failure is the opposite of faith.

Proponents of smart contracts sans law also refer to agents that spend money back and forth between themselves without recourse to humans. But those agents have owners (else they're not agenting) and those owners get mighty p*ssed when the agents aren't showing profit. If you discover the supermarket is hacking your fridge through 7547 to offload stale icecream, you turn the bl**dy thing off and return it. You don't say, "oh, it's a smart contract, I've got no recourse. I'll just feed it another $100 bucks and throw out the unneeded gallons of surplus mush I got diddled for..."

The school that says code is law not only have misinterpreted the origins of the phrase, but also have a high bar to find a financial smart contract that isn't using some aspects of the law, isn't going to reflect badly on the ecosystem, and isn't going to be treated as a toy. It might exist. But don't get your hopes up.

And even if it is found - a smart contract that works usefully with no external backing into human custom will likely only be a small market. Right now, the interesting contracts are code and prose, together, and they back into someone who's minding your back. That's not to say you're going to be enslaved to the courts, yet again, and see the Norton Rose Fulbright paper for suggestions on how to do it without the courts. Or here.

Mental health warning - you can disassemble the courts, the law and the lawyers into a design of your own making, if you act fast enough. Or you can wait until they all turn up, in conspiracy against you. Your choice.

Finally, in answer to that rhetorical question - does a submarine have a blowhole? Yes, it's called a snorkel. In common with whales, the submariners and diesels alike need to recycle the fumes for fresh oxygen in order to stay alive. :-) Enjoy the rest of your dive!

Posted by Prometheus at December 10, 2016 11:48 AM
Post a comment

Remember personal info?

Hit preview to see your comment as it would be displayed.