Skip to content

BIP Draft: Testnet 5#2196

Open
fjahr wants to merge 1 commit into
bitcoin:masterfrom
fjahr:bip-t5-draft
Open

BIP Draft: Testnet 5#2196
fjahr wants to merge 1 commit into
bitcoin:masterfrom
fjahr:bip-t5-draft

Conversation

@fjahr

@fjahr fjahr commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Following up from the discussion on the mailing list.

@murchandamus murchandamus left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good first showing. I have left a few comments and suggestions.

Comment thread bip-XXXX.md
with the aim of allowing CPU users a limited path to acquire coins for testing, to mine non-standard
transactions that other miners would not relay, and to keep the chain moving if a large source of hash
power were to leave the network. Shortly after Testnet 4's introduction, the exception has been
systematically and sustainably exploited, which prevented the exception from achieving the intended

@murchandamus murchandamus Jun 11, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you mean that the exploit has been sustained continuously, but I’m not sure I would call the it "sustainable". ;)

Suggested change
systematically and sustainably exploited, which prevented the exception from achieving the intended
systematically and persistently exploited, which prevented the exception from achieving the intended

or maybe:

Suggested change
systematically and sustainably exploited, which prevented the exception from achieving the intended
systematically and continuously exploited, which prevented the exception from achieving the intended

Comment thread bip-XXXX.md
Comment on lines +53 to +54
it prevents the timewarp attack, reduces the worst-case block validation time, prevents Merkle
tree weaknesses, and avoids duplicate transactions without [bip-0030][BIP30] validation.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It doesn’t "prevent" the Merkle tree weaknesses, but rather it doesn’t allow the weakness to be exploited. Perhaps:

Suggested change
it prevents the timewarp attack, reduces the worst-case block validation time, prevents Merkle
tree weaknesses, and avoids duplicate transactions without [bip-0030][BIP30] validation.
it prevents the timewarp attack, reduces the worst-case block validation time, mitigates Merkle
tree weaknesses, and avoids duplicate transactions without [bip-0030][BIP30] validation.

Comment thread bip-XXXX.md

## Specification

Testnet 5 follows the same consensus rules as mainnet with the following two changes.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume that this implies that segwit and taproot are also active starting from block 1, but perhaps that should be mentioned?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nevermind, I see that it is more explicitly mentioned below in Network Parameters. Perhaps Network Parameters should be a subsection of Specification, though?

Comment thread bip-XXXX.md
TODO: Mine the block. The values below are placeholders inherited from Testnet 4. Notes
for the miner:

- For the `Pubkey` field, use a recent Bitcoin mainnet block hash. This single field then

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Pubkey field" has not been introduced here?

Comment thread bip-XXXX.md
TODO: Mine the block. The values below are placeholders inherited from Testnet 4. Notes
for the miner:

- For the `Pubkey` field, use a recent Bitcoin mainnet block hash. This single field then

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps add a line along the lines of the following to give the reader a sense what you’re about to talk about:

Suggested change
- For the `Pubkey` field, use a recent Bitcoin mainnet block hash. This single field then
The following information is included in the Genesis block coinbase transaction’s coinbase field:
- For the `Pubkey` field, use a recent Bitcoin mainnet block hash. This single field then

Comment thread bip-XXXX.md

### Message Start

The message start is defined as <code>0x46495645</code>. These four bytes spell `FIVE` when

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean the “network magic”?

Comment thread bip-XXXX.md
difficulty has adjusted to the available hash power, and keeping a low barrier so that a handful
of at-home miners or a single ASIC can keep the network usable.

## Network Parameters

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aren’t the network parameters part of the specification?

Comment thread bip-XXXX.md
Comment on lines +143 to +150
## References

[block-storms]: https://blog.lopp.net/the-block-storms-of-bitcoins-testnet/
[bitcointalk-thread]: https://bitcointalk.org/index.php?topic=5569103.0
[signet-bip54]: https://delvingbitcoin.org/t/bitcoin-inqusition-29-2/2236
[BIP30]: bip-0030.mediawiki
[BIP54]: bip-0054.md
[BIP94]: bip-0094.mediawiki

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since these references are all just link definitions, the References section currently appears empty in the rendered document.

Comment thread bip-XXXX.md
Comment on lines +131 to +134
Testnet 5's consensus rules are not compatible with those of Testnet 3 and Testnet 4. The
consensus rules differ in both directions: Testnet 5 enforces the BIP 54 consensus rules from
block 1 which is not the case for Testnet 3 or Testnet 4. Testnet 5 also does not apply the
difficulty exception rule from Testnet 3 or Testnet 4 requires.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe also make it clear for newer readers:
They use different genesis blocks, so their UTXO sets will be unique, and it is infeasible for any transactions to ever be replayable across these networks. Since output scripts look are compatible, addresses could be reused across these networks.

Comment thread bip-XXXX.md
Comment on lines +156 to +159
## Changelog

* __0.1.0__ (2026-06-02):
* Initial draft

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Changelog is only necessary if there are changes to a BIP after it has been advanced to Complete, but it is of course allowed to have one from the get-go.

However, if you do have a Changelog, please include the corresponding Version header in the preamble.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants