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
  1. Introduction to BitVM

How BitVM Enhances Bitcoin's Functionality

BitVM doesn't alter Bitcoin's existing code; instead, it innovatively leverages what's already there. It's like using a limited set of tools in creative ways to build something new and impressive—much like constructing intricate structures from basic Lego blocks.

By utilizing Bitcoin's existing features—such as hashlocks and timelocks—BitVM introduces a form of programmability without adding complexity to the Bitcoin protocol itself.

A hashlock is like a digital lock that can only be opened with a specific key (a cryptographic preimage). In the context of BitVM:

  • Conditional Transactions: Funds can be locked in a UTXO that only becomes spendable when the correct cryptographic key is provided, acting like a digital lock that requires the right key to unlock and transfer the funds

  • Use Cases: This enables basic smart contracts where, for example, a payment is only released upon the revelation of a specific secret.

A timelock sets a condition based on time:

  • Delay Transactions: Funds cannot be spent until after a certain time or block height.

  • Security Measures: Timelocks can protect against certain types of attacks by delaying the ability to move funds.

By combining hashlocks and timelocks, BitVM can create programmable contracts that perform actions based on specific conditions, such as:

  • Atomic Swaps: Enabling the exchange of assets between parties without intermediaries.

  • Conditional Payments: Releasing funds only when certain conditions are met, within a specified time frame.

PreviousHow Bitcoin's Programming WorksNextBringing Computation to Bitcoin Through Off-Chain Execution

Last updated 6 months ago