Simplicity: Bitcoin's New Smart Contract Language
•Blockchain Technology

Blockstream, the company behind Bitcoin's layer-2 solution Liquid and spearheaded by Adam Back, has launched **Simplicity**, a new smart contract language tailored for Bitcoin. This initiative aims to expand Bitcoin's functionality beyond a store of value, transforming it into a programmable platform for decentralized finance (DeFi).
Simplicity will be integrated into the Liquid network, with Blockstream also releasing **SimplicityHL**, a higher-level abstraction designed to simplify development. According to Blockstream, SimplicityHL is available now, complete with a web-based integrated development environment.
Simplicity vs. Solidity: A Different Approach
Simplicity distinguishes itself from Ethereum's Solidity due to the fundamental architectural differences between the two blockchains. Solidity is designed for the Ethereum Virtual Machine (EVM), which relies on a network-wide state to track account balances and data.Bitcoin, conversely, operates on an **unspent transaction output (UTXO)** model. This key difference shapes how Simplicity smart contracts function. A Blockstream representative noted that Simplicity's design avoids reliance on a global state, requiring all necessary state information to be included with each transaction.
This approach means Solidity developers must adjust their mindset, no longer relying on globally accessible variables. Instead, all required data must be explicitly provided within transactions. While smart contracts can't share state or reference the same variables, Blockstream argues this leads to safer, more contained contracts.
Key Differences:
- No Global State: Simplicity transactions carry all necessary state information.
- Explicit Data Passing: All data must be explicitly passed within transactions, enhancing security and isolation.
- Limited Functionality: No recursion or unbounded loops are allowed.
Domain-Specific Smart Contract Languages
Simplicity is part of a growing trend toward domain-specific smart contract languages, each designed with particular functionalities in mind. Examples include:- Noir: Used for writing and verifying zero-knowledge proofs (ZK-proofs), particularly within privacy-focused Ethereum layer-2 solutions like Aztec.
- Leo: Another ZK-proof-centric language designed for privacy-preserving applications.
- Vyper: An EVM-compatible language focused on reducing the attack surface in smart contracts, used by several DeFi protocols.