Difference between revisions of "History of OP RETURN"
Line 1: | Line 1: | ||
− | The OP_RETURN opcode has a controversial history that has culminated to it being used as the primary mechanism to store arbitrary data on-chain. The original functionality was intended to behave as a return operation that ends execution of the script. The original implementation had a critical bug and was quickly disabled by Satoshi Nakamoto. | + | The OP_RETURN opcode has a controversial history that has culminated to it being used as the primary mechanism to store arbitrary data on-chain. The original functionality was intended to behave as a return operation that ends execution of the script. The original implementation had a critical bug and was quickly [https://github.com/bitcoin/bitcoin/commit/73aa262647ff9948eaf95e83236ec323347e95d0 disabled by Satoshi Nakamoto.] |
=== Original functionality === | === Original functionality === | ||
Line 6: | Line 6: | ||
OP_TRUE OP_RETURN | OP_TRUE OP_RETURN | ||
− | True would be returned from the script | + | True would be returned from the script; because of this, this example script could prepend any unlocking script, granting the ability for one to steal anyone's Bitcoin. |
Revision as of 17:58, 6 January 2020
The OP_RETURN opcode has a controversial history that has culminated to it being used as the primary mechanism to store arbitrary data on-chain. The original functionality was intended to behave as a return operation that ends execution of the script. The original implementation had a critical bug and was quickly disabled by Satoshi Nakamoto.
Original functionality
OP_RETURN was originally intended to return the top value on the stack. Given the script:
OP_TRUE OP_RETURN
True would be returned from the script; because of this, this example script could prepend any unlocking script, granting the ability for one to steal anyone's Bitcoin.