At some point in 2011/12 miners started using custom mining algorithms ignoring the best practise to mine to a different new public key (hash) for each subsequent block. This lead to a lack of uniqueness of the coinbase transaction id and destroyed some bitcoins forever.

So it became mandatory with BIP34/v2 blocks to put the height of a block in a special encoded format into the coinbase transaction's input "script".

But why not use existing datastructures like the coinbase transaction's very own locktime field?

1 Answer 1


That would have made perfect sense, and I see no reason why that wouldn't have been the superior way of doing it.

However, as far as I remember, nobody suggested this at the time.

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.