网络通信

P2P网络作为节点之间共识和信息传递的通道,是趣链区块链平台(以下简称“平台”)的网络基础。

平台的P2P网络,主要采用传输层Transport与网络层Network解耦的方式,能够灵活应用其他传输协议,提高网络层的适用性和灵活性。

通信流程

整体通信流程如下图所示:

网络通信 - 图1

  • 网络传输层:用于身份认证密钥协商、协议版本协商、建立节点间加密通信连接
  • 逻辑网络层:用于维护子协议、子协议可以拥有自己的网络模块,不同子协议间的通信相互独立

节点类型

联盟链基于分布式节点进行协同运行管理,不同的节点在区块链上运行时可能会完成不同的任务,存在节点的多样性。平台根据链上节点不同的类型角色对节点类型进行了划分,并将不同类型的节点执行做了协同优化管理,Hyperchain的节点分为验证节点(VP)非验证节点(NVP)以及热备节点(CVP)

  • 验证节点(VP,Validate Peer):VP节点是区块链网络中参与共识验证的节点,平台赋予VP节点绝对的投票权,并且拥有全量的数据
  • 非验证节点(NVP,Non-Validate Peer):NVP节点在区块链网络中不参与共识验证,仅参与账本记账,需要依附VP节点来保证与全网状态的最终一致性。同时平台赋予NVP节点完善的状态恢复机制,可以很好的为上层提供读写分离服务
  • 热备节点(CVP,Candidate VP):CVP节点是区块链网络中共识验证的节点的热备节点,它依附于VP节点存在,可动态替换该VP节点,且不影响整个网络

转发策略

平台采取多种节点网络转发策略,支持全连接转发策略以及自发现转策略,两种转发策略针对不同的应用场景。

网络通信 - 图2

  • 全连接转发策略:采取全连接双向通信的方式,节点统一配置、高效转发、并发能力强
  • 自发现转发策略:通过自适应路由进行网络自发现,并支持跨域转发,这样做会简化节点的网络配置同时动态调整,实现跨域通信

流控机制

平台可根据业务需要对允许进入区块链系统的流量进行人为控制,当系统流量超过系统设置的上限,将对超过部分进行拒绝接收。目的是为了防止网络通信过程中因大量无用交易请求占用了节点处理时间,而耽误其他交易以加强系统在满足业务要求的前提下保证系统的安全性。