Simplicity
Simplicity is a typed, combinator-based functional blockchain language designed by Russell O'Connor as an alternative to Bitcoin Script and Tapscript. Programs are built from a small set of combinators without loops or recursion. The language is deliberately not Turing complete, yet it can express any finitary function. Formal denotational semantics in a proof assistant and an operational cost model called the Bit Machine support static resource bounds and machine-checkable reasoning about contract behavior.
Simplicity is intended eventually to appear as a versioned leaf alongside Script inside Taproot trees on Bitcoin. As of the Liquid Network deployment, it runs on that sidechain's consensus rules rather than on Bitcoin mainnet. Jets provide optimized implementations of recognized subexpressions such as cryptographic primitives. Higher-level languages such as SimplicityHL compile down to Simplicity. Mainnet Bitcoin would need a consensus definition of the leaf version, cost model, and jet set before transactions could execute Simplicity programs under Bitcoin consensus.
Language model
Combinators include pairing, unit values, sums, and products that build expressions without mutable state. Because there is no unbounded looping construct, termination and an upper bound on Bit Machine steps can be derived from the program text before execution. That property is the main contrast with general-purpose smart-contract VMs that rely on runtime gas metering alone.
Jets are consensus-recognized shortcuts. A jet matches a Simplicity expression and evaluates it with a fast native implementation while charging a predetermined cost. Cryptographic hashes and signature checks are typical jet candidates. Without a mainnet soft fork that defines leaf version, jets, and weights, Simplicity programs remain consensus-invalid on Bitcoin even if they run on Liquid.
Witnesses for Simplicity spends carry the program and its input data in a form the Bit Machine can evaluate under the leaf's cost budget. A program that exceeds static weight or step limits is rejected before validation can waste unbounded work. Liquid's deployment is therefore a live test of jets and tooling, not evidence that Bitcoin consensus already accepts the same leaf version.
Relation to Tapscript
Compared with Tapscript, Simplicity aims for a smaller analysis surface and optional formal proofs of contract properties. Application developers still need audited jets and careful handling of any residual Script leaves in the same Taproot tree. Research continues on how covenants and vaults would be expressed as Simplicity programs once a mainnet leaf is defined.