Last October, Robin Linus from Zerosync introduced a groundbreaking concept with the release of BitVM. One of the most persistent criticisms of Bitcoin has been its lack of programmability when it comes to controlling how money is spent or locked. The scripting language of Bitcoin has always been limited in its capabilities, with only basic operations such as signature checks, timelocks, and data manipulation available.
However, Robin’s insight with BitVM was that a single primitive in the field of computing, a NAND gate, could be enforced in Bitcoin script. A NAND gate is one of the fundamental building blocks of computing at the physical electrical level, and every computation possible can be constructed using NAND gates. By utilizing OP_BOOLAND and OP_NOT operations in Bitcoin script, a NAND gate can be verified, allowing for the enforcement of complex computations directly on the blockchain.
The implementation of BitVM involves creating a script with NAND gate functionality, where each input and output field has two possible hashlocks to unlock the spending path. This ensures that once a decision is made on the input to the NAND gate, it cannot be changed without consequences. The use of hashlocks and a challenge protocol allows for the verification of each step in the computation on-chain, ensuring that any cheating party will eventually be caught and lose funds.
Despite its innovative approach, BitVM does have limitations. Only the parties involved in creating a BitVM contract can participate, limiting the system to a trusted environment. Additionally, the challenge response protocol can be lengthy and inefficient, as the verifier may have to guess where the prover is lying in the computation and challenge specific gates on-chain.
Overall, BitVM offers a powerful primitive for establishing two-way pegs to sidechains or other systems, allowing for the enforcement of funds based on the correctness of arbitrary computations. While there are challenges to overcome, the potential for enhancing the programmability and security of Bitcoin through BitVM is significant.