BitVM in a Nutshell
  • BitVM in a Nutshell
  • Introduction to BitVM
    • What Is BitVM?
    • How Bitcoin's Programming Works
    • How BitVM Enhances Bitcoin's Functionality
    • Bringing Computation to Bitcoin Through Off-Chain Execution
    • Conclusion
  • BitVM Applications & Use Cases
    • Introduction
    • Building Trust-Minimized Bridges
    • Beyond the Lightning Network
    • Sharing Bitcoin Security with Other Systems
    • Conclusion
  • BitVM Programming Paradigms
    • Introduction
    • How to Construct a BitVM in Practice
    • The Challenges of Compiling for Bitcoin
    • The Solution: Staging Compilation and Decomposition
    • Remarks and Future Directions
  • Existing Efforts related to BitVM
    • The Birth of BitVM
    • Making BitVM Practical: The Push for Efficiency and Automation
    • Real-World Applications: The BitVM Bridge
    • Conclusion
  • Future Work: Scaling BitVM in Production
    • Introduction
    • Developing Bitcoin-Friendly Cryptographic Primitives
    • Automating the Compilation Pipeline
    • Enhancing Security Through Formal Methods
    • Conclusion
  • BitVM vs. OP_CAT
    • What Is OP_CAT and Why Does It Matter?
    • How OP_CAT Could Boost BitVM
    • Why Isn’t OP_CAT Enabled Yet?
    • Conclusion
Powered by GitBook
On this page
  • Bitcoin Script: The Basics
  • Limitations of Bitcoin Script
  1. Introduction to BitVM

How Bitcoin's Programming Works

To appreciate what BitVM brings to the table, it's helpful to understand how Bitcoin's programming currently works.

Bitcoin Script: The Basics

Bitcoin includes a built-in scripting language known as Bitcoin Script. This language allows users to create simple conditions for spending unspent transaction outputs (UTXOs)—the building blocks of Bitcoin transactions. A UTXO can be thought of as a "digital coin" that is locked by specific rules, and these rules must be satisfied to spend the coin. For instance, Bitcoin Script enables features like:

  • Multisignature Transactions: Requiring multiple signatures to unlock and spend a UTXO.

  • Timelocks: Restricting the spending of a UTXO until a certain time or block height.

These features function like programmable locks on a digital safe, ensuring that only the right keys or conditions can unlock the funds.

Limitations of Bitcoin Script

However, Bitcoin Script is not a full-fledged programming language. It's intentionally limited to prevent complexity that could introduce security vulnerabilities such as denial-of-service (DOS). This means:

  • No Complex Logic: You can't program intricate conditions or automate complex actions.

  • Limited OpCodes: The set of operations (opcodes) available is minimal, focusing on transaction validation.

These limitations contribute to Bitcoin's security but also mean that sophisticated applications—like those seen in DeFi—aren't possible natively on Bitcoin.

PreviousWhat Is BitVM?NextHow BitVM Enhances Bitcoin's Functionality

Last updated 6 months ago