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
  • 301
  • 3
  • 11

2 Answers2

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.

Ava Chow
  • 70,382
  • 5
  • 81
  • 161
  • 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 Aug 28 '18 at 15:21
  • 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. – Ava Chow Aug 28 '18 at 15:23
  • Actually I mean address above. Through what? – Carpemer Aug 28 '18 at 15:28
  • 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. – Ava Chow Aug 28 '18 at 15:37
  • 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 Aug 28 '18 at 23:32
  • 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. – Ava Chow Aug 28 '18 at 23:53
  • Thanks! I believe I will never understand this without the help of bitcoin expert like you. – Carpemer Aug 29 '18 at 04:32
  • But now many pool looks use the same address. in the coinbase. For example: https://www.blockchain.com/btc/tx/29aa3c778e2e8d99545441f6602a07a00e2214b1980713e4f09ad62279f88caa https://www.blockchain.com/btc/tx/b80030e5ea1adc68fe2e134480d75cfa9289a7b237f41f8cea952c1c14a2d60e – Carpemer Aug 29 '18 at 14:42
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
  • 7,388
  • 1
  • 13
  • 34