Difference between revisions of "OP RETURN"

From Bitcoin Wiki
Jump to: navigation, search
(Created page with "OP_RETURN is a script opcode used to mark a transaction output as invalid. Since the data after OP_RETURN are irrelevant to Bitcoin payments, arbitrary data can be added i...")
 
(Add Omni Layer, note Open Assets prefix)
Line 14: Line 14:
  
 
== OP_RETURN prefixes ==
 
== OP_RETURN prefixes ==
Often, OP_RETURN transactions include a prefix to identify which protocol they belong to. There is no standardized method of claiming OP_RETURN prefixes, and not all OP_RETURN transactions use prefixes. At the time of writing, this wiki page is probably the most complete registry of OP_RETURN prefixes.
+
Often, OP_RETURN transactions include a prefix to identify which protocol they belong to. There is no standardized method of claiming OP_RETURN prefixes, and not all OP_RETURN transactions use prefixes. At the time of writing, this wiki page is probably the most complete list of OP_RETURN prefixes.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 24: Line 24:
 
| CC || Colu || ?
 
| CC || Colu || ?
 
|-
 
|-
| ? || [https://github.com/OpenAssets/open-assets-protocol Open Assets] || Issuance and transfer of user-created assets
+
| OA || [https://github.com/OpenAssets/open-assets-protocol Open Assets] || Issuance and transfer of user-created assets
 +
|-
 +
| omni || Omni Layer || ?
 
|-
 
|-
 
| MG || [https://monegraph.com Monegraph] || Digital work licensing
 
| MG || [https://monegraph.com Monegraph] || Digital work licensing

Revision as of 01:48, 29 December 2015

OP_RETURN is a script opcode used to mark a transaction output as invalid. Since the data after OP_RETURN are irrelevant to Bitcoin payments, arbitrary data can be added into the transaction by following the OP_RETURN with an OP_PUSHDATA. Since any outputs with OP_RETURN are provably unspendable, OP_RETURN outputs can be used to burn bitcoins.

Currently, the default Bitcoin client relays OP_RETURN transactions up to 40 bytes, but does not provide a way to create OP_RETURN transactions.

Philosophy

Some members of the Bitcoin community believe that use of OP_RETURN violates the contract of Bitcoin, because Bitcoin was intended to provide a record for financial transactions, not a record for arbitrary data. Despite this, use of OP_RETURN may continue unabated because there is no easy way to stop people from embedding arbitrary data in the blockchain, and OP_RETURN is an efficient way to do it. [bitcointalk discussion]

Resources on OP_RETURN

OP_RETURN prefixes

Often, OP_RETURN transactions include a prefix to identify which protocol they belong to. There is no standardized method of claiming OP_RETURN prefixes, and not all OP_RETURN transactions use prefixes. At the time of writing, this wiki page is probably the most complete list of OP_RETURN prefixes.

Prefix (Ascii-Encoded) Protocol/Owner Brief description
Fa Factom  ?
CC Colu  ?
OA Open Assets Issuance and transfer of user-created assets
omni Omni Layer  ?
MG Monegraph Digital work licensing
id Blockstore  ?
ASCRIBE ASCRIBE Digital work licensing
 ? Counterparty  ?