据我所知,比特币是一种 p2p 协议P2P协议必须有一个专用的中央服务器 https://stackoverflow.com/questions/310607/peer-to-peer-methods-of-finding-peers。但据说比特币去中心化.
早在 2009 年,我们就依靠 IRC 来引导网络,因此每个节点都会连接到 Freenode(后来的 LFnet)并加入一个频道。他们的昵称是经过编码的公共 IP 地址。
如今,比特币核心客户端和许多其他实现都依赖于 DNS 种子。 DNS 种子是特殊的 DNS 服务器,配置为从网络返回许多随机选择的节点。 DNS 种子的运营商还运行爬虫程序来枚举种子将返回的公共可访问节点。
目前比特币核心客户端中包含的种子有:
- 比特币.sipa.be
- dnsseed.bluematt.me
- dnsseed.bitcoin.dashjr.org
- 种子.bitcoinstats.com
- bitseed.xf2.org
- 比特币.jonasschnelli.ch
如果您向这些服务器中的任何一个发送请求,它们将返回一些已知在端口 8333 上运行比特币的随机 IP:
dig seed.bitcoinstats.com +short
71.19.155.244
173.254.232.51
45.79.97.30
198.252.112.64
35.128.8.141
108.17.18.165
98.208.76.134
8.29.28.12
52.62.2.124
96.234.214.85
47.89.24.56
212.164.215.159
52.62.42.229
68.52.96.191
115.66.205.171
24.250.16.39
201.43.160.155
5.3.253.18
100.40.179.172
50.135.169.181
186.149.249.18
101.201.44.207
96.35.97.46
124.188.118.196
82.8.4.79
除了 DNS 种子之外,核心客户端还有一个静态 IP 列表 https://github.com/bitcoin/bitcoin/blob/master/src/chainparamsseeds.h首先尝试,它会将之前联系过的所有对等点缓存在本地数据库中,以便重新连接而无需查询 DNS 种子。
(免责声明:我是其中一个 DNS 种子的运营商)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)