There is a comment in the Bitcoin source code under src/chainparams.cpp

/** * Build the genesis block. Note that the output of its generation * transaction cannot be spent since it did not originally exist in the * database. * * CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1) * CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0) * CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73) * CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B) * vMerkleTree: 4a5e1e */

What exactly does this value refer to?

coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73


The original 50 BTC coinbase is not spendable since it was not included in the UTXO set. Any transaction trying to spend it would be invalid, since the previous output from the coinbase tx does not exist in the utxo set.

The hex string is an encoding of The Times 03/Jan/2009 Chancellor on brink of second bailout for banks, along with the regular coinbase params. It is essentially a marker that proves that the chain was not premined before 03/01/2009 by including the headline from a paper on that day.

  • Thanks for your answer, how is this string encoded? I am trying to modify a Bitcoinj library to make it compatible with other altcoins – Barney Chambers Jul 23 '18 at 10:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.