Why most of pubkeys in the first batch of blocks in blk00000.dat are different

0

For example: the pubkey in the first 3 coinbase's output are

  1. 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f

  2. 0496b538e853519c726a2c91e61ec11600ae1390813a627c66fb8be7947be63c52da7589379515d4e0a604f8141781e62294721166bf621e73a82cbf2342c858ee

  3. 047211a824f55b505228e4c3d5194c1fcfaa15a456abdf37f9b9d97a4040afc073dee6c89064984f03385237d92167c13e236446b417ab79a0fcae412ae3316b77

Actually, I checked the first 6k transaction, most of the pubKey in the pay-to-pubkey script is different, less than 10 pubKeys have duplications. Is that means satoshi use multi miner jobs to mine the block at the beginning or anything I misunderstood?

The reference link is here. block0: https://www.blockchain.com/btc/tx/4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b block1: https://www.blockchain.com/btc/tx/0e3e2357e806b6cdb1f70b54c3a3a17b6714ee1f0e68bebb44a74b1efd512098 block2: https://www.blockchain.com/btc/tx/9b0fc92260312ce44e74ef369f5c66bbb85848f2eddd5a7a1cde251e54ccfdd5

Carpemer

Posted 2018-08-28T14:33:06.307

Reputation: 117

Answers

3

The original Bitcoin software (and even the current Bitcoin Core) always used a new private key (and thus public key) for every transaction. Keys were never reused. Since the Coinbase transaction for each block is a new transaction, the software would use a new key for each one. It is the same behavior as asking for a new receiving address; a new one will be generated and given to you.

Andrew Chow

Posted 2018-08-28T14:33:06.307

Reputation: 40 910

Do you mean there is no chance to connect the “same account” in blocks? If the software generate a new address for every transaction how could people have a stable address for use in the site like blockchain.info?Carpemer 2018-08-28T15:21:08.087

Bitcoin does not use accounts. It is actually possible to determine whether blocks were mined by the same person, but not through the keys themselves.Andrew Chow 2018-08-28T15:23:39.320

Actually I mean address above. Through what?Carpemer 2018-08-28T15:28:01.683

You can look at things like the extranonce (in the coinbase script of the coinbase transaction). Even though the software generates a new address everytime you want to receive, addresses are reusable. They do not expire and can be sent to multiple times. It is just not advisable and almost no modern wallet will give you the same address multiple times even though they can be reused.Andrew Chow 2018-08-28T15:37:25.547

My understanding is the coinbase' input script is arbitrary, do you mean we could collect the coinbase which have the script like this as satoshi's coinbase? 04 -> PUSH 4 bytes (FFFF001D) 01 -> PUSH 1 byte (04), described in https://bitcoin.stackexchange.com/questions/9918/how-is-the-encoding-of-extranonce-done-in-the-genesis-block

Carpemer 2018-08-28T23:32:03.340

No, more people than just satoshi used those kinds of scripts because that was the default behavior in the original Bitcoin client. However you can look at the numbers, and due to a quirk of how the original Bitcoin client worked, the number that is pushed will increase for each block that was mined by the same person in the same mining session.Andrew Chow 2018-08-28T23:53:03.973

Thanks! I believe I will never understand this without the help of bitcoin expert like you.Carpemer 2018-08-29T04:32:39.530

0

A miner creates the coinbase transaction, which can have any valid payment address. So, it could be that there were multiple miners running, or that the miner was changing payment addresses.

JBaczuk

Posted 2018-08-28T14:33:06.307

Reputation: 6 172