BIP for OP_VAULT



Summary:

The email is a response to an interesting idea aimed at solving a serious problem, and the writer suggests exploring a design detour for decoupling the 3 functionalities of `OP_VAULT` and `OP_UNVAULT`. The goals of the email are to remove variable numbers of arguments based on values of arguments for the opcodes, remove the recursive evaluation functionality used for authentication, increase legibility of the spec, and not greatly increase the expressiveness of the proposal. There are three things that happen in idealized OP_VAULT scenario: Money comes out, then has to wait (trigger transaction), money waits long enough, then withdrawals to dynamic set of outputs that are declared at trigger time (withdrawal transaction), and money to single specified output script picked up front, with no wait (recovery). The email provides a detailed sketch of a replacement for the two opcodes, including `OP_TRIGGER_FORWARD`, `EXPR_WITHDRAW`, `OP_FORWARD_DESTINATION`, and `OP_FORWARD_OUTPUTS`. The typical usage is also explained in detail. The email concludes by requesting feedback on the proposed direction.


Updated on: 2023-06-16T15:34:35.181310+00:00