p2p authentication and encryption BIPs



Summary:

On March 23, 2016, Jonas Schnelli posted two draft versions of BIPs on Github. The drafts raised several questions and concerns from the bitcoin-dev community. One question was regarding the encryption of non-pre-approved connections. Additionally, SSL encryption was recently removed from the JSON interface and some members were curious about how to implement encryption without OpenSSL. A suggestion was made to connect a wallet to a node using one of the other connection methods instead of using p2p code, which would avoid changes in the bitcoin protocol for a specific use case. It was also suggested that per-message encryption may not be ideal as smaller messages with predictable content could be matched to unencrypted versions, making them vulnerable to statistical attacks. Another concern raised was the implementation of a system that would ignore peers after 5 unsuccessful authentication tries to prevent resource attacks. However, this system could itself be open to resource attacks and it was questioned why 5 attempts were chosen. Finally, it was noted that while Schnelli wrote that "the complete communication must be hashed", every message has a hash of the state until it reaches that point. This prompted a request for further explanation on how this works specifically.


Updated on: 2023-06-11T04:34:46.923561+00:00