比原链P2P分布式网络层

释放双眼,带上耳机,听听看~!

比原链P2P分布式网络层的架构图

比原链P2P分布式网络层

p2p分布式架构

比原链作为一个去中心化的分布式系统,其底层个体间的通信机制对整个系统的稳定运行十分重要。个体间的数据同步、状态更新都依赖于整个网络中每个个体之间的通信机制。比原链的网络通信基于P2P通信协议,又根据自身业务的特殊性做了特别的设计。比原链的P2P分布式网络,主要分为四大部分:节点发现、区块同步、交易同步和快速广播。

  1. 节点发现
    P2P节点发现主要解决新加入网络的节点如何连接到区块链网络中。新加入的节点能够快速地被网络中其他的节点感知;同时节点自己也能够获得其他节点的信息,与其通信交换数据。比原链中的节点发现使用的是Kademlia算法实现的节点发现机制。Kademlia算法实现是一个结构化的P2P覆盖网络,每个节点都有一个全网唯一 的标识,称为Node ID。Node ID被分散地存储在各个节点上。Kademlia将发现的节点存储到k桶(k-bucket) 中,每个节点只连接距离自己最近的n个节点。以此形成的网络拓扑结构如下图所示。

    比原链P2P分布式网络层

    p2p网络括扑架构

     

  2. 区块同步
    区块链是一种去中心化的分布式记账系统,全节点需要保存完整的区块信息。当一个节点加入到网络之后,需要做的第一件事情就是同步区块,构建完整的区块链。新加入的节点需要与网络中其他节点同步,从高度为1的区块开始到当前全网的最高高度,这样才能构建成一条完整的区块链。
    节点启用快速功能时,同步节点每次最多能够同步1 ~ 128个区块(当前高度到下一个checkpoint高度的区块)信息。除了快速同步算法之外,还有普通同步算法。节点主要使用普通同步算法同步网络中较新的区块信息。普通同步算法主要为了保证节点中的区块信息不落后,能够及时同步新挖掘的区块。
    普通同步和快速同步的区别是快速同步使用get headers批量获取区块,使用checkpoint的验证来避免PoWI作量验证,从而能极大提高速度;普通同步- -次只能获取一 个区块。
    快速同步和普通同步可以解决不同场景的需求。快速同步使节点能够快速地重建区块链信息,快速地加入到网络中,这是通过新块广播实现的。在不满足快速同步条件时,则用普通同步,每次同步时请求一个区块。
  3. 交易同步
    比原链网络为了保证交易的安全,每一笔交易达成后, 节点需要将交易信息同步到网络中其他的节点,这个过程称作交易同步。交易同步验证的目的是保证安全性,当交易同步到网络中的其他的节点时,节点会验证交易是否合法,只有当交易合法,节点才会将交易写入自己的交易池中。另一方面,同步交易可以将交易同步到更多的节点,交易可以更快地被打包到区块中。
  4. 快速广播
    为了保证交易信息能够及时被确认和提交到主链上,比原链提供了快速广播。对于接收到的新区块和新交易信息,网络中的节点会快速广播到当前节点已知的其他节点。

人已赞赏
SEO优化

公链架构_比原链各模块功能与应用

2019-11-11 17:18:49

SEO优化

SEO上排名

2020-2-26 16:37:03

⚠️
本平台上的部份文章来源于互联网,仅供网友学习交流,未经本平台作者许可或上传书面授权,请勿作他用。
若您的权利被侵害,请联系客服 QQ: 2425546468 或 点击右侧 私信:客服编辑 反馈,我们将尽快处理。
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索
error: Content is protected !!