以太坊源码P2P网络及节点发现机制


目录

1 分布式网络介绍

1.1 Kad网介绍

1.2 Kad网络节点距离

1.3 K桶

1.4 Kad通信协议

2 邻居节点

2.1 NodeTable类主要成员

2.2 邻居节点发现方法

2.3 邻居节点网络拓扑及刷新机制。

 

1 分布式网络介绍

以太坊底层分布式网络即P2P网络,使用了经典的Kademlia网络,简称kad。


1.1 Kad网介绍

Kademlia在2002年由美国纽约大学的PetarP.Manmounkov和DavidMazieres提出,是一种分布式散列表(DHT)技术,以异或运算为距离度量基础,已经在BitTorrent、BitComet、Emule等软件中得到应用。

 

1.2 Kad网络节点距离               

以太坊网络节点距离计算方法:

 

  • Node1:节点1 NodeId

  • Node2:节点2 NodeId

 

1.3 K桶

Kad的路由表是通过称为K桶的数据构造而成,K桶记录了节点NodeId,distance,endpoint,ip等信息。以太坊K桶按照与target节点距离进行排序,共256个K桶,每个K桶包含16个节点。

 

图1.1

 

1.4 Kad通信协议

    以太坊Kad网络中节点间通信基于UDP,主要由以下几个命令构成,若两个节点间PING-PONG握手通过,则认为相应节点在线。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学习很重要的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值