快捷搜索:  angelina  as  白皮书  贝壳  BCX  汉薇商城  vtoken  youbank

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个连接点。

  p1

  图1.1

  1.4 Kad通讯协议

  以太币Kad互联网中连接点间通信应用场景UDP,关键由下列好多个指令组成,若2个连接点间PING-PONG挥手根据,则觉得相对连接点免费在线。

  p2

  2 隔壁邻居连接点

  2.1 NodeTable类关键组员

  C++版本号以太币源代码中,NodeTable是以太币 P2P互联网的重要类,全部与隔壁邻居连接点有关的统计数据和方式 均由NodeTable类保持。

  p3

  p4​

  2.2 隔壁邻居连接点发觉方式

  隔壁邻居连接点就是指添加到K桶,并根据PING-PONG挥手的连接点。

  p5

  图2.1

  隔壁邻居连接点发觉步骤表明:

  系统软件初次起动任意转化成该机连接点NodeId,记作LocalId,转化成后将固定不动不会改变,当地连接点记作local-eth。

  系统软件载入公共性连接点信息内容,ping-pong挥手进行后,将其载入K桶。

  系统软件每过7200ms更新多次K桶。

  更新K桶步骤给出:

  a. 任意转化成总体目标连接点Id,记作TargetId,从1刚开始纪录发觉频次和更新時间。

  b. 测算TargetId与LocalId的间距,记作Dlt

  c. K桶中连接点的NodeId记作KadId,测算KadId与TargetId的间距,记作Dkt

  d. 找到K桶中Dlt超过Dkt的连接点,记作k桶连接点,向k桶连接点上传FindNODE指令,FindNODE指令包括TargetId

  e. K桶连接点接到FindNODE指令后,一样实行b-d的全过程,将从K桶中寻找的连接点应用Neighbours指令发回给该机连接点。

  f. 该机连接点接到Neighbours后,将接到的连接点载入到K桶中。

  g. 若检索频次不超出8次,更新時间不超出600ms,则回到到b流程循环系统实行。

  2.3 隔壁邻居连接点网络拓扑及更新体制。

  p6

  图2.2

  1 TargetId为任意转化成的虚似连接点ID。

  2 以太币Kad互联网与传统式Kad互联网的差别:

  以太币连接点在发觉隔壁邻居连接点的8次循环系统中,所搜索的节点均在间距上向任意转化成的TargetId收敛性。

  传统式Kad互联网发觉连接点时,在间距上向连接点自身收敛性。

声明:在币小子发布或转载的属于第三方区块链的信息,目的在于传递币圈更多信息,并不代表本网站赞同其观点和对其真实性负责,转载信息版权属于原媒体及作者。如其他媒体、网站或个人擅自转载使用,请自负版权等责任。

本文地址为: http://www.sxqxbj.cn/a/wenda/1818.html

你可能感兴趣的标签: