History of OP RETURN

Revision as of 17:52, 6 January 2020 by Joshua Henslee (talk | contribs)

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.