Debunking the ‘Bitcoin Cannot Do Smart Contracts’ Myth

Debunking the ‘Bitcoin Cannot Do Smart Contracts’ Myth

By Kyle Torpey - min read
Updated 22 May 2020

The main selling point of systems like Ethereum and EOS is their ability to execute smart contracts, at least according to the supporters of those projects. To them, Bitcoin is simply too limited and conservative, and new approaches are needed to unlock the true power of blockchain technology.

Of course, this is not technically true. While Bitcoin’s scripting language is much less expressive than Ethereum’s (for example), it’s possible to write certain types of smart contracts on Bitcoin as it exists today. Three examples of applications of Bitcoin smart contracts include: Bitcoin’s often-hyped Lightning Network; the recently announced Arwen protocol, which dramatically increases security for traders on exchanges; and Abra, which allows users to peg the value of their bitcoin to many other real world assets.

Multisig addressing is another example of a smart contract, and former Bitcoin Core lead maintainer Gavin Andresen once argued most of what Ethereum is useful for can already be done with Bitcoin’s multisig functionality today. In fact, Andresen wrote about this a little over a year before Ethereum officially launched.

This topic of whether Bitcoin is useful for smart contracts came up during Casa CTO Jameson Lopp’s recent interview with Epicenter. While sharing his thoughts on the matter, Lopp discussed his view of Bitcoin as a trust anchor, how more expressive smart contracts can be implemented in Bitcoin, and Bitcoin protocol developers’ conservative approach to their work.

Bitcoin as a Trust Anchor

The discussion around Bitcoin’s usefulness for smart contracts came out of a question from Epicenter co-host Brian Fabian Crain around the general utility of the Bitcoin network. Lopp was asked to explain his thoughts on whether Bitcoin should be utilized for payments, the “digital gold” use case, trustless computing, or something else.

In his response, Lopp noted that most of his thoughts related to this question can be found in a CoinDesk article he wrote around the idea of Bitcoin as a trust anchor.

“I do think that there is more to [Bitcoin] than just money. I think what we’re trying to do is create this global record of truth — or at least an authoritative record that has no authority behind it,” said Lopp.

The Casa CTO added that people are able to put whatever data they wish in this authoritative record, and he provided specific examples of how this can be done.

“If you’re moving beyond the simple accounting ledger that the Bitcoin protocol supplies, you have to basically create your own protocol, your own new consensus, for whatever that extension is. Whether that is some sort of layer-two network or a sidechain that is pegged to Bitcoin or extension blocks or whatever — there’s a potentially limitless number of ways to do this,” explained Lopp.

Lopp mentioned VeriBlock, which currently accounts for around 20% of all daily Bitcoin transactions, and RSK, which is an Ethereum-esque sidechain to Bitcoin, as two examples of new protocols created through Bitcoin anchoring.

Smart Contracts on Bitcoin

When it comes to smart contract-functionality specifically, Lopp expanded on his thoughts related to RSK.

“They’re taking that smart contracting language from Ethereum, and they’ve created this sidechain that is pegged to Bitcoin. So, you can kind of have the best of both worlds. Whether that ends up being highly-adopted, nobody knows,” said Lopp.

In terms of Bitcoin’s future potential as a platform for smart contracts, Lopp pointed out that there are plenty of Bitcoin developers who are interested in this sort of functionality. However, they disagree with how Ethereum went about doing things. According to Lopp, it comes down to a debate of execution versus verification.

“A lot of the ‘more conservative” Bitcoin developers don’t like having smart contracts that have to get executed by everyone on the network. They rather want to perform the same type of logic but where the actual execution happens privately, and then you’re just providing a proof of the execution that the rest of the world can verify,” explained Lopp.

Lopp went on to mention Merkalized Abstract Syntax Trees (MAST), Taproot, and Simplicity as examples of how more expressive smart contracts may work on Bitcoin in the future; however, he added that it’s up in the air in terms of when this sort of stuff will be as easy for developers to use as something like Ethereum’s solidity or viper languages.

Bitcoin’s Conservative Approach to Protocol Changes

And this gets into a key difference between Bitcoin and all of the other crypto asset networks out there: alterations to the Bitcoin protocol tend to come at a slower pace.

“Advancements with the Bitcoin base protocol [are] a lot more measured and slower than a lot of other chains for a number of reasons,” said Lopp.

Blockstream mathematician Andrew Poelstra recently explained the reasoning behind Bitcoin developers’ conservative approach to protocol-level changes on an episode of Monero Talk.

Due to this slow and steady approach to development, Epicenter co-host Sébastien Couture asked if Lopp thought it’s possible that the developer network effects around something like Ethereum will grow too strong before it’s easy to build more expressive smart contracts on Bitcoin. Lopp pointed to the economic network effects around Bitcoin in his response:

“[Bitcoin maximalism] tends to be, I think, more economic thoughts of how these types of systems play out rather than a blind belief that Bitcoin was first and it must be the best and will never be superceded yatta, yatta, yatta. There’s definitely plenty of potential for other systems to get greater adoption and surpass Bitcoin or somehow be an order of magnitude more utilitarian than Bitcoin is and therefore supercede its network effects. I don’t think anything is set in stone, for sure. There’s going to be a lot of competition for the foreseeable future.”

In the past, Lopp has also written about his own struggles with Ethereum as an engineer at BitGo.