Following up from the discussion on the mailing list at https://groups.google.com/g/bitcoindev/c/kGUMTxOvdJA.
BIP95: Testnet 5 #2196
pull fjahr wants to merge 1 commits into bitcoin:master from fjahr:bip-t5-draft changing 2 files +190 −0-
fjahr commented at 11:47 AM on June 10, 2026: contributor
- jonatack added the label New BIP on Jun 10, 2026
-
in bip-XXXX.md:28 in 1f0da5a9fe
23 | +whole network unusable. This led to a depletion of block subsidies, which made it hard to acquire 24 | +coins for testing. However, Testnet 4 still retained a modified version of the difficulty exception rule 25 | +with the aim of allowing CPU users a limited path to acquire coins for testing, to mine non-standard 26 | +transactions that other miners would not relay, and to keep the chain moving if a large source of hash 27 | +power were to leave the network. Shortly after Testnet 4's introduction, the exception has been 28 | +systematically and sustainably exploited, which prevented the exception from achieving the intended
murchandamus commented at 4:57 PM on June 11, 2026:I think you mean that the exploit has been sustained continuously, but I’m not sure I would call the it "sustainable". ;)
systematically and persistently exploited, which prevented the exception from achieving the intendedor maybe:
systematically and continuously exploited, which prevented the exception from achieving the intended
fjahr commented at 12:23 PM on June 13, 2026:Took "persistently" here.
in bip-XXXX.md:54 in 1f0da5a9fe
49 | + 50 | +#### Problem Statement 51 | + 52 | +BIP 54 proposes new consensus rules in order to fix several potential attack vectors. Namely 53 | +it prevents the timewarp attack, reduces the worst-case block validation time, prevents Merkle 54 | +tree weaknesses, and avoids duplicate transactions without [bip-0030][BIP30] validation.
murchandamus commented at 5:00 PM on June 11, 2026:It doesn’t "prevent" the Merkle tree weaknesses, but rather it doesn’t allow the weakness to be exploited. Perhaps:
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.
fjahr commented at 12:23 PM on June 13, 2026:Done
in bip-0095.md:44 in 1f0da5a9fe outdated
39 | +However, signet does not allow miners to test that their software reliably follows the rules of 40 | +BIP 54. Testnet 5 provides a testing environment for this. 41 | + 42 | +## Specification 43 | + 44 | +Testnet 5 follows the same consensus rules as mainnet with the following two changes.
murchandamus commented at 5:01 PM on June 11, 2026:I assume that this implies that segwit and taproot are also active starting from block 1, but perhaps that should be mentioned?
murchandamus commented at 5:04 PM on June 11, 2026:Nevermind, I see that it is more explicitly mentioned below in Network Parameters. Perhaps Network Parameters should be a subsection of Specification, though?
fjahr commented at 12:23 PM on June 13, 2026:I moved the Network Parameters section into Specification
in bip-XXXX.md:99 in 1f0da5a9fe outdated
94 | +### Genesis Block 95 | + 96 | +TODO: Mine the block. The values below are placeholders inherited from Testnet 4. Notes 97 | +for the miner: 98 | + 99 | +- For the `Pubkey` field, use a recent Bitcoin mainnet block hash. This single field then
murchandamus commented at 5:07 PM on June 11, 2026:"
Pubkeyfield" has not been introduced here?
murchandamus commented at 5:08 PM on June 11, 2026:Perhaps add a line along the lines of the following to give the reader a sense what you’re about to talk about:
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
fjahr commented at 12:23 PM on June 13, 2026:Added something of a clarification on this (see other comment).
fjahr commented at 12:23 PM on June 13, 2026:I introduced something similar to clarify, but this part should be mostly removed when the actual Genesis block has been mined.
murchandamus commented at 6:10 PM on June 14, 2026:It could perhaps be turned into a footnote to explain the methodology in case someone else wants to start the next testnet in a couple years.
fjahr commented at 2:05 PM on June 21, 2026:Ok, using a footnote now and adding the intention for the methodology which is a bit slimmer so it's good to keep around after the block has been added.
in bip-XXXX.md:122 in 1f0da5a9fe
117 | +> 118 | +> The resulting Genesis block hash is <code>00000000da84f2bafbbc53dee25a72ae507ff4914b867c565be350b0da8bf043</code>, and the block hex is <code>0100000000000000000000000000000000000000000000000000000000000000000000004e7b2b9128fe0291db0693af2ae418b767e657cd407e80cb1434221eaea7a07a046f3566ffff001dbb0c78170101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff5504ffff001d01044c4c30332f4d61792f323032342030303030303030303030303030303030303030303165626435386332343439373062336161396437383362623030313031316662653865613865393865303065ffffffff0100f2052a010000002321000000000000000000000000000000000000000000000000000000000000000000ac00000000</code>. 119 | + 120 | +### Message Start 121 | + 122 | +The message start is defined as <code>0x46495645</code>. These four bytes spell `FIVE` when
murchandamus commented at 5:10 PM on June 11, 2026:Do you mean the “network magic”?
fjahr commented at 12:24 PM on June 13, 2026:Yes, in Testnet 4 it is called Message Start which is the term used in the chainparams in Bitcoin Core. But I made a little change to also mention "network magic".
in bip-XXXX.md:86 in 1f0da5a9fe
81 | +argument no longer applies. A minimum difficulty of approximately 1,000,000 strikes a balance 82 | +between dampening the quick mining of large numbers of blocks shortly after launch, before the 83 | +difficulty has adjusted to the available hash power, and keeping a low barrier so that a handful 84 | +of at-home miners or a single ASIC can keep the network usable. 85 | + 86 | +## Network Parameters
murchandamus commented at 5:11 PM on June 11, 2026:Aren’t the network parameters part of the specification?
fjahr commented at 12:24 PM on June 13, 2026:I moved the Network Parameters section into Specification now
in bip-0095.md:150 in 1f0da5a9fe outdated
145 | +[block-storms]: https://blog.lopp.net/the-block-storms-of-bitcoins-testnet/ 146 | +[bitcointalk-thread]: https://bitcointalk.org/index.php?topic=5569103.0 147 | +[signet-bip54]: https://delvingbitcoin.org/t/bitcoin-inqusition-29-2/2236 148 | +[BIP30]: bip-0030.mediawiki 149 | +[BIP54]: bip-0054.md 150 | +[BIP94]: bip-0094.mediawiki
murchandamus commented at 5:12 PM on June 11, 2026:Since these references are all just link definitions, the References section currently appears empty in the rendered document.
fjahr commented at 12:24 PM on June 13, 2026:Oh, I added a visible list here now as well.
in bip-XXXX.md:134 in 1f0da5a9fe
129 | +## Backward Compatibility 130 | + 131 | +Testnet 5's consensus rules are not compatible with those of Testnet 3 and Testnet 4. The 132 | +consensus rules differ in both directions: Testnet 5 enforces the BIP 54 consensus rules from 133 | +block 1 which is not the case for Testnet 3 or Testnet 4. Testnet 5 also does not apply the 134 | +difficulty exception rule from Testnet 3 or Testnet 4 requires.
murchandamus commented at 5:16 PM on June 11, 2026: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.
fjahr commented at 12:24 PM on June 13, 2026:Sure, I added a paragraph clarifying this.
in bip-0095.md:159 in 1f0da5a9fe outdated
154 | +This document is licensed under the Creative Commons CC0 1.0 Universal license. 155 | + 156 | +## Changelog 157 | + 158 | +* __0.1.0__ (2026-06-02): 159 | + * Initial draft
murchandamus commented at 5:17 PM on June 11, 2026: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.
fjahr commented at 12:24 PM on June 13, 2026:I like to have a changelog now which lists the changes since the BIP PR was opened because people may read the version that was referenced in the mailing list post first and miss some changes that were made between that and the latest version here. So I added the version preamble.
murchandamus commented at 5:19 PM on June 11, 2026: memberGood first showing. I have left a few comments and suggestions.
fjahr force-pushed on Jun 13, 2026in bip-0095.md:12 in 1677e2861f outdated
7 | + Status: Draft 8 | + Type: Specification 9 | + Assigned: ? 10 | + License: CC0-1.0 11 | + Discussion: 2026-06-02: https://groups.google.com/g/bitcoindev/c/kGUMTxOvdJA 12 | + Version: 0.1.0
murchandamus commented at 5:52 PM on June 14, 2026:I think the following two additional headers would make sense:
Version: 0.1.0 Requires: 54 Replaces: 94
fjahr commented at 2:03 PM on June 21, 2026:Done
in bip-XXXX.md:17 in 1677e2861f
12 | + Version: 0.1.0 13 | +``` 14 | + 15 | +## Abstract 16 | + 17 | +A new test network with the goal of replacing [Testnet 4][BIP94]. Testnet 5 removes the difficulty
murchandamus commented at 5:56 PM on June 14, 2026:Nit: The abstract starts on a sentence fragment without a verb.
fjahr commented at 2:04 PM on June 21, 2026:Changed
in bip-XXXX.md:24 in 1677e2861f
19 | +to use for testing. Additionally, Testnet 5 enforces the consensus rules specified in BIP 54 from block 1. 20 | + 21 | +## Motivation 22 | + 23 | +Testnet 4 included mitigations for an issue known as the [block storm attack][block-storms] which could render the 24 | +whole network unusable. This led to a depletion of block subsidies, which made it hard to acquire
murchandamus commented at 5:57 PM on June 14, 2026:It’s ambiguous whether "this" refers to the mitigations or the block storms.
whole network unusable. Block storm attacks led to a depletion of block subsidies, which made it hard to acquire
fjahr commented at 2:04 PM on June 21, 2026:Fixed
in bip-XXXX.md:25 in 1677e2861f
20 | + 21 | +## Motivation 22 | + 23 | +Testnet 4 included mitigations for an issue known as the [block storm attack][block-storms] which could render the 24 | +whole network unusable. This led to a depletion of block subsidies, which made it hard to acquire 25 | +coins for testing. However, Testnet 4 still retained a modified version of the difficulty exception rule
murchandamus commented at 6:00 PM on June 14, 2026:Since much of this paragraph discusses the issues with the difficulty exception, perhaps it should be briefly explained.
fjahr commented at 2:04 PM on June 21, 2026:I was thinking that people could hop over to BIP94 for the details but I added another sentence to give a short explainer.
in bip-0095.md:35 in 1677e2861f outdated
30 | +goals. While block storms were prevented, the network suffers from constant re-orgs of small 31 | +numbers of blocks due to multiple difficulty-exception blocks competing for the tip. This led 32 | +to discussion about changing Testnet 4 to mitigate this issue (see [Bitcointalk][bitcointalk-thread] 33 | +for analysis and discussion). 34 | + 35 | +In Testnet 5 there is no exception to the PoW rules. This appears to be the logical conclusion,
murchandamus commented at 6:04 PM on June 14, 2026:I just had a random thought that I was wondering whether it was considered:
What would happen if blocks mined with the difficulty exception would be forbidden from collecting the subsidy (i.e., could only collect fees)? That would permit users to get blocks if the difficulty had run up, or to mine non-standard transactions, but would remove the incentive to mine blocks for collecting the subsidy. It would not prevent people from creating low-difficulty blocks to deny others from getting them and it might be more complicated than just dropping the exception, though.
StevenSteiner commented at 7:14 AM on June 19, 2026:Yet another band-aid fix, I fear. Way better off fresh and "right" from the start.
There are other ways to earn coins besides Block Rewards, using a difficulty exploit. Perhaps even more disruptive.
I also agree with the more complicated.
stwenhao commented at 7:22 AM on June 19, 2026:What would happen if blocks mined with the difficulty exception would be forbidden from collecting the subsidy (i.e., could only collect fees)?
Then, coins will be burned, and ASIC miners will have an incentive to reorg them. To prevent that, additional coins could be simply timelocked to some future block number, then stronger miners won't have an incentive to reorg them, and will simply collect them later instead.
Anyway, the idea to decrease the coinbase reward, proportionally to the Proof of Work in the block header, is not new. But it makes things more complicated, and there are other ways, like pay to Proof of Work scripts, which could be used to achieve the same things, without messing up with consensus rules.
Also, the scenario, where the chain would halt, because of not enough miners, could happen on the mainnet as well, so it would be good, if test network would behave in a similar way, to let someone try to deal with that problem, and prepare a solution for mainnet as well.
fjahr commented at 2:13 PM on June 21, 2026:It's an interesting idea but I agree that it would be adding more complexity while this proposal is partly motivated by removing complexity. And I also think that while it may remove part of the incentive in the form of the subsidy, since this is basically free to exploit, there will still be people trying to do this just for the fees or to mess with the network for fun.
in bip-0095.md:76 in 1677e2861f outdated
71 | + 72 | +### Genesis Block 73 | + 74 | +TODO: Mine the block. The values below are placeholders inherited from Testnet 4. They are 75 | +the genesis block's header fields together with the `Message` and `Pubkey` of its coinbase 76 | +transaction. Notes for the miner:
murchandamus commented at 7:13 PM on June 14, 2026:I took a look at BIP94 in regard to the meaning of these two fields. It seems to me that the
pubkeyfield is also only implicitly explained there. Looking at the construction, it seems to me that thepubkeyfield takes the place of the previous block hash in the block header, is that right? I was unable to find out where themessagefield goes. I thought it would appear in the coinbase field of the coinbase transaction, but I could not find the message string either forward or backward in the block hex. I would recommend that it be explicitly explained where thepubkeyandmessagefield appear in the construction.
murchandamus commented at 7:19 PM on June 14, 2026:Oooh. Does
pubkeygo into the P2PK output script? Still confused about the message, though.
stwenhao commented at 7:27 AM on June 19, 2026:I guess it could be just some x-value pubkey, equal to the mainnet block hash. For example: https://mempool.space/address/0200000000000000000001ae18e25b101d485505283d8d8e67771e1d865acbfece (and then, getting the private key for the Genesis Block would be impossible, if the secp256k1 point would be invalid, or would be as hard, as breaking secp256k1, if it would turn out to be a valid point, like 04 00000000000000000001AE18E25B101D485505283D8D8E67771E1D865ACBFECE 0E007A49956DB6EF8251FADDB106C649250FD5E5EEE9E875C88F62EACF3473D4 is in this case).
fjahr commented at 2:05 PM on June 21, 2026:@murchandamus Right, see the footnote change I made, I hope that makes it clear enough. I also added details to explain the message. Since a future Testnet creator wouldn't need to use this mechanism of commitment at all anymore, I think it's fine to not do another footnote on it and remove it when the genesis block is added, but I can be convinced otherwise if people think it's interesting to keep the historical context around.
murchandamus commented at 8:46 PM on June 22, 2026:Thanks, looks good!
murchandamus commented at 7:14 PM on June 14, 2026: memberGood improvements, thanks for the quick response. I gave this another read:
fjahr force-pushed on Jun 21, 2026in bip-0095.md:27 in dfd6e34061 outdated
22 | +rules specified in BIP 54 from block 1. 23 | + 24 | +## Motivation 25 | + 26 | +Testnet 4 included mitigations for an issue known as the [block storm attack][block-storms] which could render the 27 | +whole network unusable. Block storm attacks led to a depletion of block subsidies, which made it hard to acquire
StevenSteiner commented at 2:18 PM on June 21, 2026:Testnet 3 never became unusable for users or especially for the "whole network"... on the contrary, confirmations came in much faster, and made using certain services easier. My testnet service did better during blockstorms for users (100 confirmations didn't take days).
Some services that had preexisting problems (expected in testing) had problems, but many did not. The ones who had issues have more Twitter followers.
What the blockstorm did was drain the block reward from miners, rendering mining basically useless. I agree with this.
fjahr commented at 2:29 PM on June 21, 2026:Testnet 3 never became unusable for users or especially for the "whole network"
If someone with a capable machine just mines min-difficult blocks with maximum speed deactivates the mempool, the network is unusable because nobody would get their transactions in other than mining a real difficulty block. What user facing wallet would not have a problem with that?
StevenSteiner commented at 2:33 PM on June 21, 2026:Testnet3 didn't face min block miners purposely mining empty blocks.
Testnet3 was attacked by Lopp doing blockstorms and they included transactions.
I'm just stating the facts of what did happen. I'm not sure what could have happened.
I'd be totally happy to provide historical blockchain evidence if you'd like.
Also, I believe the "capable machine" causing the Testnet4 issues is or was a BitAxe. It's more about how the machine is used than about its ability when gamesmanship is involved.
fjahr commented at 2:43 PM on June 21, 2026:So then why write this comment at all? The text already says that this could happen, not that it did happen.
StevenSteiner commented at 2:47 PM on June 21, 2026:I wrote this comment so future contributors and interested individuals have historical facts to work with, rather than design proposals engineered around an imaginary situation that didn't actually happen.
fjahr commented at 2:52 PM on June 21, 2026:Yes, Lopp was probably still being nice when he demonstrated block storms, doesn't mean that this need to be misinterpreted as block storms being less of a problem.
StevenSteiner commented at 3:26 PM on June 21, 2026:I do agree it was a problem (several called it a "feature" at first). However, I think development documentation should lean toward historical facts rather than "if" and "probably."
Lopp wasn't acting out of niceness or direct financial testnet incentive, and the empty blocks on Testnet 4 aren't due to someone being mean—they are purely driven by financial incentives. The two attack vectors shouldn't be blended together.
Anyways, no need to respond. Thank you for not deleting these facts and taking them into consideration so that this important documentation can convey the facts of how we got here and not fiction.
in bip-XXXX.md:2 in dfd6e34061
0 | @@ -0,0 +1,181 @@ 1 | +``` 2 | + BIP: ?
murchandamus commented at 8:45 PM on June 22, 2026:BIP: 95
fjahr commented at 9:57 PM on June 23, 2026:Done
in bip-XXXX.md:9 in dfd6e34061
0 | @@ -0,0 +1,181 @@ 1 | +``` 2 | + BIP: ? 3 | + Layer: Applications 4 | + Title: Testnet 5 5 | + Authors: Pol Espinasa <polespinasa@protonmail.com> 6 | + Fabian Jahr <fjahr@protonmail.com> 7 | + Status: Draft 8 | + Type: Specification 9 | + Assigned: ?
murchandamus commented at 8:45 PM on June 22, 2026:Assigned: 2026-06-22
fjahr commented at 9:57 PM on June 23, 2026:Done
murchandamus commented at 8:47 PM on June 22, 2026: memberThanks, looks good to me.
Let’s call this BIP95.
You know the drill, please add a README entry, rename the document’s file, and adjust the corresponding preamble headers.
murchandamus renamed this:BIP Draft: Testnet 5
BIP95: Testnet 5
on Jun 22, 2026fjahr force-pushed on Jun 23, 2026in bip-0095.md:33 in 643ec30ef2
28 | +coins for testing. However, Testnet 4 still retained a modified version of the difficulty exception rule. 29 | +The difficulty exception permits a block to be mined at the minimum difficulty when more than 20 minutes 30 | +have passed since the previous block. Testnet 4 kept this exception with the aim of allowing CPU users a 31 | +limited path to acquire coins for testing, to mine non-standard transactions that other miners would not 32 | +relay, and to keep the chain moving if a large source of hash power were to leave the network. Shortly 33 | +after Testnet 4's introduction, the exception has been systematically and persistently exploited, which
jonatack commented at 6:18 PM on June 24, 2026:after Testnet 4's introduction, the exception had been systematically and persistently exploited, which
fjahr commented at 9:32 PM on June 25, 2026:Done
in bip-0095.md:35 in 643ec30ef2
30 | +have passed since the previous block. Testnet 4 kept this exception with the aim of allowing CPU users a 31 | +limited path to acquire coins for testing, to mine non-standard transactions that other miners would not 32 | +relay, and to keep the chain moving if a large source of hash power were to leave the network. Shortly 33 | +after Testnet 4's introduction, the exception has been systematically and persistently exploited, which 34 | +prevented the exception from achieving the intended 35 | +goals. While block storms were prevented, the network suffers from constant re-orgs of small
jonatack commented at 6:18 PM on June 24, 2026:s/suffers/suffered/
fjahr commented at 9:32 PM on June 25, 2026:Done
in bip-0095.md:41 in 643ec30ef2
36 | +numbers of blocks due to multiple difficulty-exception blocks competing for the tip. This led 37 | +to discussion about changing Testnet 4 to mitigate this issue (see [Bitcointalk][bitcointalk-thread] 38 | +for analysis and discussion). 39 | + 40 | +In Testnet 5 there is no exception to the PoW rules. This appears to be the logical conclusion, 41 | +since any such exception could be exploited by a motivated attacker. This
jonatack commented at 6:20 PM on June 24, 2026:Mildly ambiguous subject.
since any such exception could be exploited by a motivated attacker. The lack of exception
fjahr commented at 9:31 PM on June 25, 2026:Done
in bip-0095.md:50 in 643ec30ef2
45 | +However, signet does not allow miners to test that their software reliably follows the rules of 46 | +BIP 54. Testnet 5 provides a testing environment for this. 47 | + 48 | +## Specification 49 | + 50 | +Testnet 5 follows the same consensus rules as mainnet with the following two changes.
jonatack commented at 6:21 PM on June 24, 2026:Testnet 5 follows the same consensus rules as mainnet, except for the following two changes.
fjahr commented at 9:31 PM on June 25, 2026:Done
in bip-0095.md:116 in 643ec30ef2
111 | +The default p2p port for Testnet 5 is `18335`. 112 | + 113 | +## Rationale 114 | + 115 | +Instead of starting a new Testnet, changing the rules of Testnet 4 was considered as well. The decision 116 | +for a new network has two main reasons:
jonatack commented at 6:25 PM on June 24, 2026:for a new network had two main reasons:
fjahr commented at 9:31 PM on June 25, 2026:Done
in bip-0095.md:138 in 643ec30ef2
133 | + 134 | +## Backward Compatibility 135 | + 136 | +Testnet 5's consensus rules are not compatible with those of Testnet 3 and Testnet 4. The 137 | +consensus rules differ in both directions: Testnet 5 enforces the BIP 54 consensus rules from 138 | +block 1 which is not the case for Testnet 3 or Testnet 4. Testnet 5 also does not apply the
jonatack commented at 6:26 PM on June 24, 2026:block 1, which is not the case for Testnet 3 or Testnet 4. Testnet 5 also does not apply the
fjahr commented at 9:31 PM on June 25, 2026:Done
in bip-0095.md:115 in 643ec30ef2
110 | + 111 | +The default p2p port for Testnet 5 is `18335`. 112 | + 113 | +## Rationale 114 | + 115 | +Instead of starting a new Testnet, changing the rules of Testnet 4 was considered as well. The decision
jonatack commented at 6:30 PM on June 24, 2026:Perhaps link to discussion in https://github.com/bitcoin/bitcoin/pull/31117 somewhere in this BIP.
Instead of starting a new Testnet, changing the rules of Testnet 4 [was considered](https://github.com/bitcoin/bitcoin/pull/31117) as well. The decision
fjahr commented at 9:31 PM on June 25, 2026:Done
in bip-0095.md:150 in 643ec30ef2 outdated
145 | +Any implementation that intends to follow Testnet 5 must add the new network parameters and 146 | +additionally enforce the BIP 54 rules while not permitting any of the difficulty exception rules. 147 | + 148 | +## Reference Implementation 149 | + 150 | +Pull request at ?
jonatack commented at 6:34 PM on June 24, 2026:Note that a reference implementation and test vectors (if applicable) would be needed before advancing the status from Draft to Complete.
fjahr commented at 9:31 PM on June 25, 2026:Noted, will follow-up here
jonatack commented at 6:35 PM on June 24, 2026: memberLGTM to me. A few minor comments.
BIP95: Testnet 5 c134c7db55in bip-0095.md:54 in 643ec30ef2 outdated
49 | + 50 | +Testnet 5 follows the same consensus rules as mainnet with the following two changes. 51 | + 52 | +### BIP 54 activation 53 | + 54 | +The rules specified in [BIP 54 version 1.0.0][BIP54] are active on Testnet 5 from block 1.
average-gary commented at 7:38 PM on June 24, 2026:Should the link to BIP54 be present on the first mention of the BIP (Line 22 under Abstract)?
fjahr commented at 9:31 PM on June 25, 2026:Done
fjahr force-pushed on Jun 25, 2026fjahr commented at 9:32 PM on June 25, 2026: contributorAddressed smaller editing suggestions, thanks @average-gary @jonatack
jonatack merged this on Jun 25, 2026jonatack closed this on Jun 25, 2026Labels
github-metadata-mirror
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-07-08 15:10 UTC
This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me