Skip to content

Conversation

@murchandamus
Copy link
Contributor

@murchandamus murchandamus commented Apr 12, 2025

This is a first draft of applying the changes prescribed by BIP 3 in the section Updates to Existing BIPs should this BIP be Activated.

It also updates the CI-scripts to align with the new formatting.


Resolved:

  • @real-or-random’s proposal to update the Licensing scheme
  • Enforce order of headers in Preamble and fix order in BIPs that don’t conform

Planned for follow-up or parallel PRs:

  • Evaluate Informational BIPs regarding update to Specification type
  • BIPs that have had Draft status for extended periods will be moved to Complete or Deployed as applicable in collaboration with their authors.
  • The authors of incomplete Draft BIPs will be contacted to learn whether the BIPs are still in progress toward Complete, and will otherwise be updated to Closed as described in the Workflow section above.
  • Make changes or remove non-existent BIPs 40, 41, and 63 (breaks CI)

Assessed Rough Consensus for Activation

ACKs/concept ACKs

The following users have expressed support for activating BIP 3 here on this pull request:

Stale ACKs from before #2051


Useful links

@murchandamus murchandamus added Pending acceptance This BIP modification requires sign-off by the champion of the BIP being modified Process Trying to update process or stuck due to disagreement about Process labels Apr 12, 2025
@murchandamus murchandamus force-pushed the 2025-04-bip3-activation branch from 376ef0c to 4c67644 Compare April 12, 2025 03:34
@murchandamus murchandamus force-pushed the 2025-04-bip3-activation branch 2 times, most recently from 9a0c662 to 11714c5 Compare April 14, 2025 21:02
@murchandamus
Copy link
Contributor Author

I have updated the scripts/buildtable.pl in lock step with each of the changes so that the build script passes for every commit. The remaining tasks should probably be handled in follow-ups as they will take a variable amount of time.

@murchandamus
Copy link
Contributor Author

Rebased on the latest version of #1819.

@murchandamus murchandamus force-pushed the 2025-04-bip3-activation branch 6 times, most recently from ec134fb to 5e776c4 Compare June 21, 2025 00:23
Copy link
Contributor Author

@murchandamus murchandamus left a comment

Choose a reason for hiding this comment

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

I can’t reproduce the scripts/diffcheck.sh error locally either with the latest commit of this branch, by bisecting, or after merging the latest upstream/master.
I’m thinking that the next step is to improve the script with a more helpful error message, but I’m not going to pursue that today.

@ajtowns
Copy link
Contributor

ajtowns commented Jul 1, 2025

You can reproduce the error message and get more info with:

$ git checkout 187d8859dce80c8433ff7466d012b5dd78ac3136   # master's parent commit (to avoid the conflict)
$ git merge 5e776c4c92d0a33c15311c7289139835132f2fec      # this PR
$ scripts/diffcheck.sh
...
$ diff -u -B5 /tmp/before.diff /tmp/after.diff
...

It's complaining that there are differences in the summaries of BIPs 40 ("Stratum wire protocol"), 41 ("Stratum mining protocol"), and 63 ("Stealth addresses"); which are all changing from "Standard" to "Specification", but only exist as assigned numbers, with no actual document in the repo. They're all more than a decade old based on git blame's output, so could probably just be removed from the README entirely (though doing that would also trigger the same set of errors).

@ajtowns
Copy link
Contributor

ajtowns commented Jul 1, 2025

I wonder if it would be worthwhile splitting the list of BIPs in the README by status. I've had a go at that in a gist here, including an update for the perl script: https://gist.github.com/ajtowns/5a8c504b6ef0e91437614be2840921d7#file-test-mediawiki (also changed the link text to be BIP-nnn instead of just nnn, to make searching for "bip-3" easier)

@murchandamus
Copy link
Contributor Author

It's complaining that there are differences in the summaries of BIPs 40 ("Stratum wire protocol"), 41 ("Stratum mining protocol"), and 63 ("Stealth addresses");

Thanks for figuring that out. I was starting to doubt my sanity that evening. :)

They're all more than a decade old based on git blame's output, so could probably just be removed from the README entirely (though doing that would also trigger the same set of errors).

I guess I should remove or relabel them in a separate PR, then.

I wonder if it would be worthwhile splitting the list of BIPs in the README by status. I've had a go at that in a gist here, including an update for the perl script: https://gist.github.com/ajtowns/5a8c504b6ef0e91437614be2840921d7#file-test-mediawiki (also changed the link text to be BIP-nnn instead of just nnn, to make searching for "bip-3" easier)

I like the change to "BIP-nnn"; it looks nice. And sorting by status neatly highlights what’s deployed, but it not being sorted by numbers looks awfully strange to me—I have probably been staring at it too long that way. It might get some people motivated to update their BIPs to a more adequate status?

However, this Pr already has a lot going on, making me concerned that it will get review, I’m not sure I’d want to open up that can of worms in addition, especially being on the fence.

@murchandamus murchandamus force-pushed the 2025-04-bip3-activation branch 2 times, most recently from f4dc0fa to 321e895 Compare July 8, 2025 01:50
@murchandamus
Copy link
Contributor Author

Thanks @ajtowns! It passes CI now.
@real-or-random, what do you think is the best course of action? It would probably make sense to first get the licensing update you propose in?

@ajtowns
Copy link
Contributor

ajtowns commented Jul 8, 2025

I wonder if it would be worthwhile splitting the list of BIPs in the README by status.

I like the change to "BIP-nnn"; it looks nice.

However, this Pr already has a lot going on,

I wasn't meaning to imply it should be part of this PR; my understanding was further improvements could still be made once BIP-3 was active.

@murchandamus
Copy link
Contributor Author

Ah sorry, I misunderstood that. Yeah, afterwards sounds good to me, as the reordering of the README table would conflict with all of the changes here.

@murchandamus
Copy link
Contributor Author

Cherry-picked the commit from #1891 to add support for the Version field to scripts/buildtable.pl, thanks @nothingmuch.

@real-or-random
Copy link
Contributor

@real-or-random, what do you think is the best course of action? It would probably make sense to first get the licensing update you propose in?

See #1892.

murchandamus and others added 11 commits January 12, 2026 14:29
BIP2 states that the Discussions-To header should only be used if the
proposal was discussed somewhere else beside the Bitcoin Developer
Mailing List. Therefore, the only use of the Discussions-To header in
the repository is unnecessary and can be removed before the header is
abolished.
```
sed -z -i 's/Created: /Assigned: /' bip-0*.md
sed -z -i 's/Created: /Assigned: /' bip-0*.mediawiki
```
The Copyright section specifies additional conditions, so the License
header is not correct (or at least misleading). So let's just remove it.
This is pragmatic because the field was only added as part of the
activation of BIP 2 anyway, and there are other old BIPs with a License
header.
Co-authored-by: Jon Atack <jon@atack.com>
@murchandamus murchandamus force-pushed the 2025-04-bip3-activation branch from 6cce55c to cd1fa74 Compare January 12, 2026 22:31
…for BIPs that have a Changelog section that mentions a version.
BIP 1 and BIP 340 have Changelog sections, but do not define versions.
@murchandamus murchandamus force-pushed the 2025-04-bip3-activation branch from cd1fa74 to 4486d6d Compare January 12, 2026 22:36
@murchandamus
Copy link
Contributor Author

I rebased this PR to apply the BIP 3 activation changes to BIP 433: Pay to Anchor which has been merged recently.

After pushing the rebase, I realized that BIP 327 updated the version in its “Change Log” section for a recent bug fix, so I also added a version header for it in the last commit “process: Backfill missing Version headers” and renamed the section to “Changelog” to match the prevalent section title and BIP 3 specification.

You can find all the changes from these two pushes here: https://github.com/bitcoin/bips/compare/6cce55c343f1cb123c5594cb674304e2b6cca748..4486d6de91c9b46c256fec215f13fac818410a37

This PR should now apply all prescribed changes of the BIP 3 activation to existing BIPs and cleanly merge again.

@fjahr
Copy link
Contributor

fjahr commented Jan 13, 2026

Concept ACK, I believe rough concensus for BIP3 has been reached. I have been adapting it for the BIP proposals I am involved with throughout the last few months already and I didn't see any issues in the content of the BIP.

Copy link
Member

@sipa sipa left a comment

Choose a reason for hiding this comment

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

LGTM!

@murchandamus
Copy link
Contributor Author

Regarding the proposed changes in #2037, I had addressed each of the six remaining suggestions already five weeks ago, explaining in each case why I did not accept the suggestion. The recent rebase merely resubmits exactly the same suggestions without any response to my explanations, so I consider all suggestions in #2037 already addressed.

@RubenSomsen
Copy link
Contributor

In my view this has rough consensus. @jonatack @kanzure @Roasbeef, what do you think? Ready for merge?

@kanzure
Copy link
Contributor

kanzure commented Jan 14, 2026

There seems to be rough consensus for activation.

Copy link
Contributor

@Roasbeef Roasbeef left a comment

Choose a reason for hiding this comment

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

LGTM 🫛

Copy link
Member

@jonatack jonatack left a comment

Choose a reason for hiding this comment

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

ACK 4486d6d

@jonatack jonatack merged commit 845e7d7 into bitcoin:master Jan 14, 2026
4 checks passed
@murchandamus
Copy link
Contributor Author

Thank you everyone for your input and support!

@jonatack jonatack mentioned this pull request Jan 14, 2026
@ajtowns
Copy link
Contributor

ajtowns commented Jan 15, 2026

Seems that the Discussion: headers are inconsistent amongst:

  • Discussion: url (no date - see BIP 3, 77, 93, 94, 99, 122, 124, 135, 300, 337, 374, 375)
  • Discussion: yyyy-mm-dd (just a date, no url - see BIP 11, 14)
  • Discussion: yyyy-mm-dd url (missing the colon after the date, see BIP 331)
  • Discussion: yyyy-mm-dd: url (what BIP3 specifies, see BIP 46, 326, 327, 340, 341, 342, 345, 347, 350, 352, 353, 388, 431, 433, 443)

(BIP 11 has a "Post History" section that just has the URL that should presumably go in the discussion header. For BIP 14, the only "post history" I can see is in the wiki, so https://en.bitcoin.it/wiki/Talk:BIP_0014 would be the corresponding discussion?)

@murchandamus
Copy link
Contributor Author

murchandamus commented Jan 15, 2026

Yeah, BIP 1 specified the Header as Post-History: <date>. BIP 2 specified it as Post-History: <dates of postings to bitcoin mailing list, or link to thread in mailing list archive>. I think the URL being present is the most important part, but with a URL, it should be quite easy to backfill the date and to fix the formatting.

The BIPs that were Closed should probably also be updated to get Changelogs that capture the reasoning why they were closed.

@ajtowns
Copy link
Contributor

ajtowns commented Jan 16, 2026

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

Labels

Process Trying to update process or stuck due to disagreement about Process

Projects

None yet

Development

Successfully merging this pull request may close these issues.