159 - NODE_NETWORK_LIMITED service bit
BIP: 159 source Layer: Peer Services Title: NODE_NETWORK_LIMITED service bit Authors: Jonas Schnelli Status: Deployed Type: Specification Assigned: 2017-05-11 License: BSD-2-Clause Table of ContentsAbstractMotivationSpecificationNew service bitAddress relayCounter-measures for peer fingerprintingRisksCompatibilityReference implementationCopyright Abstract Define a service bit that allows pruned peers to signal their limited services. Motivation Pruned peers can offer the same services as traditional peers, except that of serving all historical blocks. Bitcoin right now only offers the NODE_NETWORK service bit to indicate that a peer can serve all historical blocks. Pruned peers can relay blocks, headers, transactions, and addresses, but they only guarantee serving a minimum number of historical blocks; thus, they should have a way to announce their service(s)Peers no longer in initial block download should consider connecting some of their outbound connections to pru...
150 - Peer Authentication
BIP: 150 source Layer: Peer Services Title: Peer Authentication Authors: Jonas Schnelli Comments-Summary: Discouraged for implementation (one person) Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0150 Status: Closed Type: Specification Assigned: 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 priorit...
151 - Peer-to-Peer Communication Encryption
BIP: 151 source Layer: Peer Services Title: Peer-to-Peer Communication Encryption Authors: Jonas Schnelli Comments-Summary: Controversial; some recommendation, and some discouragement Comments-URI: https://github.com/bitcoin/bips/wiki/Comments:BIP-0151 Status: Closed Type: Specification Assigned: 2016-03-23 License: PD Proposed-Replacement: 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. ...
136 - Bech32 Encoded Tx Position References
BIP: 136 source Layer: Applications Title: Bech32 Encoded Tx Position References Authors: Велеслав Jonas Schnelli Daniel Pape Status: Draft Type: Informational Assigned: 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 optionally, a particular outpoint index within the transaction) in a standard, reliable, and concise way. Pl...
155 - addrv2 message
BIP: 155 source Layer: Peer Services Title: addrv2 message Authors: Wladimir J. van der Laan Status: Deployed Type: Specification Assigned: 2019-02-27 License: BSD-2-Clause Version: 2.0.0 Table of ContentsIntroductionAbstractCopyrightMotivationSpecificationSignaling support and compatibilityReference implementationAcknowledgementsAppendix A: Tor v2 address encoding (no longer used )Appendix B: Tor v3 address encodingAppendix C: I2P address encodingAppendix D: Cjdns address encodingAppendix E: Yggdrasil address encodingChangelogReferences 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. Motivation Tor v3 hidden services are part of the stable release of ...
324 - Version 2 P2P Encrypted Transport Protocol
BIP: 324 source Layer: Peer Services Title: Version 2 P2P Encrypted Transport Protocol Authors: Dhruv Mehta Tim Ruffing Jonas Schnelli Pieter Wuille Status: Deployed Type: Specification Assigned: 2019-03-08 License: BSD-3-Clause Version: 1.0.2 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 VectorsChangelogRationale and ReferencesAcknowledgements Introduction Abstract This document proposes a new Bitc...