This moves the anti-pre-mine commitment back into pszTimestamp and keeps it as ASCII text, rather than using it as a fake public key. The genesis transaction's output is replaced by an OP_RETURN to avoid confusion over spendability. Using the OP_RETURN output and nVersion rolling for additional nonce bits are explicitly allowed.
BIP95: Change proposed Testnet 5 genesis block structure #2347
pull ajtowns wants to merge 1 commits into bitcoin:master from ajtowns:202611-bip95-bump changing 1 files +32 −30-
ajtowns commented at 3:36 PM on November 4, 2026: contributor
-
in bip-0095.md:12 in 41c604aae6
8 | @@ -9,7 +9,7 @@ 9 | Assigned: 2026-06-22 10 | License: CC0-1.0 11 | Discussion: 2026-06-02: https://groups.google.com/g/bitcoindev/c/kGUMTxOvdJA 12 | - Version: 0.1.0 13 | + Version: 0.2.0
jonatack added the label Proposed BIP modification on Nov 4, 2026jonatack added the label Pending acceptance on Nov 4, 2026jonatack commented at 4:50 PM on November 4, 2026: membercc BIP authors @fjahr @polespinasa
in bip-0095.md:90 in 41c604aae6 outdated
109 | + space, as it is unspendable in any event, and this avoids bike shedding 110 | + over its content. 111 | +- `Message` carries a recent Bitcoin mainnet block hash as an anti-pre-mine 112 | + commitment, serving the same purpose as the newspaper headline in 113 | + Bitcoin's mainnet genesis block. 114 | +- `Time stamp` is the time of mining or that of the block which hash is
darosior commented at 6:40 PM on November 4, 2026:So, which of the two is it?
Or do you mean "start with the timestamp of the mainnet block, and roll it forward to current time as you exhaust the search space"? But is it really necessary with nonce + 8 bytes of extranonce + version rolling?
ajtowns commented at 6:54 AM on November 5, 2026:I don't think it's necessary (1M diff should need about 52 bits of nonce space, so 64 bits of extranonce alone should certainly cover it, plus 48-56 bits of header nonce via BIP320 or BIP323 nVersion rolling). But miners designed for mainnet may roll the timestamp by default, and I don't believe either stratumv1 or stratumv2 provides any way of even specifying otherwise, so I think it's better to leave it flexible.
darosior commented at 3:27 PM on November 5, 2026:Makes sense.
ajtowns force-pushed on Nov 4, 2026in bip-0095.md:87 in 352bf23c26
106 | + 107 | +- `scriptPubKey` is the script public key in the coinbase transaction's 108 | + output. It is `OP_RETURN` followed by a push of 8-bytes of extranonce 109 | + space, as it is unspendable in any event, and this avoids bike shedding 110 | + over its content. 111 | +- `Message` carries a recent Bitcoin mainnet block hash as an anti-pre-mine
murchandamus commented at 5:03 PM on November 5, 2026:This previously said “in the coinbase input script”, which still seems to be the intention. I am confused that this part was dropped.
murchandamus commented at 5:06 PM on November 5, 2026: memberGood changes. Using an OP_RETURN output is a neat idea. Having the commitment in the coinbase field also seems more familiar.
stevenroose commented at 5:10 PM on November 5, 2026: contributorLGTM
69ec29d518BIP95: Change proposed Testnet 5 genesis block structure
This moves the anti-pre-mine commitment back into `pszTimestamp` and keeps it as ASCII text, rather than using it as a fake public key. The genesis transaction's output is replaced by an `OP_RETURN` to avoid confusion over spendability. Using the `OP_RETURN` output and `nVersion` rolling for additional nonce bits are explicitly allowed.
ajtowns force-pushed on Nov 5, 2026murchandamus commented at 5:24 PM on November 5, 2026: memberLGTM, waiting for owner sign-off.
polespinasa commented at 5:58 PM on November 5, 2026: memberLooks good to me ACK :)
jonatack removed the label Pending acceptance on Nov 5, 2026fjahr commented at 1:25 AM on November 6, 2026: contributorACK 69ec29d5184bdd2cdfd819804598e906ff631526
I would have liked some additional context in the description that this makes the mining of the Genesis block easier with a pool and that there is a concrete plan to do a fair, decentralized bootstrap but I guess the change already got enough attention and agreement without that info :)
We can add an acknowledgement when the actual Genesis block is added. It may also be interesting to add an informational section to the BIP how the fair bootstrap worked when it was successful, so it is documented for potential future interest. But not sure the BIP is the best place for it.
jonatack merged this on Nov 6, 2026jonatack closed this on Nov 6, 2026
This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-11-14 09:10 UTC
More mirrored repositories can be found on mirror.b10c.me