Replies: 1 comment 4 replies
-
In the current incarnation of Simplicity, the known jets (aka discounted jets, or sometimes just "jets" for short) is a known, and consensus critical set. We have a catalogue of these known jets and assigned them a unique prefix free code. So for example, the code for the bip0340-schnorr-verify jet is the bit sequence '11011000100' (subject to change). This is specified in Appendix B.1.5.1.1 (subject to change) of the Simplicity Tech Report. The Simplicity parser decodes this string, looks it up in the jet catalogue and finds the merkle root for this jet, and adds it into the merkle root computation. After all the jets and combinators are traversed the resulting merkle root of the whole expression is compared with the merkle root specified in the scriptPubKey being redeemed to ensure it matches. |
Beta Was this translation helpful? Give feedback.
-
I know no one will write anything using raw Simplicity operators, but even then the operators that are going to be used are built upon these raw operators and thus identified by the merkle root of the expression that constitutes them, right?
How large are these merkle roots? I wonder because a Bitcoin opcode is 1 byte, but a merkle root is probably not less than 20 bytes (?), I think a few bytes could end making a lot of difference. Am I wrong?
Beta Was this translation helpful? Give feedback.
All reactions