比特币代码分析4 节点发现机制
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,当程序第一启动时,它并不知道任何活跃节点的ip地址。为了发现一些全节点的ip地址,他们会查询硬编码在比特币内核或BitCoinJ中的,一个或多个DNS域名,在返回的结果中应该包含一个或多个DNS A记
千家信息网最后更新 2026年10月31日比特币代码分析4 节点发现机制
当程序第一启动时,它并不知道任何活跃节点的ip地址。为了发现一些全节点的ip地址,他们会查询硬编码在比特币内核或BitCoinJ中的,一个或多个DNS域名,在返回的结果中应该包含一个或多个DNS A记录,里面有一些可接受新连接的全节点的ip地址。
DNS 种子由比特币社区成员维护。其中一部分提供动态DNS种子服务器,它通过扫描比特币网络,自动获取活动节点的ip地址;其他的提供一些静态DNS种子,这需要手动更新,不过他们很有可能提供不活跃节点的ip地址。不管是动态的,还是静态的DNS种子,如果节点在主网上运行在端口号8333,或在测试网络运行在端口号18333,就会被加入到DNS种子。
DNS种子结果没有被授权,一个恶意的DNS种子运营者或网络中间人能返回仅被自己控制的节点的ip地址,在自己的网络中,孤立节点,并给他们假的交易,区块数据。因为这个原因,程序不应该只依赖一个DNS种子。
然而,节点通常会离开网络或者改变ip地址,这样程序在启动时,在需要多次尝试才有可能连接到比特币网络。这了会增加连接到比特币网络的延迟时间,使得用户在发送交易或检查支付状态前,不得不等待一段时间。
为避免这种延迟,BitcoinJ总是使用动态DNS种子,来获取那些被确定为活跃节点的IP地址。比特币处内核也尝试在降低延迟,避免使用不必要的DNS节点中权衡。如果比特币内核在它的节点数据库中有记录,它就会用11秒时间去连接至少其中一个节点,失败后,才使用DNS节点获取ip地址;如果在11秒内成功建立连接,则不在向DNS种子查询。
节点
种子
地址
网络
内核
动态
时间
程序
延迟
口号
多个
数据
结果
静态
交易
尝试
查询
运行
成功
中间人
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
手冲咖啡和咖啡机区别
广州淘业互联网络科技
河南云网互联网络科技有限公司
深圳齐家互联网科技
沃里互联网科技
互联网高科技企业
哈尔滨秒房互联网科技有限公司
厦门比较好的科技互联网公司
港股科技和互联网
互联网还是高科技吗
玉溪互联网科技怎么选
辽宁互联网新科技
互联网在线教育科技创业
互联网方面的科技前沿
伍佰万互联网科技怎么赚钱
美国互联网科技公司
容联科技互联网电商
高科技和互联网的现代国家
知域互联网科技有限公司官网
广州淘业互联网络科技
互联网科技工作委员会副主任毛军
美国互联网保险保险科技
互联网科技会
互联网科技实习生岗位职责
互联网金融中的现代科技
互联网科技与大数据专业
恒生互联网科技业指数调整周期
科技互联网的核心竞争力
福仕德教育科技互联网