07-15-2021, 05:03 AM
The Coinbase etymology and Satoshi's message on the Bitcoin blockchain
<!-- SC_OFF --><div class="md"><p>To most people, Coinbase just means <em>the</em> crypto exchange. However, it took its name from a special field in Bitcoin blocks called "coinbase".</p> <p>The fun part is that this field can contain arbitrary data, and this has been used by Satoshi himself, digital graffiti artists and nerds looking for a fun way to do marriage proposals. And also for a few bad things, but let's not go there.</p> <p>Let's decode Satoshi's first message manually to see how this works. I'll use online tools exclusively, so everyone can follow along.</p> <p>While the presence of this message is very well known, the punchline at the end of this post is less widely known.</p> <p>I thought it would be interesting for people to learn the rough process of finding such nuggets. By scanning the blockchain with a script, you can automate all this to look for interesting content. With a bit of Python or Javascript coding, and a bit of imagination and decoding trials, you may find things never discovered before.</p> <p>The first step is to grab the data of block 0, the very first block mined by Satoshi. This is available from <a href="https://blockchain.info/block-height/0">https://blockchain.info/block-height/0</a></p> <p>This gives us a JSON formatted response:</p> <p><code>{"blocks":[{"hash":"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f","ver":1,"prev_block":"0000000000000000000000000000000000000000000000000000000000000000","mrkl_root":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b","time":1231006505,"bits":486604799,"next_block":["00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048"],"fee":0,"nonce":2083236893,"n_tx":1,"size":285,"block_index":0,"main_chain":true,"height":0,"weight":1140,"tx":[{"hash":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b","ver":1,"vin_sz":1,"vout_sz":1,"size":204,"weight":816,"fee":0,"relayed_by":"</code><a href="https://0.0.0.0"><code>0.0.0.0</code></a><code>","lock_time":0,"tx_index":2098408272645986,"double_spend":false,"time":1231006505,"block_index":0,"block_height":0,"inputs":[{"sequence":4294967295,"witness":"","script":"04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73","index":0,"prev_out":null}],"out":[{"type":0,"spent":false,"value":5000000000,"spending_outpoints":[],"n":0,"tx_index":2098408272645986,"script":"4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac","addr":"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"}]}]}]}</code></p> <p>We'll look closer at two values, "time" and "script" (aka coinbase)</p> <p>The time value is 1231006505, which looks like it might be a Unix epoch value. Stuffing it into <a href="https://www.epochconverter.com/">https://www.epochconverter.com/</a> gives us a value of "<strong>Saturday, January 3, 2009 6:15:05 PM GMT</strong>", which is indeed when Satoshi mined the very first block.</p> <p>We know he used this mining opportunity to include a message. Let's see what the message is, exactly, by decoding the "script" field. This is a bunch of hex digits we can convert to ASCII on a site like <a href="https://www.rapidtables.com/convert/number/hex-to-ascii.html">https://www.rapidtables.com/convert/number/hex-to-ascii.html</a></p> <p>Pasting in the hex value 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73, we get this result:</p> <p><strong><em><some other data> The Times 03/Jan/2009 Chancellor on brink of second bailout for banks</em></strong></p> <p>This is the article Satoshi is referring to: <a href="https://www.thetimes.co.uk/article/chancellor-alistair-darling-on-brink-of-second-bailout-for-banks-n9l382mn62h">https://www.thetimes.co.uk/article/chancellor-alistair-darling-on-brink-of-second-bailout-for-banks-n9l382mn62h</a></p> <p>Now take a look at the paper version Satoshi probably read: <a href="https://imgur.com/pGYXHJh">https://imgur.com/pGYXHJh</a></p> <p>That's right. The small heading on the top says "<strong>Start collecting tokens today</strong>".</p> <p>How fitting.</p> </div><!-- SC_ON --> submitted by <a href="https://www.reddit.com/user/Onnar"> /u/Onnar </a> <br/> <span><a href="https://www.reddit.com/r/CryptoCurrency/comments/ok58uf/the_coinbase_etymology_and_satoshis_message_on/">[link]</a></span> <span><a href="https://www.reddit.com/r/CryptoCurrency/comments/ok58uf/the_coinbase_etymology_and_satoshis_message_on/">[comments]</a></span>Kind Regards R
<!-- SC_OFF --><div class="md"><p>To most people, Coinbase just means <em>the</em> crypto exchange. However, it took its name from a special field in Bitcoin blocks called "coinbase".</p> <p>The fun part is that this field can contain arbitrary data, and this has been used by Satoshi himself, digital graffiti artists and nerds looking for a fun way to do marriage proposals. And also for a few bad things, but let's not go there.</p> <p>Let's decode Satoshi's first message manually to see how this works. I'll use online tools exclusively, so everyone can follow along.</p> <p>While the presence of this message is very well known, the punchline at the end of this post is less widely known.</p> <p>I thought it would be interesting for people to learn the rough process of finding such nuggets. By scanning the blockchain with a script, you can automate all this to look for interesting content. With a bit of Python or Javascript coding, and a bit of imagination and decoding trials, you may find things never discovered before.</p> <p>The first step is to grab the data of block 0, the very first block mined by Satoshi. This is available from <a href="https://blockchain.info/block-height/0">https://blockchain.info/block-height/0</a></p> <p>This gives us a JSON formatted response:</p> <p><code>{"blocks":[{"hash":"000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f","ver":1,"prev_block":"0000000000000000000000000000000000000000000000000000000000000000","mrkl_root":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b","time":1231006505,"bits":486604799,"next_block":["00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048"],"fee":0,"nonce":2083236893,"n_tx":1,"size":285,"block_index":0,"main_chain":true,"height":0,"weight":1140,"tx":[{"hash":"4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b","ver":1,"vin_sz":1,"vout_sz":1,"size":204,"weight":816,"fee":0,"relayed_by":"</code><a href="https://0.0.0.0"><code>0.0.0.0</code></a><code>","lock_time":0,"tx_index":2098408272645986,"double_spend":false,"time":1231006505,"block_index":0,"block_height":0,"inputs":[{"sequence":4294967295,"witness":"","script":"04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73","index":0,"prev_out":null}],"out":[{"type":0,"spent":false,"value":5000000000,"spending_outpoints":[],"n":0,"tx_index":2098408272645986,"script":"4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac","addr":"1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"}]}]}]}</code></p> <p>We'll look closer at two values, "time" and "script" (aka coinbase)</p> <p>The time value is 1231006505, which looks like it might be a Unix epoch value. Stuffing it into <a href="https://www.epochconverter.com/">https://www.epochconverter.com/</a> gives us a value of "<strong>Saturday, January 3, 2009 6:15:05 PM GMT</strong>", which is indeed when Satoshi mined the very first block.</p> <p>We know he used this mining opportunity to include a message. Let's see what the message is, exactly, by decoding the "script" field. This is a bunch of hex digits we can convert to ASCII on a site like <a href="https://www.rapidtables.com/convert/number/hex-to-ascii.html">https://www.rapidtables.com/convert/number/hex-to-ascii.html</a></p> <p>Pasting in the hex value 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73, we get this result:</p> <p><strong><em><some other data> The Times 03/Jan/2009 Chancellor on brink of second bailout for banks</em></strong></p> <p>This is the article Satoshi is referring to: <a href="https://www.thetimes.co.uk/article/chancellor-alistair-darling-on-brink-of-second-bailout-for-banks-n9l382mn62h">https://www.thetimes.co.uk/article/chancellor-alistair-darling-on-brink-of-second-bailout-for-banks-n9l382mn62h</a></p> <p>Now take a look at the paper version Satoshi probably read: <a href="https://imgur.com/pGYXHJh">https://imgur.com/pGYXHJh</a></p> <p>That's right. The small heading on the top says "<strong>Start collecting tokens today</strong>".</p> <p>How fitting.</p> </div><!-- SC_ON --> submitted by <a href="https://www.reddit.com/user/Onnar"> /u/Onnar </a> <br/> <span><a href="https://www.reddit.com/r/CryptoCurrency/comments/ok58uf/the_coinbase_etymology_and_satoshis_message_on/">[link]</a></span> <span><a href="https://www.reddit.com/r/CryptoCurrency/comments/ok58uf/the_coinbase_etymology_and_satoshis_message_on/">[comments]</a></span>Kind Regards R
