Bitcoin Virtual Machine (BitVM) is a system intended to bring smart contract capabilities to the Bitcoin blockchain.
Bitcoin’s smart contract limitations
Bitcoin was designed as a pure cryptocurrency—a digital asset secured by computer cryptography and used to transact value across borders. Unlike Ethereum, it was not designed to support advanced computing in forms of decentralized applications (dapps) powered by smart contracts. In this way, the Ethereum’s Virtual Machine (EVM) is Turing complete, meaning it is capable of general-purpose computing. Bitcoin is not.
Meanwhile, the coding of Bitcoin is designed for much simpler tasks—namely the transaction of assets on a blockchain. There have been a number of attempts at building out more functionality to Bitcoin. These include “layer 2” solutions like the Lightning Network and the Liquid Network. Importantly, these solutions do not require changes in the blockchain in the form of a fork.
Introducing BitVM
In October 2023, a developer named Robin Linus released a whitepaper describing a new computing paradigm called BitVM, which would bring smart contract capabilities (and thus Turing completeness) to Bitcoin. The primary goal of BitVM is to enable scaling of Bitcoin to permit higher transaction speeds, but it could also introduce more advanced functionality, similar to that offered by Ethereum’s EVM.
In short, BitVM tries to force a complex computing function into Bitcoin, when the blockchain was not originally designed for it. Linus has said that BitVM can be described as a “compilation of … tricks” or as “hacking around” Bitcoin’s code. This comes with limitations, and that means that BitVM’s smart contracts do not look like Ethereum’s. For instance, all computations happen off-chain and the results are communicated back to Bitcoin’s blockchain. This is not the case with Ethereum, except in the case of layer 2 solutions that use rollups. Also, BitVM primarily operates between two individual parties, which means that it is not built for broader network-based computations.
How does BitVM work?
BitVM is a layer 2 solution (L2) for Bitcoin. Therefore, it is somewhat similar to Ethereum’s L2s—especially optimistic rollups. Like optimistic rollups, BitVM relies on fraud proofs and a system of paired parties who challenge and respond to each other.
To perform complex computation through BitVM, a “prover” presents an initial program and coordinates with a “verifier” to assert its validity. This two-party system relies on a simple contract on Bitcoin’s blockchain in which a series of transactions defines the relationship between prover and verifier.
Both parties make deposits using their Bitcoin-based addresses, and then they can exchange large amounts of data off-chain and return the output (a smaller amount of data) to the blockchain itself. This is only possible through features introduced in Bitcoin’s Taproot upgrade. If a prover acts maliciously or proposes something incorrectly, the verifier can challenge it.
This begins a sequence of challenges and responses that ensures only accurate assertions are made, and only verifiable data is inscribed into Bitcoin’s immutable ledger. There is an economic incentive to keep the system honest, as whichever party is provably right can collect the others’ assets as punishment.
What is the purpose of BitVM?
Robin Linus has said that BitVM was proposed as a scaling solution for Bitcoin. Through smart contracts, it was originally conceived as enabling sidechains and even Lightning-esque networks to push the limits of transaction speeds.
However, through the same design it could introduce environments which allow for even more functionality. For instance, a sidechain connected to the Bitcoin network could, itself, use the Ethereum Virtual Machine. That means that, through BitVM, Bitcoin users may be able to access more general smart contract usability and leverage decentralized applications, as if they were using Ethereum itself.
Noting its potential, BitVM is still being developed. The two-party system has its limitations, and BitVM’s off-chain computing requires significant hardware and financial resources. These barriers must be addressed before it becomes more widely adopted.
Conclusion
- BitVM is a system that allows for complex computation on Bitcoin through the use of smart contracts.
- A two-party system of provers and verifiers underlies BitVM’s model, and these parties facilitate off-chain computation in a manner similar to optimistic rollups used by Ethereum.
- Although BitVM has the potential to scale Bitcoin and improve its ability to support more complex transactions, developers are still working to overcome its limitations.