一直认为 p2p 网络是去中心化的,但这是一种错误的认知。

HOW P2P

参考 https://stackoverflow.com/questions/310607/peer-to-peer-methods-of-finding-peers

一般的 P2P 网络(such as Gnutella or Gnutella2, or the simpler Overnet),,默认初始化的时候,都有一些 peers 来进行通讯,然后再通过初始化的这些节点,进一步发现全网的节点。

这也就意味着,此类架构还是在一定程度上依赖了中心化的节点进行。

如果想做到真正的去中心化,至少从网络层面,只有两种方案:

  1. 广播,然后等待回复

  2. 全网扫描,这种方式现如今已经被滥用了。

可行的其他方案

DNS seeds

  • @see https://bitcoin.stackexchange.com/questions/14371/what-is-a-dns-seed-node-vs-a-seed-node
  ~ nslookup dnsseed.bluematt.me 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
dnsseed.bluematt.me	canonical name = x1.dnsseed.bluematt.me.
Name:	x1.dnsseed.bluematt.me
Address: 91.248.193.30
Name:	x1.dnsseed.bluematt.me
Address: 188.98.17.68
Name:	x1.dnsseed.bluematt.me
Address: 31.31.117.133
Name:	x1.dnsseed.bluematt.me
Address: 85.214.53.227
Name:	x1.dnsseed.bluematt.me
Address: 200.122.181.46
Name:	x1.dnsseed.bluematt.me
Address: 78.203.236.19
Name:	x1.dnsseed.bluematt.me
Address: 13.58.141.17
Name:	x1.dnsseed.bluematt.me
Address: 203.132.93.250
Name:	x1.dnsseed.bluematt.me
Address: 100.15.218.194
Name:	x1.dnsseed.bluematt.me
Address: 78.137.40.49
Name:	x1.dnsseed.bluematt.me
Address: 1.172.89.111
Name:	x1.dnsseed.bluematt.me
Address: 47.23.149.218
Name:	x1.dnsseed.bluematt.me
Address: 47.242.94.19
Name:	x1.dnsseed.bluematt.me
Address: 87.229.72.112
Name:	x1.dnsseed.bluematt.me
Address: 50.104.91.7
Name:	x1.dnsseed.bluematt.me
Address: 83.243.191.199
Name:	x1.dnsseed.bluematt.me
Address: 217.197.91.175
Name:	x1.dnsseed.bluematt.me
Address: 186.61.154.145
Name:	x1.dnsseed.bluematt.me
Address: 86.161.235.18
Name:	x1.dnsseed.bluematt.me
Address: 189.35.28.183
Name:	x1.dnsseed.bluematt.me
Address: 188.112.145.230