Standard BIP Draft: Turing Pseudo-Completeness



Summary:

A member of the Bitcoin-Dev mailing list proposed adding opcodes to make Script Turing Pseudo-Complete, as suggested by Wright. However, another member responded that there is no need for a BIP draft and that using a normal computer language with preferred algorithm libraries and development tools would suffice if that capability is needed. The specification of such a language is trivial; it is the economics of validation that is complex due to proving whether or not a program will halt as expected being near impossible for most complex programs. A working example of provable execution can be found at https://github.com/jgarzik/moxiebox. The original proposal included adding a return stack alongside the existing control stack and several opcodes such as OP_DEFINITION_START, OP_DEFINITION_END, OP_FUNCTION_NAME, OP_CALL, OP_RETURN_FROM_CALL_AND_CONTINUE, and OP_NAMESPACE. These opcodes would allow for the creation of new functions, marking transactions as valid, debiting calling transactions, creating new transactions, and more.


Updated on: 2023-06-11T01:59:11.293407+00:00