Raft 协议 - Fabric( 三 )


如果一个排序节点宕机,它如何在重新启动时获得它丢失的日志?
虽然可以无限期地保留所有日志,但是为了节省磁盘空间,Raft 使用了一个称为 “快照” 的过程,在这个过程中,用户可以定义日志中要保留多少字节的数据 。这个数据量将决定区块的数量(这取决于区块中的数据量 。注意,快照中只存储完整的区块) 。
例如,假设滞后副本 R1 刚刚重新连接到网络 。它最新的区块是 100 。领导者 L 位于第 196 块,并被配置为快照 20 个区块 。R1 因此将从 L 接收区块 180,然后为区块 101 到 180 区块分发请求 。然后 180 到 196 的区块将通过正常 Raft 协议复制到 R1 。
论文分析 摘要
针对分布式raft区块链网络,通过量化分析,对区块大小、背书策略、代理 节点与区块链交易性能之间的定量关系进行了研究。
针对区块链性能的特点,提出一个名为区块生成速率 BLKPS的性能指标。
针对产生区块的时间条件,提出超时前最大交易次数这一性质,并发现,随着区块大小的增大,区块链交易性能提高,并在区块大小达到超时前最大交易次数后趋于稳定。
背书策略为 AND 与背书策略为 OR 相比,平均响应时间延长20%,区块生成速率与 每秒交易数均降低约 10% 。
代理 节点是 raft 的 节点与 节点相比,平均响应时间延长约16%,区块生成速率与每秒交易数均降低约 7% 。
1 引言
随着的不断发展,应用形式也更加多元化 ,但区块链的性能短板也不容忽视。区块链的 性能在一定程度上限制了其发展与应用,若要将基 于 区块链的应用进一步推广,务必要掌握其 性能特性。raft共识协议是 网络中容错性最 强的共识协议之一 。因此对于使用 raft 共识协议的区块链的性能探究具有非常重要的现 实意义 。
王旭等通过建立区块链性能的数学模型,研究区块大小、区块生成速率以及网络传输速率等因素与区块链性能和安全性之间的定量关系 。Noah等对移动网络仿真中的以太坊区块链进行了实验,探索了移动网络环境中区块链技术的性能 。El 等提出了一种-gent 系统,以操纵重复数据删除技术,该技术可以减少数据量,从而减少存储开销 。但现有的研究成果缺少针对分布式raft 网络性能影响因素的研究,其性能也表现得比较复杂 。因此本文针对网络架构,使用四台主机构建分布式区块链,采用raft共识协议,构建双机构,四个peer节点,三个节点,以每秒交易数、平均响应时间、区块生成速率为性能指标进行测试,研究单用户操作单信道的 raft网络性能 。通过改变区块大小、背书策略、代理节点对区块链的性能进行检测与分析,探究不同性能影响因素对性能的影响并深入分析 。
2 测试网络架构与方法 2.1 测试网络架构
本文采用分布式 raft区块链 。在raft集群中有、、三种角色 。最初所有节点都是,当超时后开始选举,所有节点变成 。在经过投票后,获得大多数选票的成为 。如果故障或在一定时间内没有对节点发送心跳,将重新选举产生 。因此,raft的节点并不是固定的,而是动态的 。
共使用四台主机,在主机上的节点部署情况如表1 。在主机A上运行测试程序 。
表1 网络节点分布
主机名IP地址节点主机信息主频
【Raft 协议 - Fabric】主机 A
192.168.1.170
64G 内存 40个核
2.40GHz x 40
主机 B
192.168.1.154
16G 内存 8个核
3.40GHz x 8
主机 C
192.168.1.177
8G 内存 4个核
3.20GHz x 4
主机 D
192.168.1.113
16G 内存 8个核
3.40GHz x 8
2.2 性能测试方法