Difference between revisions of "False Return"

Line 1: Line 1:
 
False Return outputs are [[VOUT|transaction outpoints]] which begin with the script "OP_FALSE OP_RETURN". This script always returns a false when evaluated making the output unspendable and locking any funds attached to that endpoint. False Return outputs can be used to store arbitrary information such as recorded data, tokens, files and more. False Return outputs are commonly used as vehicles to carry data for [[Application layer protocol|application layer protocols]] inside Bitcoin transactions.
 
False Return outputs are [[VOUT|transaction outpoints]] which begin with the script "OP_FALSE OP_RETURN". This script always returns a false when evaluated making the output unspendable and locking any funds attached to that endpoint. False Return outputs can be used to store arbitrary information such as recorded data, tokens, files and more. False Return outputs are commonly used as vehicles to carry data for [[Application layer protocol|application layer protocols]] inside Bitcoin transactions.
  
==OP_RETURN Transactions==
+
==OP_RETURN Outputs==
Due to changes made by Satoshi in 2010 to prevent people exploiting a bug in the Bitcoin software, a script that reached an OP_RETURN opcode would terminate in failure. This led to the widespread use of so-called 'Op_Return transactions' which start with an OP_RETURN instruction and then store data for application layer protocols. Bitcoin Core rules stipulated that to use an OP_RETURN instruction in an output, it had to be both the only opcode in the output and the first opcode in the output.
+
Due to changes made by Satoshi in 2010 to prevent people exploiting a bug in the Bitcoin software, the OP_RETURN opcode was changed to force scripts to terminate in failure. This led to the widespread use of so-called 'Op_Return outputs' which start with an OP_RETURN instruction and then store data for application layer protocols. Bitcoin Core rules stipulated that to use an OP_RETURN instruction in an output, it had to be both the only opcode in the output and the first opcode in the output.
 
The Quasar Update in early 2019, removed these requirements meaning that transactions requiring attached data items such as tokens and other information no longer needed to be stored in these outputs.
 
The Quasar Update in early 2019, removed these requirements meaning that transactions requiring attached data items such as tokens and other information no longer needed to be stored in these outputs.
 
Many second layer protocols were build using the OP_RETURN framework prior to being migrated to False Return outputs.
 
Many second layer protocols were build using the OP_RETURN framework prior to being migrated to False Return outputs.

Revision as of 05:50, 21 January 2020

False Return outputs are transaction outpoints which begin with the script "OP_FALSE OP_RETURN". This script always returns a false when evaluated making the output unspendable and locking any funds attached to that endpoint. False Return outputs can be used to store arbitrary information such as recorded data, tokens, files and more. False Return outputs are commonly used as vehicles to carry data for application layer protocols inside Bitcoin transactions.

OP_RETURN Outputs

Due to changes made by Satoshi in 2010 to prevent people exploiting a bug in the Bitcoin software, the OP_RETURN opcode was changed to force scripts to terminate in failure. This led to the widespread use of so-called 'Op_Return outputs' which start with an OP_RETURN instruction and then store data for application layer protocols. Bitcoin Core rules stipulated that to use an OP_RETURN instruction in an output, it had to be both the only opcode in the output and the first opcode in the output. The Quasar Update in early 2019, removed these requirements meaning that transactions requiring attached data items such as tokens and other information no longer needed to be stored in these outputs. Many second layer protocols were build using the OP_RETURN framework prior to being migrated to False Return outputs.