This issue will be updated to reflect the current state of [BIP324](https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki) integration. PRs ready for review: * #29347 Overall plan: * ElligatorSwift integration in Bitcoin Core (formerly 23432, 23561) * [x] Dependency: Jacobi symbol support in libsecp256k1: bitcoin-core/secp256k1#979 * [x] Dependency: ElligatorSwift support in libsecp256k1: bitcoin-core/secp256k1#1129 * [x] Dependency: update libsecp256k1 subtree: currently part of 27479. * [x] Main feature: #27479 * Cipher suite implementation (formerly 25361): * [x] Dependency: support for not wasting ChaCha20 stream bytes: #26153 * [x] Dependency: support for RFC8439 variant of ChaCha20: #27985 * [x] Dependency: support for incremental Poly1305 computation: #27993 * [x] Main feature: #28008 * [x] Follow-up: #28267 * [x] Follow-up: #28263 * P2P v2 connection support (formerly 25361, 23233, 24545): * [x] Dependency: P2P transport abstraction: #28165 * [x] Main feature: #28196 * [x] Follow up: #28433 * [x] Bugfix: #28489 * [x] Follow up: BIP change: #28525 * [x] Follow up: BIP change: #28577 * [x] Potential follow-up: decide how to report handshake/decoy bytes in per-message stats: https://github.com/bitcoin/bitcoin/pull/28331#issuecomment-1731202211 * P2P v2 signalling/integration (formerly 24545): * [x] Main feature: #28331 * [x] Follow up test: #28588 * [x] Follow up: make all functional tests compatible with v2: #28805 * [x] Potential follow-up: integrated connect/add/reconnect logic: https://github.com/bitcoin/bitcoin/pull/28331#discussion_r1335820022 * [x] Potential follow-up: reuse `CNode` objects on reconnect: https://github.com/bitcoin/bitcoin/pull/28331#discussion_r1335876277 * [x] Potential follow-up: use `V2Transport` for everything, dropping abstract class: https://github.com/bitcoin/bitcoin/pull/28331#discussion_r1336030845 * [x] Enable V2 by default: #29347 * BIP324 functional tests: * [x] Dependency: ElligatorSwift support in functional tests: #24005 * [x] Dependency: Field element support in functional tests: #26222 * [x] Dependency: Python cryptography #28374 * [x] Main feature: #24748 * P2P_V2 service flag support in DNS seeder: * [x] Main feature: sipa/bitcoin-seeder#102 <details><summary>Older stuff:</summary> * Prehistory: * [x] CKey negation (no longer needed): #14047 * [x] ChaCha20 encryption: #15512 * [x] Poly1305 authentication: #15519 * [x] Old ChaCha20Poly1305@Bitcoin cipher: #15649 * Preparing for multiple transport layers: * [x] #16202 * [x] #16562 * Fuzz tests for various components: * [x] #17771 * [x] #19296 * [x] #22029 * [x] #22704 * [x] #23806 * Miscellaneous fixes: * [x] #22331 * [x] #23271 * [x] ChaCha20 performance: #24946 * Superseded: * #14032 * #14046 * #14049 * #14050 * #18242 * #20962 * #23233 * #23322 * #23432 * #23441 * #23900 * #23561 * #24545 * #25361 </details>
This issue will be updated to reflect the current state of BIP324 integration.
PRs ready for review:
Overall plan:
CNodeobjects on reconnect: BIP324 integration #28331 (comment)V2Transportfor everything, dropping abstract class: BIP324 integration #28331 (comment)Older stuff:
Prehistory:
Superseded: