BIP34 is ambiguous regarding blocks 1-16: it specifies both "minimally encoded CScript" and "first byte is number of bytes in the number" which differ for those blocks. Bitcoin Core requires minimally encoded CScript, and the existing signet and testnet4 chains have blocks complying with that interpretation. Update the BIP to clarify this.
BIP34: clarify encoding for early blocks #2342
pull ajtowns wants to merge 1 commits into bitcoin:master from ajtowns:202611-bip34-early changing 1 files +1 −0-
ajtowns commented at 5:31 PM on November 3, 2026: contributor
-
BIP34: clarify encoding for early blocks 560e381b0a
-
ajtowns commented at 5:53 PM on November 3, 2026: contributor
Related discussion in bitcoin PRs:
- https://github.com/bitcoin/bitcoin/pull/16333#issuecomment-511683294
- https://github.com/bitcoin/bitcoin/pull/32420#issuecomment-2869006108
BitAxe/ESP-Miner code that's incorrect for those blocks: https://github.com/bitaxeorg/ESP-Miner/blob/a591f0db0fa3de785ad7074818e63c7381ce7551/components/stratum/coinbase_decoder.c#L619-L623
ckpool patch correcting this behaviour for regtest: https://bitbucket.org/ckolivas/ckpool/commits/481f4cfe348e534d9657f85075e64f0582cae064
- jonatack added the label Proposed BIP modification on Nov 3, 2026
Contributors