BIPs bitcoin improvement proposals

144 - Segregated Witness (Peer Services)

BIP: 144 source Layer: Peer Services Title: Segregated Witness (Peer Services) Authors: Eric Lombrozo Pieter Wuille Status: Deployed Type: Specification Assigned: 2016-01-08 License: PD Table of ContentsAbstractMotivationSpecificationSerializationHandshakeHashesRelayCreditsReference ImplementationCopyright Abstract This BIP defines new messages and serialization formats for propagation of transactions and blocks committing to segregated witness structures. Motivation In addition to defining witness structures and requiring commitments in future blocks (BIP141 - Consensus segwit BIP), new mechanisms must be defined to allow peers to advertise support for segregated witness and to relay the witness structures and request them from other peers without breaking compatibility with older nodes. Specification Serialization A new serialization format for tx messages is added to the peer-to-peer protocol. The serialization has the following structure: Field Size Name T...

124 - Hierarchical Deterministic Script Templates

BIP: 124 source Layer: Applications Title: Hierarchical Deterministic Script Templates Authors: Eric Lombrozo William Swanson Status: Closed Type: Informational Assigned: 2015-11-20 License: PD Discussion: http://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-November/011795.html Table of ContentsAbstractMotivationSpecificationKeysKey GroupsSortingScript TemplatesOperations on KeysEncodingExamples2-of-3 Multisig1-of-1 or 2-of-3Timelocked ContractReferencesCopyright Abstract This BIP defines a script template format that can be used by wallets to deterministically generate scripts with specific authorization policies using the key derivation mechanism defined in BIP32. Motivation Currently existing wallets typically issue scripts in only a tiny handful of widely used formats. The most popular formats are pay-to-pubkey-hash and m-of-n pay-to-script-hash (BIP16). However, different wallets tend to use mutually incompatible derivation schemes to generat...

83 - Dynamic Hierarchical Deterministic Key Trees

BIP: 83 source Layer: Applications Title: Dynamic Hierarchical Deterministic Key Trees Authors: Eric Lombrozo Status: Closed Type: Specification Assigned: 2015-11-16 License: PD Table of ContentsAbstractMotivationSpecificationNotationMappingsUse CasesAccount HierarchiesBidirectional Payment ChannelsReferencesCopyright Abstract This BIP defines a scheme for key derivation that allows for dynamic creation of key hierarchies based on the algorithm described in BIP32. Motivation Several proposals have been made to try to standardize a structure for hierarchical deterministic wallets for the sake of interoperability (reference BIP32, BIP44, BIP45). However, all proposals to date have tried to impose a specific structure upfront without providing any flexibility for dynamic creation of new hierarchical levels with different semantics or mapping between different applications that use distinct structures. Instead of attempting to impose a specific structure upfront, this BIP p...

123 - BIP Classification

BIP: 123 source Title: BIP Classification Authors: Eric Lombrozo Status: Deployed Type: Process Assigned: 2015-08-26 License: CC0-1.0 OR FSFAP 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 FSF All Permissive licenses. Motivation Bitcoin is a system involving a number of different standards. Some standards are absolute requirements for interoperability while others can be considered optional, giving implementers a choice of whether to su...

112 - CHECKSEQUENCEVERIFY

BIP: 112 source Layer: Consensus (soft fork) Title: CHECKSEQUENCEVERIFY Authors: BtcDrak Mark Friedenbach Eric Lombrozo Status: Deployed Type: Specification Assigned: 2015-08-10 License: PD Table of ContentsAbstractSummaryMotivationContracts With Expiration DeadlinesEscrow with TimeoutRetroactive InvalidationHash Time-Locked ContractsBidirectional Payment ChannelsLightning Network2-Way Pegged SidechainsSpecificationReference ImplementationDeploymentCreditsReferencesCopyright Abstract This BIP describes a new opcode (CHECKSEQUENCEVERIFY) for the Bitcoin scripting system that in combination with BIP 68 allows execution pathways of a script to be restricted based on the age of the output being spent. Summary CHECKSEQUENCEVERIFY redefines the existing NOP3 opcode. When executed, if any of the following conditions are true, the script interpreter will terminate with an error: the stack is empty; orthe top item on the stack is less than 0; ort...

141 - Segregated Witness (Consensus layer)

BIP: 141 source Layer: Consensus (soft fork) Title: Segregated Witness (Consensus layer) Authors: Eric Lombrozo Johnson Lau Pieter Wuille Status: Deployed Type: Specification Assigned: 2015-12-21 License: PD Table of ContentsAbstractMotivationSpecificationTransaction IDCommitment structureWitness programOther consensus critical limitsBlock sizeSigopsAdditional definitionsTransaction size calculationsNew script semanticsExamplesP2WPKHP2WPKH nested in BIP16 P2SHP2WSHP2WSH nested in BIP16 P2SHExtensible commitment structureTrust-free unconfirmed transaction dependency chainFuture extensionsCompact fraud proof for SPV nodesNew script systemPer-input lock-time and relative-lock-timeBackward compatibilityDeploymentCreditsFootnotesReference ImplementationReferencesCopyright Abstract This BIP defines a new structure called a "witness" that is committed to blocks separately from the transaction merkle tree. This structure contains data required to check t...