Smart contracts and real assets / by Chris Walker

This post is a response to a Medium article by Jimmy Song called "The Truth About Smart Contracts."

Something about that article didn't seem quite right, so I'm using this post to define my thoughts. First, let's summarize Song's argument. Song is an experienced Bitcoin developer who has worked at Paxos and Armory, so I want to take his perspective seriously.


The good

Smart contracts are executed by many computers running the same known algorithm and checking each other's calculation: no third party needs to be trusted to perform the calculation correctly. Trustless contract execution is a new, powerful property.

The bad

Unfortunately, smart contracts aren't intelligent, they are simply encoded as precise software instructions. This means they suffer from the same problems as regular computer code: inevitable bugs and absolute blindness to the entire universe except for their specified inputs.

In particular, Ethereum's smart contract language, Solidity, is Turing-complete: it's a computational trump card. Smart contracts don't need this power (Bitcoin's Script is not Turing-complete), and this extra power is hard to wield correctly, caused many expensive bugs.

One of the main attractions of smart contracts is the idea that "code is law" -- with sufficiently complex smart contracts, the need for legal arbitration disappears because the code runs itself. Unfortunately, this idea hasn't always been true: the Ethereum network has already rolled back transactions that followed the rules of the code because they were seen as bugs and theft. Rather than trusting the smart contract, we ended up falling back on human intervention.

The ugly

Smart contracts work well for digital bearer instruments, where possession equals ownership, and parties have the ability to swap digital assets as they desire.

But most assets, e.g. real estate, stocks, and gold bullion, are made of atoms and law. Those can't be wrapped up nicely into digital bearer instruments within a blockchain (they aren't code), so their representation within a blockchain is merely a sign of the asset, not the thing itself. Blockchains are blind to the external world, so they need to resort to third parties to describe the state of the actual assets: the gold really is in this vault, the house really is mine to sell. Once smart contracts resort to trusted third parties, they lose their central advantage: trustlessness.


starting with why

I generally agree with the facts as presented by Song, but have a different view on valid motivations for those exploring blockchains and smart contracts.

Blockchain was started by people like Hal Finney, Wei Dai, Nick Szabo, and the mysterious Satoshi Nakamoto, who shared an obsession with decentralization, privacy, trust minimization, and sound money. I suspect that only this obsession could create a system as brilliant and simple as Bitcoin, and I can personally relate to these interests ever since I read The Creature from Jekyll Island describing the creation of the Federal Reserve in 1913.

Trusted third parties are security holes: on some level fiat currency is just paper.

Trusted third parties are security holes: on some level fiat currency is just paper.

They have a valid point. But the philosophy that created blockchain may not be the philosophy that capitalizes on it most effectively. The absolutism of trust minimization obscures pragmatic opportunities.

Trust / Trustless. Liquid / Illiquid. Automated / Manual. These aren't binary properties: they exist on a continuum. One extreme is a smart contract transferring digital bearer instruments in cross-chain atomic swaps. Awesome! Another extreme is a loan founded on nothing more than a handshake and a promise. Great!

Most economic activity takes place in the vast space in between extremes, and I see tremendous potential in distributed ledgers and smart contracts because they let us explore regions of this space that were previously inaccessible.

Consider a smart contract representing ownership of a real world asset like a small Delaware C Corporation. Delaware altered the Delaware General Corporation Law to support stock ledgers held on the blockchain, so this is legally reasonable.

Clearly this asset requires trust in the directors of the company no matter how it is recorded: if they abuse that trust, the company will fail and the asset will probably be worthless. Also, it's readily apparent that the digital record (or stock certificate) isn't the final authority: if the company loses a Delaware court case, a judge may ultimately decide the fate of the asset.

Despite these limitations, this digital asset may still be more liquid and more trustworthy than alternative options, like a stock ledger held in an excel document. It wins, not by eliminating law and trust, but by streamlining and minimizing them. If the smart contract follows a standard pattern, it requires less auditing by potential investors. If it covers basic corporate transactions, fewer aspects of running a corporation need legal or accounting input.

A mature blockchain ecosystem will make ownership of real assets much better by reducing friction. Want to sell your stock to another investor who meets the smart-contract standards? Of course! Collect dividends automatically? Certainly! Use the stock as collateral for a house loan? Why not?

All of these features require some amount of trust in third parties. But that's OK. So does the rest of life.