Bitshala / BitcoinCore-PR-Review-Club

Bitcoin Core PR Review Organising repo
10 stars 2 forks source link

[Part 2/2] Functional tests for v2 P2P encryption #24748 #48

Closed stratospher closed 6 months ago

stratospher commented 7 months ago

Session details

Learning

This is the 2nd part for a 2-part review club. The review club will focus on how PR #24748 modifies the functional test framework in order to make v2 transport protocol work for the python implementation of a node's peer.

Summary

Questions

  1. Describe how the initial v2 handshake works.
  2. How are inbound connections modified to support v2?
    • see where version msg get sent.
    • we need to call the v2 handshake functions before that.
  3. How are outbound connections modified to support v2?
    • see where version msg get sent.
    • we need to call the v2 handshake functions before that.
  4. Has the P2P message size reduced/increased in v2? Does order of sending P2P messages matter in v1/v2 P2P?
  5. Why does false advertisement of services which a node can support happen? What happens if we start doing initial v2 handshake with a node which doesn't support encrypted transport protocol? How is backward compatibility maintained?
rajarshimaitra commented 7 months ago

The summary for Part 1 of this club is documented here: https://github.com/Bitshala/BitcoinCore-PR-Review-Club/discussions/47