Pages:
Author

Topic: A mistery hidden in the Genesis Block - page 3. (Read 22732 times)

hero member
Activity: 552
Merit: 622
April 10, 2013, 12:03:08 AM
#3
Or he stopped and restarted mining just 5 minutes before he found the genesis block, so the extra nonce was reset...
kjj
legendary
Activity: 1302
Merit: 1025
April 09, 2013, 11:58:01 PM
#2
Or maybe he just got lucky.
hero member
Activity: 552
Merit: 622
April 09, 2013, 11:41:55 PM
#1
Who created the Genesis Block?

Where in the world was the computer that mined it running ?

How many computers did Satoshi used to mine the genesis block?

Why did it take 6 days to be created? Did Satoshi rested for one day afterwards?

If you keep reading, I will lead you to a quest to find the answers to these questions using software archeology.

The Genesis Block

Genesis block header hash is this (hex):
 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
 
Note that it starts with 43 zero bits. Why? The block target difficulty was much lower (around 32 bits), so we can assume Satoshi did this on purpose.

At that time (2009) GPU mining was probably not already implemented (although maybe Satoshi did think about it). GPU mining began to be used around 2011. The first Google trends reference is on April 2011 (http://www.google.com/trends/explore?hl=en#q=GPU%20mine%20Bitcoin)
 
So Satoshi was doing mining on a CPU.
How many CPUs did Satoshi used to mine the first block?

The Genesis Miner

The Satoshi client source code version 0.1 does not have a special routine nor a command line switch to mine a Genesis block. In fact, the Genesis block was hard-coded, which probably means it was generated by another application whose source code is unknown. Nevertheless, since BTCs were essentially worthless at that time, and there was no competition between miners, we can assume he was mining with his own (and just one) personal computer.

The Satoshi PC

A good PC CPU in 2009 could do approximately 2^22 double-hashes/second.
(Taking into account NUMBER_OF_PROCESSORS=2, so two threads mine together). Satoshi client 0.1 did not have an optimization of these double-hashes, by backing up and restoring the intermediate state of the second hash application, so we can assume that the routine that created the genesis block did not had such optimization.

Lets estimate how much time it takes for Satoshi PC to solve the genesis block with 43 zeros:
Initial 22 bits (nonce test/second)
Add approximately 16 bits for a whole day  (86400 ~= 2^16)
Add approximately 2.5 bits to make it 6 days
Total bits: 41.5

So after 6 days there is approximately 17% change he may have found the genesis block. Was he lucky?

So did he let the miner working for 6 days on purpose?

The day Satoshi rested

Let's check the genesis block date/time and block 1 date/time

Block 0:    2009-01-03 18:15:05
Block 1:     2009-01-09 02:54:25 (6 days later!)

Did Satoshi intent was to relate the six days the miner "worked" to create the genesis block to the time God took to create the world in the Genesis book of the old testament? I don't think so, but the relation is interesting!

One thing that we must note is that the block time seems to have been fixed, instead of being continuously updated, as the Satoshi client does. Since the coinbase transaction in the genesis block relates to this date
(by the embedded message: The Times 03/Jan/2009 Chancellor on brink of second bailout for banks), I assume that Satoshi wanted the block date to be identical than the news on The Times.

The nonce mismatch

Now we'll try to check all these conjectures by analyzing the nonce size.
The nonce size in the block header is only 32 bits. Too short to try 2^43  possibilities. Then to achieve 43 bits zero bits in the block header hash, the miner app must have overflowed the nonce approximately 2^11 times, incrementing the bnExtraNonce each time the 32 bit nonce overflowed.

Now let's look at the scriptsig in the coinbase:

04 ff ff 00 1d  (1d00ffff, the Compact representation of Difficulty or nBits)
01 04  (Extra nonce)
45 5468652054696d6573203....

So the extra nonce is only 4, which means that the block was found only after 4 overflows, which means the genesis miner worked for only 4.2 minutes (estimated mean time).

I haven't the slightest idea why these two values (2^11 and 4) differ by 500x.

The explanation that Satoshi did have 500 computers while mining the genesis block is unsatisfactory, since the the number of initial zero bits in block 1 is only 32. Why acquire such computing power to and then never use it again?

One of the possible explanations is that the Genesis Miner did not increment the extra nonce when the nonce overflowed, but changed the destination address of the coinbase transaction. This in turn could mean that the destination  address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa is not a valid address, but a nonce.

Can you solve the mystery?

Best regards,
 Sergio.


Pages:
Jump to: