3

Let's say that, for some ununderstandable reason, a miner does not care about receiving the block reward. Rather, the miner cares only about achieving the smallest ever block.

What would be the size of the smallest possible coinbase transaction (that would be accepted as valid by the Bitcoin network)?

Can the output fields be omitted?

What, by extension, would be the size of the smallest possible Bitcoin block?


See Also

What is the format of the coinbase transaction?

What fields of a coinbase transaction can be empty?

1 Answer 1

6

All transactions, including coinbase transactions must have at least one input and one output. since the output value is encoded in a fixed number of bytes, not claiming the block subsidy does not make the coinbase transaction any smaller.

The smallest coinbase transaction is the same as the smallest regular transaction except it needs to include the block height as the first element of its scriptsig (BIP34). It also means the size of the smallest possible block increases with the block height.

Therefore the smallest possible coinbase transaction at the current block height is 8 (version, locktime) + 2 (input and output count) + 40 (input prevout and sequence) + 5 (scriptsig with size prefix) + 8 (output value) + 1 (empty scriptpubkey) = 64 bytes long.

Adding 81 bytes of header, it makes the smallest possible block at the current block height 145 bytes long.

2
  • 1
    Where does the extra 1 byte come from in your 81 bytes of header? Isn't a block header only 80 bytes? en.bitcoin.it/wiki/Block_hashing_algorithm
    – bigjosh
    Commented May 9 at 18:46
  • 3
    @bigjosh The number of transactions is serialized too, which is often considered part of the header. Commented May 9 at 20:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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