BIP324 tracking issue #27634

issue sipa openend this issue on May 12, 2023
  1. sipa commented at 7:00 am on May 12, 2023: member

    This issue will be updated to reflect the current state of BIP324 integration.

    PRs ready for review:

    Overall plan:

    • ElligatorSwift integration in Bitcoin Core (formerly 23432, 23561)
      • Dependency: Jacobi symbol support in libsecp256k1: bitcoin-core/secp256k1#979
      • Dependency: ElligatorSwift support in libsecp256k1: bitcoin-core/secp256k1#1129
      • Dependency: update libsecp256k1 subtree: currently part of 27479.
      • Main feature: #27479
    • Cipher suite implementation (formerly 25361):
      • Dependency: support for not wasting ChaCha20 stream bytes: #26153
      • Dependency: support for RFC8439 variant of ChaCha20: #27985
      • Dependency: support for incremental Poly1305 computation: #27993
      • Main feature: #28008
      • Follow-up: #28267
      • Follow-up: #28263
    • P2P v2 connection support (formerly 25361, 23233, 24545):
      • Dependency: P2P transport abstraction: #28165
      • Main feature: #28196
      • Follow up: #28433
      • Bugfix: #28489
      • Follow up: BIP change: #28525
      • Follow up: BIP change: #28577
      • Potential follow-up: decide how to report handshake/decoy bytes in per-message stats: #28331 (comment)
    • P2P v2 signalling/integration (formerly 24545):
      • Main feature: #28331
      • Follow up test: #28588
      • Follow up: make all functional tests compatible with v2: #28805
      • Potential follow-up: integrated connect/add/reconnect logic: #28331 (review)
      • Potential follow-up: reuse CNode objects on reconnect: #28331 (review)
      • Potential follow-up: use V2Transport for everything, dropping abstract class: #28331 (review)
      • Enable V2 by default: #29347
    • BIP324 functional tests:
      • Dependency: ElligatorSwift support in functional tests: #24005
      • Dependency: Field element support in functional tests: #26222
      • Dependency: Python cryptography #28374
      • Main feature: #24748
    • P2P_V2 service flag support in DNS seeder:
      • Main feature: sipa/bitcoin-seeder#102
  2. fanquake pinned this on May 26, 2023
  3. achow101 referenced this in commit b4794740f8 on Jul 12, 2023
  4. sidhujag referenced this in commit 4adf185bcf on Jul 12, 2023
  5. bitcoin deleted a comment on Jul 17, 2023
  6. achow101 referenced this in commit 306157ae92 on Jul 17, 2023
  7. sidhujag referenced this in commit 177a9921d0 on Jul 19, 2023
  8. fanquake referenced this in commit b2ec0326fd on Aug 10, 2023
  9. fanquake commented at 1:17 pm on August 10, 2023: member

    Review comments from #28008 that could be incorporated into future changes:

  10. fanquake referenced this in commit 1fa6411dde on Aug 24, 2023
  11. fanquake referenced this in commit 4e1a38c6df on Sep 8, 2023
  12. Frank-GER referenced this in commit b01bfa3cae on Sep 8, 2023
  13. Frank-GER referenced this in commit 087e38b9a5 on Sep 8, 2023
  14. real-or-random commented at 10:22 am on September 27, 2023: contributor
    @sipa Want to add an item for mentioning BIP324 in https://github.com/bitcoin/bitcoin/blob/master/doc/bips.md?
  15. sipa commented at 2:04 pm on September 27, 2023: member
  16. fanquake referenced this in commit 6f882e6f86 on Oct 3, 2023
  17. vasild commented at 9:44 am on October 3, 2023: contributor

    Minor thing that was missed, can be included in some of the followups:

     0diff --git i/src/net.cpp w/src/net.cpp
     1index 6b2ef5f43d..5b0efc16aa 100644
     2--- i/src/net.cpp
     3+++ w/src/net.cpp
     4@@ -812,13 +812,13 @@ const uint256& V1Transport::GetMessageHash() const
     5 
     6 CNetMessage V1Transport::GetReceivedMessage(const std::chrono::microseconds time, bool& reject_message)
     7 {
     8     AssertLockNotHeld(m_recv_mutex);
     9     // Initialize out parameter
    10     reject_message = false;
    11-    // decompose a single CNetMessage from the TransportDeserializer
    12+    // decompose a single CNetMessage from the Transport class
    13     LOCK(m_recv_mutex);
    14     CNetMessage msg(std::move(vRecv));
    15 
    16     // store message type string, time, and sizes
    17     msg.m_type = hdr.GetCommand();
    18     msg.m_time = time;
    19@@ -3724,13 +3724,13 @@ void CNode::MarkReceivedMsgsForProcessing()
    20 {
    21     AssertLockNotHeld(m_msg_process_queue_mutex);
    22 
    23     size_t nSizeAdded = 0;
    24     for (const auto& msg : vRecvMsg) {
    25         // vRecvMsg contains only completed CNetMessage
    26-        // the single possible partially deserialized message are held by TransportDeserializer
    27+        // the single possible partially deserialized message are held by Transport class
    28         nSizeAdded += msg.m_raw_message_size;
    29     }
    30 
    31     LOCK(m_msg_process_queue_mutex);
    32     m_msg_process_queue.splice(m_msg_process_queue.end(), vRecvMsg);
    33     m_msg_process_queue_size += nSizeAdded;
    
  18. achow101 unpinned this on Oct 5, 2023
  19. achow101 referenced this in commit 3c63c2f324 on Jan 31, 2024
  20. sipa commented at 6:18 pm on February 4, 2024: member
    There are a few minor follow-ups to consider still, but I believe this issue can be closed. Thanks everyone for getting us this far!
  21. sipa closed this on Feb 4, 2024


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-11-21 12:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me