## Using non-default ports for automatic connections in Bitcoin P2P network
ISPs can block default port 8333 used by Bitcoin nodes. One example: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-September/010798.html While it would still be possible for crawlers and scanners to know about bitcoin nodes listening on non-default ports using other methods, it can be helpful in lot of countries that use basic things to block: domain, port etc. In October 2021 a [pull request][1] was merged in Bitcoin Core in which lot of contributors agreed to allow non default ports for automatic connections. It did not implement everything, was limited to discussing the concept and allow AddrMan to support multiple ports per IP. It was followed by another [pull request][2] in November 2021 which is still open and makes most of the changes required for non-default ports to work with automatic connections. I could not find any major issues with the changes however had some nits including a discussion on mailing list which was even requested by a few other reviewers. ===Things that I found during my review, research and testing=== 1.One user had posted about issues with default port 8333 on [bitcointalk][3] in July 2010. VMWare server also used port 8333 so an option was requested to change port. This option was added in [May 2011][4] by Gavin Andresen. Gavin has discussed this option and related issues in detail with others on [bitcointalk][5]. 2.I tried running signet for 1 hour v22.0 and 1 hour PR branch with debug=net. v22.0 had only 38333 port with different IPs in debug.log for connections. PR branch had 2 feeler connections with non-default ports 38331 and 13833. Note: Default ports used in Bitcoin Core are 8333(mainnet), 18333(testnet), 18444(regtest) and 38333(signet) 3.Wrote a [PowerShell script][6] and tested it on v22.0 and PR branch which bans all peers every 100 seconds using default port. It works as expected and I could see one peer using port 3111 on signet. 4.I am not sure about the 'bad ports' list in Bitcoin Core added in PR #23542 8333 in leet becomes 'beee' in plain text. Not sure if this was considered by Satoshi to hardcode 8333 for Bitcoin. [1]: https://github.com/bitcoin/bitcoin/pull/23306 [2]: https://github.com/bitcoin/bitcoin/pull/23542 [3]: https://bitcointalk.org/index.php?topic=322.0 [4]: https://github.com/bitcoin/bitcoin/pull/221 [5]: https://bitcointalk.org/index.php?topic=589.0 [6]: https://github.com/prayank23/bitcoin-ps-scripts/blob/main/Scripts/Node/ban_default_peers.ps1 -- Prayank A3B1 E430 2298 178F
_______________________________________________ bitcoin-dev mailing list bitcoin-dev@lists.linuxfoundation.org https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev