I have strong evidence the same computer AND JUST ONE mined blocks 1-10
Just look at the extra nonce in the coinbase field of the coinbase transaction.
The counter is monotonically incrementing at a constant pace.
Also this can be used to find how many computers/threads where mining at some time (until they get powered-off). Each thread has another monotonically incrementing ExtraNonce variable.
So from that we can infer Satoshi PC Resources. Those resources allowed him to mine a block with 32 leading zeros every 6 minutes.
It is strong evidence that
one entity mined those blocks. Mining timestamps start three hours after the announcement email dropped in the inbox of every crypto mailing list subscriber.
It would be cool if coinbase scriptsig + nonce could act as a counter of exactly how many hashes an individual miner has been doing, but analysis doesn't allow perfect inference of the hashrate. The bnExtraNonce (which is an OpenSSL bn BigNum being written in hex) starts at 1 every instantiation and is incremented whenever the miner loop is restarted which is:
-if the miner thread is restarted (through UI, restart),
-after every 262144 hashes:
- if new transactions have been seen and miner has ran for more than 60 seconds,
- if there is a new network block or a block is found
- if the nonce has wrapped to 0
One still could dump nonce+extra and attempt to assemble a tree of likely continuous miner runs, although analysis code might get confused pretty quickly.
One interesting thing in my reading of 0.1.0 is that mining won't start if Bitcoin is not connected to other nodes, so there had to be at least two Bitcoin machines on. This is probably to prevent naive forking, from miners reconnecting with a longer chain. In fact, I found that bitcoin would crash if it can't get to IRC. It also determines external IP addresses using two web services by static IPs that are dead, only one of which is still alive by DNS, so this makes testnetting harder since you have to emulate these. On the plus side, it writes the genesis block itself if blk0001 doesn't exist (which I find out after manually dumping and importing block 0 into another Bitcoin).
Also it looks like a good CPU would be lucky to get ~0.5MHash - the miner is single-threaded, and it calls the Crypto++ library to do SHA256 and byte juggling twice for every hash.
BTW all this crap about 32 hash bits etc is irrelevant. When did Sergio go batshit?