BIPs bitcoin improvement proposals

111 - NODE_BLOOM service bit

BIP: 111 source Layer: Peer Services Title: NODE_BLOOM service bit Author: Matt Corallo Peter Todd Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0111 Status: Proposed Type: Standards Track Created: 2015-08-20 License: PD Table of ContentsAbstractMotivationSpecificationDesign rationalReference ImplementationCopyrightReferences Abstract This BIP extends BIP 37, Connection Bloom filtering, by defining a service bit to allow peers to advertise that they support bloom filters explicitly. It also bumps the protocol version to allow peers to identify old nodes which allow bloom filtering of the connection despite lacking the new service bit. Motivation BIP 37 did not specify a service bit for the bloom filter service, thus implicitly assuming that all nodes that serve peers data support it. However, the connection filtering algorithm proposed in BIP 37, and implemented in several clients today, has been show...

21 - URI Scheme

BIP: 21 source Layer: Applications Title: URI Scheme Author: Nils Schneider Matt Corallo Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0021 Status: Final Type: Standards Track Created: 2012-01-29 This BIP is a modification of an earlier BIP 0020 by Luke Dashjr. BIP 0020 was based off an earlier document by Nils Schneider. The alternative payment amounts in BIP 0020 have been removed. Table of ContentsAbstractMotivationSpecificationGeneral rules for handling (important!)Operating system integrationGeneral FormatABNF grammarQuery KeysTransfer amountRationalePayment identifiers, not person identifiersAccessibility (URI scheme name)Forward compatibilityBackward compatibilityAppendixSimpler syntaxExamplesReference Implementation Abstract This BIP proposes a URI scheme for making Bitcoin payments. Motivation The purpose of this URI scheme is to enable users to easily make payments by simply clicking links on webp...

353 - DNS Payment Instructions

BIP: 353 source Layer: Applications Title: DNS Payment Instructions Author: Matt Corallo Bastien Teinturier Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0353 Status: Draft Type: Standards Track Created: 2024-02-10 License: CC0-1.0 Post-History: 2024-02-13: https://groups.google.com/g/bitcoindev/c/uATaflkYglQ [bitcoin-dev] Mapping Human-Readable Names to Payment Instructions Table of ContentsCopyrightAbstractMotivationSpecificationGeneral rules for handlingRecordsResolutionAddress ReuseDisplayPSBT typesRationaleDisplayRotationAlternativesDNS Rather than blockchain-based solutionsDNS Rather than HTTP-based solutionsPrivate DNS QueryingDNS EnumerationBackwards CompatibilityExamplesReference ImplementationsFootnotesAcknowledgements Copyright This BIP is licensed under the CC0-1.0 license. Abstract This BIP proposes a standard format for encoding BIP 21 URI schemes in DNS TXT records. Motivation Various ...

37 - Connection Bloom filtering

BIP: 37 source Layer: Peer Services Title: Connection Bloom filtering Author: Mike Hearn Matt Corallo Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0037 Status: Final Type: Standards Track Created: 2012-10-24 License: PD Table of ContentsAbstractMotivationDesign rationaleSpecificationNew messagesExtensions to existing messagesFilter matching algorithmPartial Merkle branch formatConstructing a partial merkle tree objectParsing a partial merkle tree objectBloom filter formatCopyright Abstract This BIP adds new support to the peer-to-peer protocol that allows peers to reduce the amount of transaction data they are sent. Peers have the option of setting filters on each connection they make after the version handshake has completed. A filter is defined as a Bloom filter on data derived from transactions. A Bloom filter is a probabilistic data structure which allows for testing set membership - they can have ...

152 - Compact Block Relay

BIP: 152 source Layer: Peer Services Title: Compact Block Relay Author: Matt Corallo Comments-Summary: Unanimously Recommended for implementation Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0152 Status: Final Type: Standards Track Created: 2016-04-27 License: PD Table of ContentsAbstractMotivationSpecification for version 1Intended Protocol FlowNew data structuresPrefilledTransactionHeaderAndShortIDsBlockTransactionsRequestBlockTransactionsShort transaction IDsNew messagessendcmpctMSG_CMPCT_BLOCKcmpctblockgetblocktxnblocktxnProtocol VersioningSample Version ImplementationSpecification for version 2Implementation NotesPre-Validation Relay and Consistency ConsiderationsJustificationProtocol designShort transaction ID calculationRandom collision probabilitySeparate version for segregated witnessBackward compatibilityImplementationAcknowledgementsCopyright Abstract Compact blocks on the wire as a way to save bandwidth for nodes on the P2P network. The...

90 - Buried Deployments

BIP: 90 source Title: Buried Deployments Author: Suhas Daftuar Comments-Summary: Mostly Recommended for implementation, with some Discouragement Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0090 Status: Final Type: Informational Created: 2016-11-08 License: PD Table of ContentsAbstractMotivationConsiderationsSpecificationImplementationReferencesAcknowledgementsCopyright Abstract Prior soft forks (BIP 34, BIP 65, and BIP 66) were activated via miner signaling in block version numbers. Now that the chain has long since passed the blocks at which those consensus rules have triggered, we can (as a simplification) replace the trigger mechanism by caching the block heights at which those consensus rules became enforced. Motivation BIPs 34, 65 and 66 were deployed on mainnet using miner signaling using block version numbers. In short, new consensus rules were proposed for use in blocks with a higher version number (N+1) than the prevailing block versio...

123 - BIP Classification

BIP: 123 source Title: BIP Classification Author: Eric Lombrozo Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0123 Status: Active Type: Process Created: 2015-08-26 License: CC0-1.0 GNU-All-Permissive Table of ContentsAbstractCopyrightMotivationSpecification1. Consensus LayerSoft ForksHard Forks2. Peer Services Layer3. API/RPC Layer4. Applications LayerClassification of existing BIPs Abstract This document describes a classification scheme for BIPs. BIPs are classified by system layers with lower numbered layers involving more intricate interoperability requirements. The specification defines the layers and sets forth specific criteria for deciding to which layer a particular standards BIP belongs. Copyright This BIP is dual-licensed under the Creative Commons CC0 1.0 Universal and GNU All-Permissive licenses. Motivation Bitcoin is a system involving a number of different standards. Some standards are abso...

372 - Pay-to-contract tweak fields for PSBT

BIP: 372 source Layer: Applications Title: Pay-to-contract tweak fields for PSBT Author: Maxim Orlovsky Discussions-To: Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0372 Status: Draft Type: Standards Track Created: 2022-01-16 License: BSD-2-Clause Requires: BIP-174 Table of ContentsIntroductionAbstractCopyrightBackgroundMotivationDesignSpecificationSecurity considerationsRationaleCompatibilityReference implementationAcknowledgementsTest vectorsReferences Introduction Abstract This document proposes additional fields for BIP 174 PSBTv0 and BIP 370 PSBTv2 that allow for pay-to-contract key tweaking data to be included in a PSBT of any version. These will represent an extra-transaction information required for the signer to produce valid signatures spending previous outputs. Copyright This BIP is licensed under the 2-clause BSD license. Background Key tweaking is a procedure for creating a cryptographic commitment to some message using ellipti...