The Evolution of Computation on Bitcoin: Introducing BitVM and BitVMx

Blockchain Jew
Coinmonks
5 min readSep 20, 2024

--

Satoshi’s greatest invention, Bitcoin, began as a simple economy for peer-to-peer transactions, creating a rather seamless experience (without relying on banks or financial institutions) for participants in this economy. The idea of Bitcoin was first introduced in October 2008 to create a decentralized currency free from the influence of governments and central banks, thereby ushering in a new paradigm for how we perceive the finance industry today.

Fast forward to today, and we can say that our beloved Bitcoin has seen some significant improvements and developments, some of which include the introduction of Ordinals, BRC-20, Rune Inscriptions, smart contracts, and even Layer 2, which has fostered further adoption from the mainstream. This article focuses on two significant breakthroughs in the Bitcoin ecosystem: BitVM and BitVMx.

What is BitVM?

Bitcoin virtual machine (BitVM) was initiated by Robin Linus, a contributor to ZeroSync, a Switzerland-based nonprofit organization focused on Bitcoin scaling solutions and privacy with zero-knowledge proofs (ZKP). BitVM is a concept (not a L2 or bridge) that proposes a system to expand the functionalities of Bitcoin without causing any major changes to the original structure of the Bitcoin network.

The whitepaper for BitVM was published on October 9, 2023, with the title BitVM: Compute Anything on Bitcoin. In it, Robin portrayed BitVM as a computing paradigm to express Turing-complete Bitcoin contracts that require no changes to the network’s consensus rules.

A Brief Introduction to Turing Completeness

Turing completeness means a system can follow a set of instructions to solve any kind of problem, as long as there’s enough time and memory.

The most common example to differentiate Turing complete from incomplete is a simple calculator versus a scientific calculator. A simple calculator can only solve a limited number of mathematical problems, which makes it Turing incomplete. But a scientific calculator can perform any kind of calculation; thus, it is considered Turing complete.

Why is Bitcoin not Turing Complete

Satoshi designed Bitcoin to be Turing incomplete; this was part of his mission to make Bitcoin a secure and decentralized economy. Making Bitcoin Turing complete would only add more complexity, which would compromise its security. In contrast, Ethereum is a Turing complete blockchain, which allows it to run smart contracts that execute actions when certain criteria are met.

How does BitVM try to make Bitcoin Turing complete?

With BitVM, Robin hoped to make Bitcoin Turing complete using pre-existing components of its script language and encoding off-chain fraud proofs. A fraud proof ensures that bad actors can be challenged and proven wrong if they submit invalid executions.
Whie this doesn’t make Bitcoin itself Turing complete, it is used to verify Turing complete computation that was performed offchain.

Why is this important?

This development would introduce off-chain processing of complex computations, including smart contracts, thereby extending the use case of Bitcoin beyond a peer-to-peer network.

How does BitVM work?

BitVM’s architecture is similar to that of optimistic rollups on Ethereum, as it is based on fraud proofs and a challenge-response protocol. It also adopts the MATT (Merkleize All The Things) proposal; MATT is a proposal to extend the capabilities of the Bitcoin network by enabling fraud proofs for arbitrary computations.

Two-party settings

For a transaction to be executed, two parties must be involved: the prover, the party that does the that does the actual computation and creates a proof of its execution, and the verifier, the party that ensures that the computation was done correctly.

Challenging the proof

The verifier uses a sequence of challenges to disprove any false claim by the prover. Both parties would sign a sequence of challenge-and-response transactions, which would enable them to exchange required data and make deposits to resolve any dispute.

Consequences for false proofs

If the prover makes a false claim, the verifier can take their deposit. The process of computing and verifying is executed off-chain, which has little effect on the Bitcoin network.

The core operations of BitVM are based on cryptographic tools like hash locks, timelocks, and taproot trees. Hashlocks ensure that only the party who accurately performs the computation can access the final output. Timelocks add an extra layer of security by ensuring the output can only be accessed within a predefined time; this ensures that the computation has sufficient time to complete. Taproot trees help in data structure and verification, which handles complex computations.

Limitation of BitVM

BitVM is a pioneering invention in Bitcoin computing, but it has faults, including the fact that it is limited to only two parties, making the system almost centralized, extending the challenge-response duration, limiting its fraud-proof, and breaching the Bitcoin ethos of ‘trustless’.

If the prover or verifier’s systems are compromised, either side may submit or approve fake proofs. Furthermore, the two-party setting created an issue when it came to growing the system; as more computations were conducted, the demand on both sides became burdensome.

Solution

To solve this problem, Robin published a new design for the BitVM system, this new scheme was called BitVM 2.

BitVM 2

BitVM 2 is a proposed solution to the drawbacks of the initial BitVM architecture. This alternative allows anyone to act as a verifier and shortens the challenge-response period to just two rounds. However, BitVM 2 also had its limitations, with the most obvious being an added layer of complexity to the initial BitVM system. There is also the scenario of the system having to deal with large transactions with a lot of data considering that anyone can verify the proof.

Need for further improvements

Ultimately, it is not a perfect solution (Robin also highlighted its limitations) but this allows developers and researchers who are enthusiastic about scaling Bitcoin to make tweaks and offer better solutions to the BitVM model. While there are many proposed solutions to scaling the BitVM system, one that has garnered significant interest is BitVMX.

What is BitVMx

Building on the original concept of BitVM, BitVMX is a new design for a virtual CPU to verify arbitrary computations on Bitcoin. This new design was developed by a group of researchers from RootstockLabs and Fairgate Labs in their whitepaper titled BitVMX; A CPU for Universal Computation on Bitcoin.

The concept of BitVMX is similar to that for TrueBit; TrueBit is a platform designed to facilitate secure and verifiable off-chain computations for various blockchains. BitVMX draws inspiration from this technology to bring off-chain computation to Bitcoin.

In contrast to BitVM, BitVMX introduces a new two-party challenge-response protocol that uses hash chains. A hash chain is a sequence of data where each piece is cryptographically linked to the one before it, creating a record of the entire computation process.

Looking forward

While BitVMX proposes to expand the capabilities of BitVM, it is not a perfect model yet. Further research is needed to determine its use case on an application level and its economic incentives. It is encouraging to see the Bitcoin community pushing the network’s limits with bold moves, and we should anticipate a time when complex processing is possible on the network.

--

--