Author: ZmnSCPxj 2019-06-23 13:11:03
Published on: 2019-06-23T13:11:03+00:00
ZmnSCPxj, in an email to Jeremy Rubin, explained that the commitment of script itself isn't part of OP_SECURETHEBAG and thus cannot create covenants even if it were to pull data from the stack unless some OP_TWEEKPUBKEY operation is added to Script. He suggested that with quining, `OP_TWEAKPUBKEY`, and a `OP_SECURETHEBAG` that gets its argument from the stack, it will be possible to make Turing-complete Bitcoin SCRIPT. The ability to verify the output script being spent creates a contract that ensures that it is paid again (covenants), which in combination with a little more introspection of TX data, allows us to verify the execution of steps of a Turing-complete program. ZmnSCPxj mildly suggested creating a well-designed way of injecting Turing-completeness into Bitcoin SCRIPT behind a Taproot, so that bugs in Turing-complete code at least have a chance to be bugfixed by agreement of the Taproot signing set since it is surprisingly easy to make a language inadvertently Turing-complete. With quining, `OP_TWEAKPUBKEY`, and a `OP_SECURETHEBAG` that gets its argument from the stack, it will be possible to make Turing-complete Bitcoin SCRIPT.
Updated on: 2023-06-13T19:11:36.684200+00:00