By definition, a smart contract is a self-executing contract where the terms of the agreement are written in code, and both the agreement and code are incorporated into the blockchain.
Typically, users employ them to exchange assets, such as currency, property, or shares, and ensure a particular outcome among parties where trust may be an issue.
Increasingly, however, smart contracts have come under fire from critics who point out that their name misrepresents what they really are. Someone who shares this view is David G.W. Birch, a world-renowned thought leader in digital identity and digital money. David is a Forbes contributor, a columnist for Financial World, and was recently named among the top 100 global fintech influencers for 2021.
So to get his perspective and find out why smart contracts may not be what they appear on the surface, we sat down with David for a chat. Here’s what he said.
Dominika Blaszak: At the Paris Fintech Forum, you said that smart contracts aren’t smart, and they’re not even contracts. If that’s the case, then what are they?
David G.W. Birch: Indeed, they’re not smart, and they’re not contracts. I feel like it's an uphill battle because the words have become widely used, but I'm not the only person who thinks it’s a big mistake. Vitalik Buterin, the co-founder of Ethereum and someone who really should be the authority on these things, said himself that he wishes he had never used the name ‘smart contracts’.
His suggested alternative is persistent scripts. For a long time, I used to call them consensus apps. What they really are is just apps that execute in a certain way.
One conceptual way of thinking about it is if you imagine a shared ledger capable of executing simple computer code. You can think of that as a distributed computer in the case of things on the blockchain where the forming of consensus is integral to the operation. You could call those things consensus computers.
Then the things you run on the consensus computer are consensus applications. Ethereum and other blockchains can run consensus applications.
What’s the problem with smart contracts in their current form?
First of all, contracts are not written in language that can be converted into computer code. For example, contracts contain words like, “I will take reasonable steps to keep information confidential.” But you can't program a computer for that. No computer can tell you what's reasonable or what's not reasonable.
Secondly, even if they could, a good lawyer can refute anything.
And a third problem is that even the best programmers make mistakes all the time. When you make mistakes in designing a website, it doesn't matter. But smart contracts are immutable. If you make a mistake in a smart contract, that mistake’s there forever.
Does that mean they’re useless?
No, because smart contracts are a very useful way of implementing certain kinds of things. One of the obvious ones being tokens and the transfer of tokens from one place to another.
People talk about this idea of money Lego for distributed finance, which I find quite appealing. We could imagine that people would make very simple distributed applications, which become a form of money Lego that can be used to build decentralized finance applications. To me, that all seems quite reasonable. But could you then call those things contracts?
Focusing on the ‘smart’ element, we know, for example, these apps enable automatically moving an amount of cryptocurrency from one party's wallet to another. Isn't that smart?
Yes, but that’s like calling smartphones smart because you can run software on them. They’re smart, but not quite in the same way. Smart contracts can only do a very limited number of things, they can only operate on the blockchain, and they have very limited capabilities.
To really be considered smart, they would have to have a memory and be able to learn and adapt. I'm not sure that's viable with blockchain technologies because of the immutability and the limitations.
What would you say smart contracts should be used for?
I've consistently said I'm much more interested in the world of digital assets than in the world of cryptocurrency. I rather like this idea that you would have digital assets, for example, digital gold, digital property, or digital concert tickets, real assets that you could then trade through smart contracts. So you could have these money Legos, but they would work on real assets.
The ability to trade those assets in more liquid, secure, and transparent markets really opens up new ways of doing business. I'm very curious about what those might be.
You mentioned security. Are there safer ways of transferring money than blockchain?
The point about the blockchain is that it provides security in an environment where there are untrusted third parties.
Imagine some form of a shared ledger; it doesn't have to be a blockchain, where perhaps the nodes are owned by market participants, institutions that operate in a more transparent way than the systems do now. There's a permanent record of the transaction. I can honestly see that would have some advantages.
I am absolutely not saying that we will never use blockchain for anything. What I'm saying is I think the use is much narrower than people think because the blockchain, as it turns out, isn't magic. It can only do certain things.
But those things are important. If we can create digital asset markets that offer a much-reduced cost of financial intermediation for a wider range of assets that we can trade in safety and security in these more transparent markets, then I think that's a good thing.
What does the future look like for smart contracts? Do you see them developing in the future?
I definitely see them evolving. We don't need to talk about Ethereum 2.0, but, clearly, the virtual machine that's running is going to evolve. People want to develop more sophisticated machines that allow more capability and reduce the possibility of errors and mistakes.
But I'm probably more interested in regulatory development. The key issue in reducing the costs of financial intermediation for everybody has more to do with regulation than technology.
For example, you could only run smart contracts approved and certified by the financial authorities. You have your money Lego, but there are only certain kinds of money Lego that have to be approved and checked, kind of like Apple putting things in the App Store. That seems quite appealing to me.
I think in society, we want something that protects people as well as reduces costs. I can see that the evolution of smart contracts can do that.
We’ll end on that optimistic note. Thank you, David. I hope, in the future, you’ll finally have your truly smart contracts.