正在加载图片...
.1270 工程科学学报,第42卷,第10期 Bitcoin Ethereum Hyperledger 含约层(脚本) Language Bitcoin script Solidty/Vyper Go/Java Contact layer (Script) Runtime Bitcoin script engine EVM Docker environment 交易层(交易) Transaction layer Merkel tree、 Merkel patricia tree. Leveldb、 (Transaction) block linkedlist block linkedlist block linkedlist 共识层(区块) Consensus layer PoW PoW/PoS Solo/Kafka/PBFT (Block) 网络层(数据报文) Network layer P2P network (Data message) 图1区块链框架 Fig.I Blockchain framework 先节点会通过“种子”得到对等节点P列表.节点 及预期效果,同时,给出了区块链系统的测评结 间通常采用TCP协议与相邻节点建立连接,建立 果,可以看出,除第②、③、④、⑧测评项通过外, 连接时也会有认证“握手”的通信过程用来确定 其他5项均未达到等保三级要求 P2P协议版本、软件版本、节点P、区块高度等 4共识机制测评 为了能够被更多节点发现,新节点会将带有自身 IP地址的信息发送给相邻节点,并要求其返回其 共识机制3-24是区块链系统成员节点在对区 已知的对等节点的P地址列表 块链的操作(如建块、交易验证等)上达成一致确 表3列举了针对区块链中分布式对等网络的 认的方式.由于区块链是去中心化分布式系统,没 测评标准,并对身份鉴别、软件容错、资源控制、 有中心化记账节点确保每笔交易在所有节点上的 数据完整性、审计等五个类别逐项对区块链P2P 记录一致,因此共识机制的作用就是实现区块链 网络P1-四进行了分析.测评项包括:①节点接入控 各节点之间的数据一致性和操作同步性,它是区 制,②自我保护与自适应,③并发连接限制,④连 块链系统的关键技术之一, 接超时限制,⑤单播通讯防篡改,⑥广播通信防篡 现有的主流共识技术主要有工作量证明 改,⑦转发通信防篡改,⑧网络状态获取更新和 (PoW)26-2刃、拜占庭容错共识(PBFT)28-29、权益证 ⑨网络节点动态监测 明(PoS)B0和授权权益证明(DPoS)B等.采用了 值得说明的是,已建立连接的节点会定期发 PoW协议的区块链,它适用于较大规模网络,也是 送信息维持连接,如果某个节点长达90min没有 至今为止最成熟的共识协议.与之相比,PBFT则 通信,则结束会话.P2P网络节点连接不超过117 更适用于小型的全连通网络.区块链可根据需求 个输入连接,向其他节点发起8个输出连接,超过 并结合实际情况(如节点数量、容错性、性能效率 数量的P地址会被忽略 等指标)选择适合的共识算法.本节将对PoW协 比特币采用P2P网络,每个节点邻接边数为 议予以测评. 8,如图2(a)所示我们测量了近3个月时间内比特 共识机制的测评以共识算法的资源耗费和共 币网络规模的变化情况,可以看出,目前该网络规 识所达到的效果两方面为核心,测评项主要包括 模可达60万个节点,大约需要7~10次转发可实 共识资源控制、备份与恢复、共识效果三方面,具 现交易的全网广播,由图2(b)可知,2009年之后网 体包括:①共识资源控制,②实时备份,③系统热 络规模呈增长趋势,因此对P2P网络的要求日益 冗余,④共识容错性,⑤共识有效性和⑥共识结果 严格 一致性 区块链网络测评需要对网络规模、节点地理 PoW的共识过程如图3所示,其目标是所有 分布、节点中断可用性方面的网络稳定性以及有 节点共同建立包含最近交易的新区块,共识主要 关传输信息、传播时间等数据进行收集与分析,并 分为交易收集、候选区块创建、工作量证明(挖 总结区块链对等网络的实际使用情况,完成测评 矿)、广播区块、区块组装到链和交易回收几个 工作.表3中提供了针对每个测评项的实施方法 阶段,并由通常的区块链节点(交易节点)与矿工先节点会通过“种子”得到对等节点 IP 列表. 节点 间通常采用 TCP 协议与相邻节点建立连接,建立 连接时也会有认证“握手”的通信过程用来确定 P2P 协议版本、软件版本、节点 IP、区块高度等. 为了能够被更多节点发现,新节点会将带有自身 IP 地址的信息发送给相邻节点,并要求其返回其 已知的对等节点的 IP 地址列表. 表 3 列举了针对区块链中分布式对等网络的 测评标准,并对身份鉴别、软件容错、资源控制、 数据完整性、审计等五个类别逐项对区块链 P2P 网络[21−22] 进行了分析. 测评项包括:①节点接入控 制,② 自我保护与自适应,③并发连接限制,④连 接超时限制,⑤单播通讯防篡改,⑥广播通信防篡 改,⑦转发通信防篡改,⑧网络状态获取更新和 ⑨网络节点动态监测. 值得说明的是,已建立连接的节点会定期发 送信息维持连接,如果某个节点长达 90 min 没有 通信,则结束会话. P2P 网络节点连接不超过 117 个输入连接,向其他节点发起 8 个输出连接,超过 数量的 IP 地址会被忽略. 比特币采用 P2P 网络,每个节点邻接边数为 8,如图 2(a)所示我们测量了近 3 个月时间内比特 币网络规模的变化情况,可以看出,目前该网络规 模可达 60 万个节点,大约需要 7~10 次转发可实 现交易的全网广播,由图 2(b)可知,2009 年之后网 络规模呈增长趋势,因此对 P2P 网络的要求日益 严格. 区块链网络测评需要对网络规模、节点地理 分布、节点中断可用性方面的网络稳定性以及有 关传输信息、传播时间等数据进行收集与分析,并 总结区块链对等网络的实际使用情况,完成测评 工作. 表 3 中提供了针对每个测评项的实施方法 及预期效果,同时,给出了区块链系统的测评结 果,可以看出,除第②、③、④、⑧测评项通过外, 其他 5 项均未达到等保三级要求. 4    共识机制测评 共识机制[23−24] 是区块链系统成员节点在对区 块链的操作(如建块、交易验证等)上达成一致确 认的方式. 由于区块链是去中心化分布式系统,没 有中心化记账节点确保每笔交易在所有节点上的 记录一致,因此共识机制的作用就是实现区块链 各节点之间的数据一致性和操作同步性,它是区 块链系统的关键技术之一. 现有的主流共识技术[25] 主要有工作量证明 (PoW) [26−27]、拜占庭容错共识(PBFT) [28−29]、权益证 明(PoS) [30] 和授权权益证明(DPoS) [31] 等. 采用了 PoW 协议的区块链,它适用于较大规模网络,也是 至今为止最成熟的共识协议. 与之相比,PBFT 则 更适用于小型的全连通网络. 区块链可根据需求 并结合实际情况(如节点数量、容错性、性能效率 等指标)选择适合的共识算法. 本节将对 PoW 协 议予以测评. 共识机制的测评以共识算法的资源耗费和共 识所达到的效果两方面为核心,测评项主要包括 共识资源控制、备份与恢复、共识效果三方面,具 体包括:①共识资源控制,②实时备份,③系统热 冗余,④共识容错性,⑤共识有效性和⑥共识结果 一致性. PoW 的共识过程如图 3 所示,其目标是所有 节点共同建立包含最近交易的新区块,共识主要 分为交易收集、候选区块创建、工作量证明(挖 矿[32] )、广播区块、区块组装到链和交易回收几个 阶段,并由通常的区块链节点(交易节点)与矿工 Bitcoin Ethereum Hyperledger Solidty/Vyper Go/Java Docker Leveldb、 block linkedlist Merkel patricia tree、 block linkedlist Merkel tree、 block linkedlist PoW P2P network Runtime environment 含约层(脚本) Language Contact layer (Script) 交易层(交易) Transaction layer (Transaction) 共识层(区块) Consensus layer (Block) 网络层(数据报文) Network layer (Data message) PoW/PoS Solo/Kafka/PBFT Bitcoin script Bitcoin script engine EVM 图 1    区块链框架 Fig.1    Blockchain framework · 1270 · 工程科学学报,第 42 卷,第 10 期
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有