BitVM: Compute Anything on Bitcoin

Posted by Russell O'Connor

Oct 17, 2023/18:00 UTC

The email discusses the potential use of Simplicity, a core language with the same expressivity as Boolean circuits, in generating useful circuits for BitVM. The sender mentions that they have previously experimented with compiling Simplicity expressions to a system of polynomial constraints (R1CS) and were successful in generating approximately 128,000 constraints from a Sha256 compression function specification written in Simplicity.

In this "circuit" interpretation, Simplicity types represent cables, which are bundles of wires equal to the 'bit size' of the type. The 'case' combinator serves as the only active component, implementing a demultiplexer. The 'injr' and 'injl' combinators output fixed Boolean values. The other combinations mainly connect, bundle, and unbundle wires, without contributing any constraints.

While the previous experiment generated constraints, the sender suggests that a similar interpretation could generate logic gates instead. They anticipate that the number of gates generated would be in the same order of magnitude as the number of constraints generated previously. Consequently, Simplicity could potentially serve as a source of ready-made expressions to generate useful circuits for BitVM, if someone is interested in exploring this approach further.

Link to Raw Post
Bitcoin Logo

TLDR

Join Our Newsletter

We’ll email you summaries of the latest discussions from high signal bitcoin sources, like bitcoin-dev, lightning-dev, and Delving Bitcoin.

Explore all Products

ChatBTC imageBitcoin searchBitcoin TranscriptsSaving SatoshiDecoding BitcoinWarnet
Built with 🧡 by the Bitcoin Dev Project
View our public visitor count

We'd love to hear your feedback on this project.

Give Feedback