diff --git a/index.html b/index.html index 91977b0..62e08df 100644 --- a/index.html +++ b/index.html @@ -357,8 +357,8 @@

Correctness properties

  • "V" Verify expressions. Like "B", these take their inputs from the top of the stack. Upon satisfaction however, they continue without pushing anything. They cannot be dissatisfied without aborting. A "V" can be obtained using the v: wrapper on a "B" expression, or by combining other "V" expressions using and_v, or_i, or_c, or andor. An example is v:pk(key) = <key> CHECKSIGVERIFY.
  • -
  • "K" Key expressions. They again take their inputs from the top of the stack, but instead of verifying a condition directly they always push a public key onto the stack, for -which a signature is still required to satisfy the expression. A "K" can be converted into a "B" using the c: wrapper (CHECKSIG). +
  • "K" Key expressions. They again take their inputs from the top of the stack, always push a public key onto the stack, and cannot be dissatisfied (pk_h can abort). + The signature input has to come through the c: wrapper, which will convert the wrapped "K" expression into "B", and CHECKSIG will determine the satisfaction of the wrapped expression. An example is pk_h(key) = DUP HASH160 <Hash160(key)> EQUALVERIFY
  • "W" Wrapped expressions. They take their inputs from one below the top of the stack, and push a nonzero (in case of satisfaction) or zero (in case of dissatisfaction) either on top of the stack, or one below. So for example a 3-input "W" would take the stack "A B C D E F" and turn it into "A B F 0" or "A B 0 F" in case of dissatisfaction, and