Difference between revisions of "History of OP RETURN"

(Created page with "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...")
 
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 where one could steal anyone's Bitcoins 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 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:52, 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.