Author: John Dillon 2013-07-28 19:39:08
Published on: 2013-07-28T19:39:08+00:00
Peter Todd has suggested two uses for non-standard transactions to implement oracles and one-time-password protection of wallet funds. The oracle case would be most useful with more arbitrary rules. It is useful to have scriptPubKeys like n...m CHECKMULTISIG CHECKSIG BOOLOR and many other similar constructions. The author suggests creating a whitelist for specific opcodes that would apply to scripts serialized using P2SH, retaining the existing standard whitelist for scriptPubKeys. The author recommends dropping pay-to-pubkey and pay-to-multisig due to their potential for dumping data in the UTXO set. The whitelist should contain 0 to 75 byte pushdata, PUSHDATA1, 1NEGATE, OP 1 to OP16, IF, NOTIF, ELSE, ENDIF, VERIFY, RETURN, TOALTSTACK, FROMALTSTACK, DROP, DUP, SWAP, EQUAL, EQUALVERIFY, 0NOTEQUAL, BOOLAND, BOOLOR, RIPEMD160, SHA1, SHA256, HASH160, HASH256, CHECKSIG, CHECKSIGVERIFY, CHECKMULTISIG, and CHECKMULTISIGVERIFY. This list allows for complex logic, but does not allow for arithmetic, thus avoiding potential problems.
Updated on: 2023-06-07T14:43:39.348432+00:00