Bitcoin is digital – it is entirely based on 0s and 1s. A more efficient way of showing 0 and 1s is to use hexadecimal representation. This is also known as base 16.

For example, here is a raw bitcoin transaction:

010000000143da276966d494155e57b4dbebee3c698c72d260c3f6983734b49af29fffd88e010000006b483045022100d826eaff805130ec55a90cb5dd261e0f7ab02c918e0f2f1748c819c83ec94fcf0220561250a05bf5c6f7a0dd6d7eab1ae0414d5d5f194a9ddf94b3733a5409f921560121037d2542baf3a0ab1b00bffa5fbe045579f40f3572a0e0227b33a4bb13e7d85d06ffffffff020100000000000000246a22237375706572626974636f696e6572207375706572626974636f696e65722e636f6d59ee4300000000001976a91477bf6e7ff62bdad5237ec8a1da91f52b1628186388ac00000000

So, what can we do with a raw transaction? The above hex decodes to:

{ “addresses”: “1BvAjjRGERmQvUBprkpPeZYZQNxCbLKe4P”, “fees”: 2500, “hash”: “7f2875779f2429ee76e50857c6407e56ecc5ba7b0c9cfb102a477e50072233fa”, “inputs”: [ { “addresses”: [ “1BvAjjRGERmQvUBprkpPeZYZQNxCbLKe4P”], “output_index”: 1, “output_value”: 4454430, “prev_hash”: “8ed8ff9ff29ab4343798f6c360d2728c693ceeebdbb4575e1594d4666927da43”, “script”: “483045022100d826eaff805130ec55a90cb5dd261e0f7ab02c918e0f2f1748c819c83ec94fcf0220561250a05bf5c6f7a0dd6d7eab1ae0414d5d5f194a9ddf94b3733a5409f921560121037d2542baf3a0ab1b00bffa5fbe045579f40f3572a0e0227b33a4bb13e7d85d06”, “script_type”: “pay-to-pubkey-hash”, “sequence”: 4294967295 }], “lock_time”: 0, “outputs”: [ { “addresses”: [], “data_hex”: “237375706572626974636f696e6572207375706572626974636f696e65722e636f6d”, “data_string”: “#superbitcoiner superbitcoiner.com”, “script”: “6a22237375706572626974636f696e6572207375706572626974636f696e65722e636f6d”, “script_type”: “null-data”, “value”: 1 }, {“addresses”: [“1BvAjjRGERmQvUBprkpPeZYZQNxCbLKe4P”], “script”: “76a91477bf6e7ff62bdad5237ec8a1da91f52b1628186388ac”, “script_type”: “pay-to-pubkey-hash”, “spent_by”: “407f5f46110256d0729cabe8a76168399342234df4001f1689b2166cdc5f02c7”, “value”: 4451929 } ], “size”: 237, “total”: 4451930, “ver”: 1, “vin_sz”: 1, “vout_sz”: 2 }

In a block explorer, the transaction ends up looking like this:

It is important to note one of the outputs in this transaction is a null-data script. This means 80 bytes of null data is written. It burns any amount of bitcoin sent to that script.

In the above case, the bitcoin burned is 1 satoshi plus the miner fee. That is a total of 40 characters. This null data, on the protocol level, is known as OP_Return.

The bitcoin blocksize debate encompasses all aspects of the protocol. Interestingly, there is discussion about limiting the bitcoin blockchain just to payments (Bitcoin Classic) versus having settlements (Bitcoin Core).

In short, we have one group (Bitcoin Classic) that thinks that bitcoin should always be a payment network, aimed at ultimately replacing traditional payment methods. Then we have another group that thinks of bitcoin as more of a settlement network (Bitcoin Core), and that end users should use sidechains, the Lightning network or other future initiatives that could appear in the future as networks for payment.

Fact is, people use bitcoin as a settlement network right now. By storing information on the bitcoin blockchain, they are creating a permanent record as a form of agreement or resolution.

To demonstrate this, we’ve created an OP Return Twitter account, with real-time data from the bitcoin blockchain. As soon as a transaction with OP_Return data is confirmed, it is broadcasted.

Some recent examples of OP_Return transactions:

Who is doing bitcoin blockchain settlements? All of the following companies/projects are using OP_Return. Bitproof, Coinspark, Colu, Docproof, Eternity Wall, Factom, Monegraph, Onename, Open Assets and Stampery.

Bitcoin isn’t just being utilized for payments. Individuals and companies are also using it for settlement. Just follow OP Return on Twitter to see for yourself.