Skip to content

Instantly share code, notes, and snippets.

@ajtowns
Last active July 1, 2025 06:37
Show Gist options
  • Save ajtowns/5a8c504b6ef0e91437614be2840921d7 to your computer and use it in GitHub Desktop.
Save ajtowns/5a8c504b6ef0e91437614be2840921d7 to your computer and use it in GitHub Desktop.
bips readme edit
#!/usr/bin/perl
use strict;
use warnings;
my $topbip = 9999;
my $include_layer = 1;
my %RequiredFields = (
BIP => undef,
Title => undef,
Authors => undef,
Status => undef,
Type => undef,
Created => undef,
# License => undef, (has exceptions)
);
my %MayHaveMulti = (
Authors => undef,
Deputies => undef,
'Comments-URI' => undef,
License => undef,
'License-Code' => undef,
'Discussion' => undef,
);
my %DateField = (
Created => undef,
);
my %EmailField = (
Authors => undef,
Editor => undef,
Deputies => undef,
);
my %MiscField = (
'Deputies' => undef,
'Comments-URI' => undef,
'Comments-Summary' => undef,
'Discussion' => undef,
'Replaces' => undef,
'Requires' => undef,
'Proposed-Replacement' => undef,
);
my %ValidLayer = (
'Consensus (soft fork)' => undef,
'Consensus (hard fork)' => undef,
'Peer Services' => undef,
'API/RPC' => undef,
'Applications' => undef,
);
my %ValidStatus = (
Draft => undef,
Complete => "background-color: #ffffcf",
Deployed => "background-color: #cfffcf",
Closed => "background-color: #ffcfcf",
);
my @StatusOrder = ("Deployed", "Complete", "Draft", "Closed");
my %ValidType = (
'Specification' => undef,
'Informational' => undef,
'Process' => undef,
);
my %AcceptableLicenses = (
'BSD-2-Clause' => undef,
'BSD-3-Clause' => undef,
'CC0-1.0' => undef,
'GNU-All-Permissive' => undef,
'MIT' => undef,
'CC-BY-4.0' => undef,
'Apache-2.0' => undef,
'BSL-1.0' => undef,
);
my %DefinedLicenses = (
%AcceptableLicenses,
'CC-BY-SA-4.0' => undef,
'AGPL-3.0' => undef,
'AGPL-3.0+' => undef,
'FDL-1.3' => undef,
'GPL-2.0' => undef,
'GPL-2.0+' => undef,
'LGPL-2.1' => undef,
'LGPL-2.1+' => undef,
'OPL' => undef,
'PD' => undef,
);
my %GrandfatheredPD = map { $_ => undef } qw(9 36 37 38 42 49 50 60 65 67 69 74 80 81 83 90 99 105 107 109 111 112 113 114 122 124 125 126 130 131 132 133 140 141 142 143 144 146 147 150 151 152);
my %GrandfatheredCCBySA = map { $_ => undef } qw(98 116 117 134);
my %TolerateMissingLicense = map { $_ => undef } qw(1 10 11 12 13 14 15 16 21 31 33 34 35 39 43 44 45 47 61 64 68 70 71 72 73 101 102 106 120 121);
my %TolerateTitleTooLong = map { $_ => undef } qw(39 44 45 47 49 60 67 68 69 73 74 75 80 81 99 105 106 109 113 122 126 131 143 145 147 173 327);
my %emails;
sub handle_bip {
my ($bipnum, $StatusSection) = @_;
my $fn = sprintf "bip-%04d.mediawiki", $bipnum;
my $is_markdown = 0;
if (!-e $fn) {
$fn = sprintf "bip-%04d.md", $bipnum;
$is_markdown = 1;
}
return unless (-e $fn);
open my $F, "<$fn";
if ($is_markdown) {
while (<$F> !~ m[^(?:\xef\xbb\xbf)?```$]) {
die "No ``` in $fn" if eof $F;
}
} else {
while (<$F> !~ m[^(?:\xef\xbb\xbf)?<pre>$]) {
die "No <pre> in $fn" if eof $F;
}
}
my %found;
my ($title, $authors, $status, $type, $layer);
my ($field, $val);
while (<$F>) {
last if ($is_markdown && m[^```$]);
last if (!$is_markdown && m[^</pre>$]);
if (m[^ ([\w-]+)\: (.*\S)$]) {
$field = $1;
$val = $2;
die "Duplicate $field field in $fn" if exists $found{$field};
die "Too many spaces in $fn" if $val =~ /^\s/;
} elsif (m[^ ( +)(.*\S)$]) {
die "Continuation of non-field in $fn" unless defined $field;
die "Too many spaces in $fn" if length $1 != 2 + length $field;
die "Not allowed for multi-value in $fn" unless exists $MayHaveMulti{$field};
$val = $2;
} else {
die "Bad line in $fn preamble";
}
die "Extra spaces in $fn" if $val =~ /^\s/;
if ($field eq 'BIP') {
die "$fn claims to be BIP $val" if $val ne $bipnum;
} elsif ($field eq 'Title') {
$title = $val;
my $title_len = length($title);
die "$fn has too-long Title ($title_len > 50 char max)" if $title_len > 50 and not exists $TolerateTitleTooLong{$bipnum};
} elsif ($field eq 'Authors') {
$val =~ m/^(\S[^<@>]*\S) \<([^@>]*\@[\w.-]+\.\w+)\>$/ or die "Malformed Authors line in $fn";
my ($authorname, $authoremail) = ($1, $2);
$authoremail =~ s/(?<=\D)$bipnum(?=\D)/<BIPNUM>/g;
$emails{$authorname}->{$authoremail} = undef;
if (defined $authors) {
$authors .= ", $authorname";
} else {
$authors = $authorname;
}
} elsif ($field eq 'Status') {
if ($bipnum == 38) { # HACK
$val =~ s/\s+\(.*\)$//;
}
die "Invalid status in $fn" unless exists $ValidStatus{$val};
$status = $val;
} elsif ($field eq 'Type') {
die "Invalid type in $fn" unless exists $ValidType{$val};
if (defined $ValidType{$val}) {
$type = $ValidType{$val};
} else {
$type = $val;
}
} elsif ($field eq 'Layer') { # BIP 123
die "Invalid layer $val in $fn" unless exists $ValidLayer{$val};
$layer = $val;
} elsif ($field =~ /^License(?:\-Code)?$/) {
die "Undefined license $val in $fn" unless exists $DefinedLicenses{$val};
if (not $found{$field}) {
die "Unacceptable license $val in $fn" unless exists $AcceptableLicenses{$val} or ($val eq 'PD' and exists $GrandfatheredPD{$bipnum}) or ($val eq 'CC-BY-SA-4.0' and exists $GrandfatheredCCBySA{$bipnum});
}
} elsif ($field eq 'Comments-URI') {
if ($found{'Comments-URI'}) {
my $first_comments_uri = sprintf('https://github.com/bitcoin/bips/wiki/Comments:BIP-%04d', $bipnum);
die "First Comments-URI must be exactly \"$first_comments_uri\" in $fn" unless $val eq $first_comments_uri;
}
} elsif (exists $DateField{$field}) {
die "Invalid date format in $fn" unless $val =~ /^20\d{2}\-(?:0\d|1[012])\-(?:[012]\d|30|31)$/;
} elsif (exists $EmailField{$field}) {
$val =~ m/^(\S[^<@>]*\S) \<[^@>]*\@[\w.]+\.\w+\>$/ or die "Malformed $field line in $fn";
} elsif (not exists $MiscField{$field}) {
die "Unknown field $field in $fn";
}
++$found{$field};
}
if (not $found{License}) {
die "Missing License in $fn" unless exists $TolerateMissingLicense{$bipnum};
}
for my $field (keys %RequiredFields) {
die "Missing $field in $fn" unless $found{$field};
}
if ($StatusSection eq $status) {
print "|-";
if (defined $ValidStatus{$status}) {
print " style=\"" . $ValidStatus{$status} . "\"";
}
print "\n";
print "| [[${fn}|BIP-${bipnum}]]\n";
if ($include_layer) {
if (defined $layer) {
print "| ${layer}\n";
} else {
print "|\n";
}
}
print "| ${title}\n";
print "| ${authors}\n";
print "| ${type}\n";
print "| ${status}\n";
}
close $F;
}
foreach my $StatusSection (@StatusOrder) {
my $bipnum = 0;
print("\n==$StatusSection==\n\n");
while (++$bipnum <= $topbip) {
handle_bip($bipnum, $StatusSection);
}
}
for my $authors (sort keys %emails) {
my @emails = sort keys %{$emails{$authors}};
my $email_count = @emails;
next unless $email_count > 1;
warn "NOTE: $authors has $email_count email addresses: @emails\n";
}

People wishing to submit BIPs should first describe their idea to the https://groups.google.com/g/bitcoindev [email protected] mailing list to get feedback on viability and community interested before working on a formal description. Please open a pull request to this repository only when substantial progress on the draft has been made, preferably when the draft is nearing completion. Authors do not assign a number to their own proposal. After a proposal meets the editorial criteria, a BIP Editor will assign a number to it and publish the proposal by merging the pull request to the repository. Please see BIP 3: Updated BIP Process for the full process.

The BIPs repository serves as a publication medium and archive. Having a BIP published here indicates that the proposal is in scope and has met other formal criteria for this repository, but does not indicate that it is a good idea, has community consensus, or that it is about to be adopted. The BIP Editors are expected to be liberal with publishing BIPs and to try not to be too involved in decision-making on behalf of the community. Beyond the formal criteria, evaluation of the proposals is left to the audience of the repository. When a proposal is controversial and it cannot be agreed upon whether it should be published, the conservative option will always be preferred: the proposal will be closed.

Those proposing and opposing changes should consider that ultimately acceptance and adoption rests with the Bitcoin users (see also: economic majority).

Table of Contents

Deployed

Number Layer Title Owner Type Status
BIP-3 Updated BIP Process Murch Process Deployed
BIP-9 Version bits with timeout and delay Pieter Wuille, Peter Todd, Greg Maxwell, Rusty Russell Informational Deployed
BIP-11 Applications M-of-N Standard Transactions Gavin Andresen Specification Deployed
BIP-13 Applications Address Format for pay-to-script-hash Gavin Andresen Specification Deployed
BIP-14 Peer Services Protocol Version and User Agent Amir Taaki, Patrick Strateman Specification Deployed
BIP-16 Consensus (soft fork) Pay to Script Hash Gavin Andresen Specification Deployed
BIP-21 Applications URI Scheme Nils Schneider, Matt Corallo Specification Deployed
BIP-22 API/RPC getblocktemplate - Fundamentals Luke Dashjr Specification Deployed
BIP-23 API/RPC getblocktemplate - Pooled Mining Luke Dashjr Specification Deployed
BIP-30 Consensus (soft fork) Duplicate transactions Pieter Wuille Specification Deployed
BIP-31 Peer Services Pong message Mike Hearn Specification Deployed
BIP-32 Applications Hierarchical Deterministic Wallets Pieter Wuille Informational Deployed
BIP-34 Consensus (soft fork) Block v2, Height in Coinbase Gavin Andresen Specification Deployed
BIP-35 Peer Services mempool message Jeff Garzik Specification Deployed
BIP-37 Peer Services Connection Bloom filtering Mike Hearn, Matt Corallo Specification Deployed
BIP-39 Applications Mnemonic code for generating deterministic keys Marek Palatinus, Pavol Rusnak, Aaron Voisine, Sean Bowe Specification Deployed
BIP-42 Consensus (soft fork) A finite monetary supply for Bitcoin Pieter Wuille Specification Deployed
BIP-43 Applications Purpose Field for Deterministic Wallets Marek Palatinus, Pavol Rusnak Specification Deployed
BIP-44 Applications Multi-Account Hierarchy for Deterministic Wallets Marek Palatinus, Pavol Rusnak Specification Deployed
BIP-47 Applications Reusable Payment Codes for Hierarchical Deterministic Wallets Justus Ranvier Informational Deployed
BIP-48 Applications Multi-Script Hierarchy for Multi-Sig Wallets Fontaine Specification Deployed
BIP-49 Applications Derivation scheme for P2WPKH-nested-in-P2SH based accounts Daniel Weigl Specification Deployed
BIP-50 March 2013 Chain Fork Post-Mortem Gavin Andresen Informational Deployed
BIP-61 Peer Services Reject P2P message Gavin Andresen Specification Deployed
BIP-65 Consensus (soft fork) OP_CHECKLOCKTIMEVERIFY Peter Todd Specification Deployed
BIP-66 Consensus (soft fork) Strict DER signatures Pieter Wuille Specification Deployed
BIP-68 Consensus (soft fork) Relative lock-time using consensus-enforced sequence numbers Mark Friedenbach, BtcDrak, Nicolas Dorier, kinoshitajona Specification Deployed
BIP-70 Applications Payment Protocol Gavin Andresen, Mike Hearn Specification Deployed
BIP-71 Applications Payment Protocol MIME types Gavin Andresen Specification Deployed
BIP-72 Applications bitcoin: uri extensions for Payment Protocol Gavin Andresen Specification Deployed
BIP-73 Applications Use "Accept" header for response type negotiation with Payment Request URLs Stephen Pair Specification Deployed
BIP-75 Applications Out of Band Address Exchange using Payment Protocol Encryption Justin Newton, Matt David, Aaron Voisine, James MacWhyte Specification Deployed
BIP-84 Applications Derivation scheme for P2WPKH based accounts Pavol Rusnak Specification Deployed
BIP-85 Applications Deterministic Entropy From BIP32 Keychains Ethan Kosakovsky, Aneesh Karve Informational Deployed
BIP-86 Applications Key Derivation for Single Key P2TR Outputs Ava Chow Specification Deployed
BIP-90 Buried Deployments Suhas Daftuar Informational Deployed
BIP-91 Consensus (soft fork) Reduced threshold Segwit MASF James Hilliard Specification Deployed
BIP-94 Applications Testnet 4 Fabian Jahr Specification Deployed
BIP-112 Consensus (soft fork) CHECKSEQUENCEVERIFY BtcDrak, Mark Friedenbach, Eric Lombrozo Specification Deployed
BIP-113 Consensus (soft fork) Median time-past as endpoint for lock-time calculations Thomas Kerin, Mark Friedenbach Specification Deployed
BIP-123 BIP Classification Eric Lombrozo Process Deployed
BIP-125 Applications Opt-in Full Replace-by-Fee Signaling David A. Harding, Peter Todd Specification Deployed
BIP-130 Peer Services sendheaders message Suhas Daftuar Specification Deployed
BIP-133 Peer Services feefilter message Alex Morcos Specification Deployed
BIP-137 Applications Signatures of Messages using Private Keys Christopher Gilliard Specification Deployed
BIP-141 Consensus (soft fork) Segregated Witness (Consensus layer) Eric Lombrozo, Johnson Lau, Pieter Wuille Specification Deployed
BIP-143 Consensus (soft fork) Transaction Signature Verification for Version 0 Witness Program Johnson Lau, Pieter Wuille Specification Deployed
BIP-144 Peer Services Segregated Witness (Peer Services) Eric Lombrozo, Pieter Wuille Specification Deployed
BIP-145 API/RPC getblocktemplate Updates for Segregated Witness Luke Dashjr Specification Deployed
BIP-147 Consensus (soft fork) Dealing with dummy stack element malleability Johnson Lau Specification Deployed
BIP-148 Consensus (soft fork) Mandatory activation of segwit deployment Shaolin Fry Specification Deployed
BIP-152 Peer Services Compact Block Relay Matt Corallo Specification Deployed
BIP-159 Peer Services NODE_NETWORK_LIMITED service bit Jonas Schnelli Specification Deployed
BIP-173 Applications Base32 address format for native v0-16 witness outputs Pieter Wuille, Greg Maxwell Informational Deployed
BIP-174 Applications Partially Signed Bitcoin Transaction Format Ava Chow Specification Deployed
BIP-324 Peer Services Version 2 P2P Encrypted Transport Protocol Dhruv Mehta, Tim Ruffing, Jonas Schnelli, Pieter Wuille Specification Deployed
BIP-327 MuSig2 for BIP340-compatible Multi-Signatures Jonas Nick, Tim Ruffing, Elliott Jin Informational Deployed
BIP-339 Peer Services WTXID-based transaction relay Suhas Daftuar Specification Deployed
BIP-340 Schnorr Signatures for secp256k1 Pieter Wuille, Jonas Nick, Tim Ruffing Specification Deployed
BIP-341 Consensus (soft fork) Taproot: SegWit version 1 spending rules Pieter Wuille, Jonas Nick, Anthony Towns Specification Deployed
BIP-342 Consensus (soft fork) Validation of Taproot Scripts Pieter Wuille, Jonas Nick, Anthony Towns Specification Deployed
BIP-343 Consensus (soft fork) Mandatory activation of taproot deployment Shinobius, Michael Folkson Specification Deployed
BIP-350 Applications Bech32m format for v1+ witness addresses Pieter Wuille Specification Deployed
BIP-370 Applications PSBT Version 2 Ava Chow Specification Deployed
BIP-371 Applications Taproot Fields for PSBT Ava Chow Specification Deployed
BIP-380 Applications Output Script Descriptors General Operation Pieter Wuille, Ava Chow Informational Deployed
BIP-381 Applications Non-Segwit Output Script Descriptors Pieter Wuille, Ava Chow Informational Deployed
BIP-382 Applications Segwit Output Script Descriptors Pieter Wuille, Ava Chow Informational Deployed
BIP-383 Applications Multisig Output Script Descriptors Pieter Wuille, Ava Chow Informational Deployed
BIP-384 Applications combo() Output Script Descriptors Pieter Wuille, Ava Chow Informational Deployed
BIP-385 Applications raw() and addr() Output Script Descriptors Pieter Wuille, Ava Chow Informational Deployed
BIP-386 Applications tr() Output Script Descriptors Pieter Wuille, Ava Chow Informational Deployed
BIP-387 Applications Tapscript Multisig Output Script Descriptors Pieter Wuille, Ava Chow Informational Deployed

Complete

Number Layer Title Owner Type Status
BIP-18 Consensus (soft fork) hashScriptCheck Luke Dashjr Specification Complete
BIP-45 Applications Structure for Deterministic P2SH Multisignature Wallets Manuel Araoz, Ryan X. Charles, Matias Alejo Garcia Specification Complete
BIP-67 Applications Deterministic Pay-to-script-hash multi-signature addresses through public key sorting Thomas Kerin, Jean-Pierre Rupp, Ruben de Vries Specification Complete
BIP-69 Applications Lexicographical Indexing of Transaction Inputs and Outputs Kristov Atlas Informational Complete
BIP-87 Applications Hierarchy for Deterministic Multisig Wallets Robert Spigler Specification Complete
BIP-88 Applications Hierarchical Deterministic Path Templates Dmitry Petukhov Informational Complete
BIP-111 Peer Services NODE_BLOOM service bit Matt Corallo, Peter Todd Specification Complete
BIP-129 Applications Bitcoin Secure Multisig Setup (BSMS) Hugo Nguyen, Peter Gray, Marko Bencun, Aaron Chen, Rodolfo Novak Specification Complete
BIP-325 Applications Signet Karl-Johan Alm, Anthony Towns Specification Complete
BIP-328 Applications Derivation Scheme for MuSig2 Aggregate Keys Ava Chow Informational Complete
BIP-352 Applications Silent Payments josibake, Ruben Somsen Specification Complete
BIP-373 Applications MuSig2 PSBT Fields Ava Chow Specification Complete
BIP-388 Applications Wallet Policies for Descriptor Wallets Salvatore Ingala Specification Complete

Draft

Number Layer Title Owner Type Status
BIP-8 Version bits with lock-in by height Shaolin Fry, Luke Dashjr Informational Draft
BIP-38 Applications Passphrase-protected private key Mike Caldwell, Aaron Voisine Specification Draft
BIP-46 Applications Address Scheme for Timelocked Fidelity Bonds Chris Belcher, Thebora Kompanioni Specification Draft
BIP-52 Consensus (hard fork) Durable, Low Energy Bitcoin PoW Michael Dubrovsky, Bogdan Penkovsky Specification Draft
BIP-53 Consensus (soft fork) Disallow 64-byte transactions Chris Stewart Specification Draft
BIP-54 Consensus (soft fork) Consensus Cleanup Antoine Poinsot, Matt Corallo Specification Draft
BIP-77 Applications Async Payjoin Dan Gould, Yuval Kogman Specification Draft
BIP-78 Applications A Simple Payjoin Proposal Nicolas Dorier Specification Draft
BIP-93 Applications codex32: Checksummed SSSS-aware BIP32 seeds Leon Olsson Curr and Pearlwort Sneed, Andrew Poelstra Informational Draft
BIP-98 Consensus (soft fork) Fast Merkle Trees Mark Friedenbach, Kalle Alm, BtcDrak Specification Draft
BIP-116 Consensus (soft fork) MERKLEBRANCHVERIFY Mark Friedenbach, Kalle Alm, BtcDrak Specification Draft
BIP-117 Consensus (soft fork) Tail Call Execution Semantics Mark Friedenbach, Kalle Alm, BtcDrak Specification Draft
BIP-118 Consensus (soft fork) SIGHASH_ANYPREVOUT for Taproot Scripts Christian Decker, Anthony Towns Specification Draft
BIP-119 Consensus (soft fork) CHECKTEMPLATEVERIFY Jeremy Rubin Specification Draft
BIP-122 Applications URI scheme for Blockchain references / exploration Marco Pontello Specification Draft
BIP-126 Best Practices for Heterogeneous Input Script Transactions Kristov Atlas Informational Draft
BIP-127 Applications Simple Proof-of-Reserves Transactions Steven Roose Specification Draft
BIP-136 Applications Bech32 Encoded Tx Position References Велеслав, Jonas Schnelli, Daniel Pape Informational Draft
BIP-155 Peer Services addrv2 message Wladimir J. van der Laan Specification Draft
BIP-157 Peer Services Client Side Block Filtering Olaoluwa Osuntokun, Alex Akselrod, Jim Posen Specification Draft
BIP-158 Peer Services Compact Block Filters for Light Clients Olaoluwa Osuntokun, Alex Akselrod Specification Draft
BIP-172 Applications Define Bitcoin Subunits as Satoshis OceanSlim Informational Draft
BIP-176 Bits Denomination Jimmy Song Informational Draft
BIP-177 Redefine Bitcoin's Base Unit John Carvalho Informational Draft
BIP-178 Applications Version Extended WIF Karl-Johan Alm Specification Draft
BIP-179 Name for payment recipient identifiers Emil Engler, Luke Dashjr Informational Draft
BIP-197 Applications Hashed Time-Locked Collateral Contract Matthew Black, Tony Cai Specification Draft
BIP-300 Consensus (soft fork) Hashrate Escrows (Consensus layer) Paul Sztorc, CryptAxe Specification Draft
BIP-301 Consensus (soft fork) Blind Merged Mining (Consensus layer) Paul Sztorc, CryptAxe Specification Draft
BIP-310 Applications Stratum protocol extensions Pavel Moravec, Jan Čapek Informational Draft
BIP-320 nVersion bits for general purpose use BtcDrak Specification Draft
BIP-321 Applications URI Scheme Matt Corallo Specification Draft
BIP-322 Applications Generic Signed Message Format Karl-Johan Alm Specification Draft
BIP-326 Applications Anti-fee-sniping in taproot transactions Chris Belcher Informational Draft
BIP-329 Applications Wallet Labels Export Format Craig Raw Informational Draft
BIP-330 Peer Services Transaction announcements reconciliation Gleb Naumenko, Pieter Wuille Specification Draft
BIP-331 Peer Services Ancestor Package Relay Gloria Zhao Specification Draft
BIP-337 API/RPC Compressed Transactions Tom Briar Specification Draft
BIP-347 Consensus (soft fork) OP_CAT in Tapscript Ethan Heilman, Armin Sabouri Specification Draft
BIP-348 Consensus (soft fork) CHECKSIGFROMSTACK Brandon Black, Jeremy Rubin Specification Draft
BIP-349 Consensus (soft fork) OP_INTERNALKEY Brandon Black, Jeremy Rubin Specification Draft
BIP-351 Applications Private Payments Alfred Hodler, Clark Moody Informational Draft
BIP-353 Applications DNS Payment Instructions Matt Corallo, Bastien Teinturier Specification Draft
BIP-372 Applications Pay-to-contract tweak fields for PSBT Maxim Orlovsky Specification Draft
BIP-374 Applications Discrete Log Equality Proofs Andrew Toth, Ruben Somsen, Sebastian Falbesoner Specification Draft
BIP-375 Applications Sending Silent Payments with PSBTs Andrew Toth, Ava Chow, josibake Specification Draft
BIP-379 Applications Miniscript Pieter Wuille, Andrew Poelstra, Sanket Kanjalkar, Antoine Poinsot, Ava Chow Informational Draft
BIP-389 Applications Multipath Descriptor Key Expressions Ava Chow Informational Draft
BIP-390 Applications musig() Descriptor Key Expression Ava Chow Informational Draft
BIP-431 Applications Topology Restrictions for Pinning Gloria Zhao Informational Draft
BIP-443 Consensus (soft fork) OP_CHECKCONTRACTVERIFY Salvatore Ingala Specification Draft

Closed

Number Layer Title Owner Type Status
BIP-1 BIP Purpose and Guidelines Amir Taaki Process Closed
BIP-2 BIP process, revised Luke Dashjr Process Closed
BIP-10 Applications Multi-Sig Transaction Distribution Alan Reiner Informational Closed
BIP-12 Consensus (soft fork) OP_EVAL Gavin Andresen Specification Closed
BIP-15 Applications Aliases Amir Taaki Specification Closed
BIP-17 Consensus (soft fork) OP_CHECKHASHVERIFY (CHV) Luke Dashjr Specification Closed
BIP-19 Applications M-of-N Standard Transactions (Low SigOp) Luke Dashjr Specification Closed
BIP-20 Applications URI Scheme Luke Dashjr Specification Closed
BIP-33 Peer Services Stratized Nodes Amir Taaki Specification Closed
BIP-36 Peer Services Custom Services Stefan Thomas Specification Closed
BIP-60 Peer Services Fixed Length "version" Message (Relay-Transactions Field) Amir Taaki Specification Closed
BIP-62 Consensus (soft fork) Dealing with malleability Pieter Wuille Specification Closed
BIP-64 Peer Services getutxo message Mike Hearn Specification Closed
BIP-74 Applications Allow zero value OP_RETURN in Payment Protocol Toby Padilla Specification Closed
BIP-79 Applications Bustapay :: a practical coinjoin protocol Ryan Havar Informational Closed
BIP-80 Hierarchy for Non-Colored Voting Pool Deterministic Multisig Wallets Justus Ranvier, Jimmy Song Informational Closed
BIP-81 Hierarchy for Colored Voting Pool Deterministic Multisig Wallets Justus Ranvier, Jimmy Song Informational Closed
BIP-83 Applications Dynamic Hierarchical Deterministic Key Trees Eric Lombrozo Specification Closed
BIP-99 Motivation and deployment of consensus rule changes ([soft/hard]forks) Jorge Timón Informational Closed
BIP-100 Consensus (hard fork) Dynamic maximum block size by miner vote Jeff Garzik, Tom Harding, Dagur Valberg Johannsson Specification Closed
BIP-101 Consensus (hard fork) Increase maximum block size Gavin Andresen Specification Closed
BIP-102 Consensus (hard fork) Block size increase to 2MB Jeff Garzik Specification Closed
BIP-103 Consensus (hard fork) Block size following technological growth Pieter Wuille Specification Closed
BIP-104 Consensus (hard fork) 'Block75' - Max block size like difficulty t.khan Specification Closed
BIP-105 Consensus (hard fork) Consensus based block size retargeting algorithm BtcDrak Specification Closed
BIP-106 Consensus (hard fork) Dynamically Controlled Bitcoin Block Size Max Cap Upal Chakraborty Specification Closed
BIP-107 Consensus (hard fork) Dynamic limit on the block size Washington Y. Sanchez Specification Closed
BIP-109 Consensus (hard fork) Two million byte size limit with sigop and sighash limits Gavin Andresen Specification Closed
BIP-114 Consensus (soft fork) Merkelized Abstract Syntax Tree Johnson Lau Specification Closed
BIP-115 Consensus (soft fork) Generic anti-replay protection using Script Luke Dashjr Specification Closed
BIP-120 Applications Proof of Payment Kalle Rosenbaum Specification Closed
BIP-121 Applications Proof of Payment URI scheme Kalle Rosenbaum Specification Closed
BIP-124 Applications Hierarchical Deterministic Script Templates Eric Lombrozo, William Swanson Informational Closed
BIP-131 Consensus (hard fork) "Coalescing Transaction" Specification (wildcard inputs) Chris Priest Specification Closed
BIP-132 Committee-based BIP Acceptance Process Andy Chase Process Closed
BIP-134 Consensus (hard fork) Flexible Transactions Tom Zander Specification Closed
BIP-135 Generalized version bits voting Sancho Panza Informational Closed
BIP-140 Consensus (soft fork) Normalized TXID Christian Decker Specification Closed
BIP-142 Applications Address Format for Segregated Witness Johnson Lau Specification Closed
BIP-146 Consensus (soft fork) Dealing with signature encoding malleability Johnson Lau, Pieter Wuille Specification Closed
BIP-149 Consensus (soft fork) Segregated Witness (second deployment) Shaolin Fry Specification Closed
BIP-150 Peer Services Peer Authentication Jonas Schnelli Specification Closed
BIP-151 Peer Services Peer-to-Peer Communication Encryption Jonas Schnelli Specification Closed
BIP-154 Peer Services Rate Limiting via peer specified challenges Karl-Johan Alm Specification Closed
BIP-156 Peer Services Dandelion - Privacy Enhancing Routing Brad Denby, Andrew Miller, Giulia Fanti, Surya Bakshi, Shaileshh Bojja Venkatakrishnan, Pramod Viswanath Specification Closed
BIP-171 Applications Currency/exchange rate information API Luke Dashjr Specification Closed
BIP-175 Applications Pay to Contract Protocol Omar Shibli, Nicholas Gregory Informational Closed
BIP-180 Peer Services Block size/weight fraud proof Luke Dashjr Specification Closed
BIP-199 Applications Hashed Time-Locked Contract transactions Sean Bowe, Daira Hopwood Specification Closed
BIP-338 Peer Services Disable transaction relay message Suhas Daftuar Specification Closed
BIP-345 Consensus (soft fork) OP_VAULT James O'Beirne, Greg Sanders Specification Closed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment