BIPs bitcoin improvement proposals

159 - NODE_NETWORK_LIMITED service bit

BIP: 159 source Layer: Peer Services Title: NODE_NETWORK_LIMITED service bit Author: Jonas Schnelli Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0159 Status: Draft Type: Standards Track Created: 2017-05-11 License: BSD-2-Clause Table of ContentsAbstractMotivationSpecificationNew service bitAddress relayCounter-measures for peer fingerprintingRisksCompatibilityReference implementationCopyright Abstract Define a service bit that allow pruned peers to signal their limited services Motivation Pruned peers can offer the same services as traditional peer except of serving all historical blocks. Bitcoin right now only offers the NODE_NETWORK service bit which indicates that a peer can serve all historical blocks. Pruned peers can relay blocks, headers, transactions, addresses and can serve a limited number of historical blocks, thus they should have a way how to announce their service(s)Peers no longer in initial blo...

150 - Peer Authentication

BIP: 150 source Layer: Peer Services Title: Peer Authentication Author: Jonas Schnelli Comments-Summary: Discouraged for implementation (one person) Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0150 Status: Draft Type: Standards Track Created: 2016-03-23 License: PD Table of ContentsAbstractMotivationSpecificationKnown-peers and authorized-peers databaseLocal identity key managementAuthentication procedureAUTHCHALLENGE messageAUTHREPLY messageAUTHPROPOSE messagePost-Authentication Re-KeyingIdentity-AddressesCompatibilityExample of an auth interactionDisadvantagesReference implementationReferencesAcknowledgementsCopyright Abstract This BIP describes a way for peers to authenticate to other peers to guarantee node ownership and/or allow peers to access additional or limited node services, without the possibility of fingerprinting. Motivation We assume peer operators want to limit the access of different node services or increase datastream prioriti...

151 - Peer-to-Peer Communication Encryption

BIP: 151 source Layer: Peer Services Title: Peer-to-Peer Communication Encryption Author: Jonas Schnelli Comments-Summary: Controversial; some recommendation, and some discouragement Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0151 Status: Replaced Type: Standards Track Created: 2016-03-23 License: PD Superseded-By: 324 Table of ContentsAbstractMotivationSpecificationSymmetric Encryption Cipher KeysSession IDThe encinit message typeChaCha20-Poly1305 Cipher SuiteThe encack message typeEncrypted Messages StructureRe-KeyingRisksCompatibilityReference implementationReferencesAcknowledgementsCopyright Abstract This BIP describes an alternative way that a peer can encrypt their communication between a selective subset of remote peers. Motivation The Bitcoin network does not encrypt communication between peers today. This opens up security issues (eg: traffic manipulation by others) and allows for mass surveillance / analysis of bitcoin users. Mostl...

136 - Bech32 Encoded Tx Position References

BIP: 136 source Layer: Applications Title: Bech32 Encoded Tx Position References Author: Велеслав Jonas Schnelli Daniel Pape Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0136 Status: Draft Type: Informational Created: 2017-07-09 License: BSD-2-Clause Table of ContentsIntroductionAbstractCopyrightMotivationExamplesSpecificationTxRef ConsiderationsTxRef FormatHuman-Readable PartSeparatorData PartReadabilityEncodingMagic NotesEncoding ExampleOutpoint IndexDecodingRationaleReference implementationsAppendicesTest ExamplesTxRefTxRef with OutpointsTxRef Payload Value Choices:Block Height Value:Tx Position Value:Acknowledgements Introduction Abstract This document proposes a convenient, human usable encoding to refer to a confirmed transaction position within the Bitcoin blockchain--known as "TxRef". The primary purpose of this encoding is to allow users to refer to a confirmed transaction (and opt...

324 - Version 2 P2P Encrypted Transport Protocol

BIP: 324 source Layer: Peer Services Title: Version 2 P2P Encrypted Transport Protocol Author: Dhruv Mehta Tim Ruffing Jonas Schnelli Pieter Wuille Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0324 Status: Final Type: Standards Track Created: 2019-03-08 License: BSD-3-Clause Replaces: 151 Table of ContentsIntroductionAbstractCopyrightMotivationGoalsSpecificationTransport layer specificationOverview and designHandshake: key exchange and version negotiationShared secret computationElligatorSwift encoding of curve X coordinatesKeys and session ID derivationOverall handshake pseudocodePacket encryptionExisting cryptographic primitivesRekeying wrappers: FSChaCha20Poly1305 and FSChaCha20Overall packet encryption and decryption pseudocodePerformanceApplication layer specificationv2 Bitcoin P2P message structureSignaling specificationSignaling v2 supportTest VectorsRationale and ReferencesAcknowledgements Introduction Abs...

155 - addrv2 message

BIP: 155 source Layer: Peer Services Title: addrv2 message Author: Wladimir J. van der Laan Comments-Summary: No comments yet. Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0155 Status: Draft Type: Standards Track Created: 2019-02-27 License: BSD-2-Clause Table of ContentsIntroductionAbstractCopyrightMotivationSpecificationSignaling support and compatibilityReference implementationAcknowledgementsAppendix A: Tor v2 address encodingAppendix B: Tor v3 address encodingAppendix C: I2P address encodingAppendix D: Cjdns address encodingAppendix E: Yggdrasil address encodingReferences Introduction Abstract This document proposes a new P2P message to gossip longer node addresses over the P2P network. This is required to support new-generation Onion addresses, I2P, and potentially other networks that have longer endpoint addresses than fit in the 128 bits of the current addr message. Copyright This BIP is licensed under the 2-clause BSD license. Motivati...