Skip to content

Standard Simplicity Script Pubkey

roconnor-blockstream edited this page Feb 16, 2023 · 13 revisions

IN PROGRESS

The disassembled DAG of the standard Simplicity program for a single public key looks as follows.

let e0 = Word <32-byte x-only-public-key>     -- : πŸ™ ⊒ 𝟚^256
let e1 = iden                                 -- : 𝟚^256 Γ— πŸ™ ⊒ 𝟚^256 Γ— πŸ™
let e2 = Jet sigAllHash                       -- : πŸ™ ⊒ 𝟚^256
let e3 = disconnect e1 e2                     -- : πŸ™ ⊒ 𝟚^512
let e4 = pair e0 e3                           -- : πŸ™ ⊒ 𝟚^256 Γ— 𝟚^512
let e5 = witness <64-byte BIP-0340-signature> -- : πŸ™ ⊒ 𝟚^512
let e6 = pair e4 e5                           -- : πŸ™ ⊒ (𝟚^256 Γ— 𝟚^512) Γ— 𝟚^512
let e7 = Jet checkSigVerify                   -- : (𝟚^256 Γ— 𝟚^512) Γ— 𝟚^512 ⊒ πŸ™
      in comp e6 e7                           -- : πŸ™ ⊒ πŸ™

For each subexpression we have given a comment showing the inferred type of every subexpression.

Clone this wiki locally