Skip to content

topics: OP_CHECKSIGFROMSTACK: CSFS does not enable introspection #2267

Open
@darosior

Description

@darosior

The topic page about OP_CSFS states:

The ability to use OP_CSFS to verify an arbitrary message can enable several new features for Bitcoin users:

  • [...]
  • Transaction introspection: If the same pubkey and signature pair are valid both with OP_CSFS and OP_CHECKSIG, then the contents of the arbitrary message passed to OP_CSFS is identical to the serialized spending transaction (and other data) implicitly used with OP_CHECKSIG. This makes it possible to put a validated copy of the spending transaction on the script evaluation stack where other opcodes can run tests on it in order to enforce restrictions on the spending transaction. For example, if OP_CSFS had been available in 2015 and 2016, it would've been possible to implement the features of [BIP65][] OP_CHECKLOCKTIMEVERIFY (CLTV) and [BIP112][] OP_CHECKSEQUENCEVERIFY (CSV) using without any consensus changes just by writing a verification script. Looking forward, OP_CSFS could also allow scripts to [implement the features][oconnor generic] of the proposed [SIGHASH_ANYPREVOUT][topic sighash_anyprevout] signature hash, as well as other opcode proposals such as [OP_CHECKTEMPLATEVERIFY][topic op_checktemplateverify]. Additionally, OP_CSFS would allow the creation of [covenants][topic covenants] that restrict the way in which a set of bitcoins may be spent---for example, a [vault][topic vaults] may restrict its spending transaction to a small set of acceptable scriptPubKeys to limit the risk of theft. [...]

OP_CSFS alone does not enable arbitrary introspection, as far as i can tell. I think this text assumes OP_CAT but then i think this is misleading to mention transaction introspection as a feature enabled by OP_CSFS alone.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions