6

I think that's both very premature, and misses the point. Simplicity is a completely different approach to scripting, with significant advantages, but it's being designed from the ground up. There is lots of progress, but it will require more than just the base layer. You can't just write scripts in Simplicity, and if you have one, you can't just sign for it....


5

It has always been the case that the full Bit Machine would be "exposed"[1] by allowing arbitrary Simplicity. This is because the combinators that let you compose the high-level jets are exactly the same combinators that define low-level Simplicity. Thus even if only a few high-level jets are chosen to be exposed, it would still be the case that the low-...


4

For this answer, I will mainly focus on static analysis of computation resources such as memory use and time. In Simplicity, we have a separation between the Simplicity language and the language of the Bit Machine with a formal translation from the Simplicity language to the Bit Machine language (see Figure 2 from the whitepaper). This translation has been ...


3

The definition of cond is cond thn els = match (drop els) (drop thn) Expanding this in your definition of full yields full = match (drop unit) (drop u) The correct pruned version should be pruned = assertl (drop unit) (commitmentRoot (drop u)) which has commitment root that matches: let full = cond unit unit in (flip Numeric.showHex "".integerHash256....


3

Your understanding of the commitment root is correct. Taking advantage of Haskell's laziness, feel free to put undefined into the signature when computing the commitment root. At the moment, the witness root is not used in the protocol. There are some ideas on how to use it in more sophisticated protocols, but those ideas haven't been realized yet. ...


1

Miniscript is an encoding of Bitcoin Script. The functionality of Miniscript is a subset of Script so there is nothing you can do with Miniscript that you can't do with Script. Therefore scripts decoded from Miniscript can be used on Bitcoin mainnet today in addition to testnet, regtest, signet and Elements. In terms of Miniscript resources (in addition to ...


Only top voted, non community-wiki answers of a minimum length are eligible