You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.mediawiki
+40-26Lines changed: 40 additions & 26 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
People wishing to submit BIPs, first should propose their idea or document to the [https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev [email protected]] mailing list (do <em>not</em> assign a number - read <a href="bip-0002.mediawiki">BIP 2</a> for the full process). After discussion, please open a PR. After copy-editing and acceptance, it will be published here.
1
+
People wishing to submit BIPs, first should propose their idea or document to the [https://groups.google.com/g/bitcoindev [email protected]] mailing list (do <em>not</em> assign a number - read <a href="bip-0002.mediawiki">BIP 2</a> for the full process). After discussion, please open a PR. After copy-editing and acceptance, it will be published here.
2
2
3
3
We are fairly liberal with approving BIPs, and try not to be too involved in decision making on behalf of the community. The exception is in very rare cases of dispute resolution when a decision is contentious and cannot be agreed upon. In those cases, the conservative option will always be preferred.
4
4
@@ -235,29 +235,29 @@ Those proposing changes should consider that ultimately consent may rest with th
235
235
| Applications
236
236
| Purpose Field for Deterministic Wallets
237
237
| Marek Palatinus, Pavol Rusnak
238
-
| Informational
238
+
| Standard
239
239
| Final
240
-
|- style="background-color: #ffffcf"
240
+
|- style="background-color: #cfffcf"
241
241
| [[bip-0044.mediawiki|44]]
242
242
| Applications
243
243
| Multi-Account Hierarchy for Deterministic Wallets
244
244
| Marek Palatinus, Pavol Rusnak
245
245
| Standard
246
-
| Proposed
246
+
| Final
247
247
|- style="background-color: #ffffcf"
248
248
| [[bip-0045.mediawiki|45]]
249
249
| Applications
250
250
| Structure for Deterministic P2SH Multisignature Wallets
251
251
| Manuel Araoz, Ryan X. Charles, Matias Alejo Garcia
252
252
| Standard
253
253
| Proposed
254
-
|-
254
+
|- style="background-color: #cfffcf"
255
255
| [[bip-0047.mediawiki|47]]
256
256
| Applications
257
257
| Reusable Payment Codes for Hierarchical Deterministic Wallets
258
258
| Justus Ranvier
259
259
| Informational
260
-
| Draft
260
+
| Final
261
261
|- style="background-color: #ffffcf"
262
262
| [[bip-0048.mediawiki|48]]
263
263
| Applications
@@ -270,7 +270,7 @@ Those proposing changes should consider that ultimately consent may rest with th
270
270
| Applications
271
271
| Derivation scheme for P2WPKH-nested-in-P2SH based accounts
272
272
| Daniel Weigl
273
-
| Informational
273
+
| Standard
274
274
| Final
275
275
|- style="background-color: #cfffcf"
276
276
| [[bip-0050.mediawiki|50]]
@@ -434,12 +434,12 @@ Those proposing changes should consider that ultimately consent may rest with th
434
434
| Eric Lombrozo
435
435
| Standard
436
436
| Rejected
437
-
|-
437
+
|- style="background-color: #cfffcf"
438
438
| [[bip-0084.mediawiki|84]]
439
439
| Applications
440
440
| Derivation scheme for P2WPKH based accounts
441
441
| Pavol Rusnak
442
-
| Informational
442
+
| Standard
443
443
| Final
444
444
|-
445
445
| [[bip-0085.mediawiki|85]]
@@ -452,7 +452,7 @@ Those proposing changes should consider that ultimately consent may rest with th
452
452
| [[bip-0086.mediawiki|86]]
453
453
| Applications
454
454
| Key Derivation for Single Key P2TR Outputs
455
-
| Andrew Chow
455
+
| Ava Chow
456
456
| Standard
457
457
| Draft
458
458
|- style="background-color: #ffffcf"
@@ -487,7 +487,7 @@ Those proposing changes should consider that ultimately consent may rest with th
487
487
| [[bip-0093.mediawiki|93]]
488
488
| Applications
489
489
| codex32: Checksummed SSSS-aware BIP32 seeds
490
-
| Leon Olsson Curr, Pearlwort Sneed
490
+
| Leon Olsson Curr, Pearlwort Sneed, Andrew Poelstra
491
491
| Informational
492
492
| Draft
493
493
|-
@@ -627,7 +627,7 @@ Those proposing changes should consider that ultimately consent may rest with th
627
627
| [[bip-0119.mediawiki|119]]
628
628
| Consensus (soft fork)
629
629
| CHECKTEMPLATEVERIFY
630
-
| Jeremy Rubin
630
+
| Jeremy Rubin, James O'Beirne
631
631
| Standard
632
632
| Draft
633
633
|- style="background-color: #ffcfcf"
@@ -714,13 +714,13 @@ Those proposing changes should consider that ultimately consent may rest with th
714
714
| Andy Chase
715
715
| Process
716
716
| Withdrawn
717
-
|-
717
+
|- style="background-color: #cfffcf"
718
718
| [[bip-0133.mediawiki|133]]
719
719
| Peer Services
720
720
| feefilter message
721
721
| Alex Morcos
722
722
| Standard
723
-
| Draft
723
+
| Final
724
724
|- style="background-color: #ffcfcf"
725
725
| [[bip-0134.mediawiki|134]]
726
726
| Consensus (hard fork)
@@ -900,7 +900,7 @@ Those proposing changes should consider that ultimately consent may rest with th
900
900
| [[bip-0174.mediawiki|174]]
901
901
| Applications
902
902
| Partially Signed Bitcoin Transaction Format
903
-
| Andrew Chow
903
+
| Ava Chow
904
904
| Standard
905
905
| Final
906
906
|- style="background-color: #ffcfcf"
@@ -1030,6 +1030,13 @@ Those proposing changes should consider that ultimately consent may rest with th
1030
1030
| Standard
1031
1031
| Draft
1032
1032
|-
1033
+
| [[bip-0331.mediawiki|331]]
1034
+
| Peer Services
1035
+
| Ancestor Package Relay
1036
+
| Gloria Zhao
1037
+
| Standard
1038
+
| Draft
1039
+
|-
1033
1040
| [[bip-0338.mediawiki|338]]
1034
1041
| Peer Services
1035
1042
| Disable transaction relay message
@@ -1072,13 +1079,20 @@ Those proposing changes should consider that ultimately consent may rest with th
1072
1079
| Standard
1073
1080
| Final
1074
1081
|-
1082
+
| [[bip-0345.mediawiki|345]]
1083
+
| Consensus (soft fork)
1084
+
| OP_VAULT
1085
+
| James O'Beirne, Greg Sanders, Anthony Towns
1086
+
| Standard
1087
+
| Draft
1088
+
|-
1075
1089
| [[bip-0347.mediawiki|347]]
1076
1090
| Consensus (soft fork)
1077
1091
| OP_CAT in Tapscript
1078
1092
| Ethan Heilman, Armin Sabouri
1079
1093
| Standard
1080
1094
| Draft
1081
-
|-
1095
+
|- style="background-color: #cfffcf"
1082
1096
| [[bip-0350.mediawiki|350]]
1083
1097
| Applications
1084
1098
| Bech32m format for v1+ witness addresses
@@ -1096,14 +1110,14 @@ Those proposing changes should consider that ultimately consent may rest with th
1096
1110
| [[bip-0370.mediawiki|370]]
1097
1111
| Applications
1098
1112
| PSBT Version 2
1099
-
| Andrew Chow
1113
+
| Ava Chow
1100
1114
| Standard
1101
1115
| Draft
1102
1116
|-
1103
1117
| [[bip-0371.mediawiki|371]]
1104
1118
| Applications
1105
1119
| Taproot Fields for PSBT
1106
-
| Andrew Chow
1120
+
| Ava Chow
1107
1121
| Standard
1108
1122
| Draft
1109
1123
|-
@@ -1117,56 +1131,56 @@ Those proposing changes should consider that ultimately consent may rest with th
Copy file name to clipboardExpand all lines: bip-0002.mediawiki
+10-5Lines changed: 10 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,13 +32,13 @@ The BIP process begins with a new idea for Bitcoin. Each potential BIP must have
32
32
Small enhancements or patches to a particular piece of software often don't require standardisation between multiple projects; these don't need a BIP and should be injected into the relevant project-specific development workflow with a patch submission to the applicable issue tracker.
33
33
Additionally, many ideas have been brought forward for changing Bitcoin that have been rejected for various reasons.
34
34
The first step should be to search past discussions to see if an idea has been considered before, and if so, what issues arose in its progression.
35
-
After investigating past work, the best way to proceed is by posting about the new idea to the [https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-devBitcoin development mailing list].
35
+
After investigating past work, the best way to proceed is by posting about the new idea to the [https://groups.google.com/g/bitcoindevBitcoin development mailing list].
36
36
37
37
Vetting an idea publicly before going as far as writing a BIP is meant to save both the potential author and the wider community time.
38
38
Asking the Bitcoin community first if an idea is original helps prevent too much time being spent on something that is guaranteed to be rejected based on prior discussions (searching the internet does not always do the trick).
39
39
It also helps to make sure the idea is applicable to the entire community and not just the author. Just because an idea sounds good to the author does not mean it will work for most people in most areas where Bitcoin is used.
40
40
41
-
Once the champion has asked the Bitcoin community as to whether an idea has any chance of acceptance, a draft BIP should be presented to the [https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-devBitcoin development mailing list].
41
+
Once the champion has asked the Bitcoin community as to whether an idea has any chance of acceptance, a draft BIP should be presented to the [https://groups.google.com/g/bitcoindevBitcoin development mailing list].
42
42
This gives the author a chance to flesh out the draft BIP to make it properly formatted, of high quality, and to address additional concerns about the proposal.
43
43
Following a discussion, the proposal should be submitted to the [https://github.com/bitcoin/bips BIPs git repository] as a pull request.
44
44
This draft must be written in BIP style as described below, and named with an alias such as "bip-johndoe-infinitebitcoins" until an editor has assigned it a BIP number (authors MUST NOT self-assign BIP numbers).
@@ -67,8 +67,12 @@ If you are interested in assuming ownership of a BIP, send a message asking to t
The BIP editors are intended to fulfill administrative and editorial responsibilities. The BIP editors monitor BIP changes, and update BIP headers as appropriate.
100
104
105
+
BIP editors may also, at their option, unilaterally make and merge strictly-editorial changes to BIPs, such as correcting misspellings, fixing broken links, etc.
106
+
101
107
==BIP format and structure==
102
108
103
109
===Specification===
104
110
105
-
BIPs should be written in mediawiki format.
111
+
BIPs should be written in mediawiki or markdown format.
106
112
107
113
Each BIP should have the following parts:
108
114
@@ -409,7 +415,6 @@ Why is Public Domain no longer acceptable for new BIPs?
409
415
* Non-image auxiliary files are permitted in the bip-XXXX subdirectory.
410
416
* Email addresses are now required for authors.
411
417
* The Post-History header may be provided as a link instead of a simple date.
412
-
* Markdown format is no longer permitted for BIPs.
413
418
* The Resolution header has been dropped, as it is not applicable to a decentralised system where no authority exists to make final decisions.
Copy file name to clipboardExpand all lines: bip-0010.mediawiki
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -93,10 +93,10 @@ The following is an example TxDP from Armory, produced while running on the test
93
93
94
94
In this transaction, there are two inputs, one of 150 BTC and the other of 12 BTC. This transaction combines 162 BTC to create two outputs, one of 160 BTC, one 1.9995 BTC, and a tx fee of 0.0005. In this TxDP, both inputs have been signed, and thus could broadcast immediately.
95
95
96
-
The style of communication is taken directly from PGP/GPG, which uses blocks of ASCII like this to communicate encrypted messages and signatures. This serialization is compact, and will be interpretted the same in all character encodings. It can be copied inline into an email, or saved in a text file. The advantage over the analogous PGP encoding is that there are some human readable elements to it, for users that wish to examine the TxDP packet manually, instead of requiring a program to parse the core elements of the TxDP.
96
+
The style of communication is taken directly from PGP/GPG, which uses blocks of ASCII like this to communicate encrypted messages and signatures. This serialization is compact, and will be interpreted the same in all character encodings. It can be copied inline into an email, or saved in a text file. The advantage over the analogous PGP encoding is that there are some human readable elements to it, for users that wish to examine the TxDP packet manually, instead of requiring a program to parse the core elements of the TxDP.
97
97
98
98
A party receiving this TxDP can simply add their signature to the appropriate _TXINPUT_ line. If that is the last signature required, they can broadcast it themselves. Any software that implements this standard should be able to combine multiple TxDPs into a single TxDP. However, even without the programmatic support, a user could manually combine them by copying the appropriate _TXSIGS_ lines between serializations, though it is not the recommended method for combining TxDPs.
99
99
100
100
== Reference Implementation ==
101
101
102
-
This proposal was implemented and tested in the older versions of ''Armory'' Bitcoin software for use in offline-wallet transaction signing (as a 1-of-1 transaction). Implementation can be found in https://github.com/etotheipi/BitcoinArmory/blob/v0.91-beta/armoryengine/Transaction.py under the class PyTxDistProposal. However, as of verion 0.92 released in July 2014, Armory no longer uses this proposal for offline wallet transaction signing and has moved on to a new format.
102
+
This proposal was implemented and tested in the older versions of ''Armory'' Bitcoin software for use in offline-wallet transaction signing (as a 1-of-1 transaction). Implementation can be found in https://github.com/etotheipi/BitcoinArmory/blob/v0.91-beta/armoryengine/Transaction.py under the class PyTxDistProposal. However, as of version 0.92 released in July 2014, Armory no longer uses this proposal for offline wallet transaction signing and has moved on to a new format.
Copy file name to clipboardExpand all lines: bip-0012.mediawiki
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -43,11 +43,11 @@ OP_EVAL allows the receiver of bitcoins to specify how they can be spent when th
43
43
44
44
If ''serialized script'' is a large or complicated multi-signature script, then the burden of paying for it (in increased transaction fees due to more signature operations or transaction size) is shifted from the sender to the receiver.
45
45
46
-
The main objection to OP_EVAL is that it adds complexity, and complexity is the enemy of security. Also, evaluating data as code has a long record of being a source of security vulnerabilties.
46
+
The main objection to OP_EVAL is that it adds complexity, and complexity is the enemy of security. Also, evaluating data as code has a long record of being a source of security vulnerabilities.
47
47
48
48
That same argument can be applied to the existing Bitcoin 'scripting' system; scriptPubKeys are transmit as data across the network and are then interpreted by every bitcoin implementation. OP_EVAL just moves the data that will be interpreted. It is debatable whether or not the entire idea of putting a little interpreted expression evaluation language at the core of Bitcoin was brilliant or stupid, but the existence of OP_EVAL does not make the expression language less secure.
49
49
50
-
There is a 1-confirmation attack on old clients that interepret OP_EVAL as a no-op, but it is expensive and difficult in practice. The attack is:
50
+
There is a 1-confirmation attack on old clients that interpret OP_EVAL as a no-op, but it is expensive and difficult in practice. The attack is:
51
51
52
52
# Attacker creates an OP_EVAL transaction that is valid as seen by old clients, but invalid for new clients.
53
53
# Attacker also creates a standard transaction that spends the OP_EVAL transaction, and pays the victim.
Copy file name to clipboardExpand all lines: bip-0014.mediawiki
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -28,7 +28,7 @@ Version bumping can also introduce incompatibilities and fracture the network. I
28
28
29
29
By using a protocol version, we set all implementations on the network to a common standard. Everybody is able to agree within their confines what is protocol and what is implementation-dependent. A user agent string is offered as a 'vanity-plate' for clients to distinguish themselves in the network.
30
30
31
-
Separation of the network protocol from the implemention, and forming development of said protocol by means of a mutual consensus among participants, has the democratic disadvantage when agreement is hard to reach on contentious issues. To mitigate this issue, strong communication channels and fast release schedules are needed, and are outside the scope of this document (concerning a process-BIP type).
31
+
Separation of the network protocol from the implementation, and forming development of said protocol by means of a mutual consensus among participants, has the democratic disadvantage when agreement is hard to reach on contentious issues. To mitigate this issue, strong communication channels and fast release schedules are needed, and are outside the scope of this document (concerning a process-BIP type).
32
32
33
33
User agents provide extra tracking information that is useful for keeping tabs on network data such as client implementations used or common architectures/operating-systems. In the rare case they may even provide an emergency method of shunning faulty clients that threaten network health- although this is strongly unrecommended and extremely bad form. The user agent does not provide a method for clients to work around and behave differently to different implementations, as this will lead to protocol fracturing.
0 commit comments