摘要
近年来,区块链技术的兴起推进着社会中各行各业的发展。根据应用背景不同将区块链分为三种:公有链、联盟链和私有链,其中联盟链的发展最为迅速。联盟链中若干机构共同参与管理,数据的读写和发送交易的操作只允许被系统认可的节点进行。同时联盟链通过分布式记录交易数据,极大程度上解决了各机构合作时伴随的数据隐私性及安全性问题。实用拜占庭容错(PBFT)共识算法是联盟链的核心技术,存在动态性缺乏和拜占庭节点处理方式不足问题,同时算法的通信开销和网络时延也较大。本文提出了相关的优化方案及应用研究,主要内容如下: (1)本文提出基于积分机制-动态增删节点的实用拜占庭容错共识算法(DT-PBFT)。首先引入动态加入/退出机制使集群内节点可以按需自由的加入/退出,具有较强的灵活性;其次增加信用积分制,通过分层机制将节点按可信任程度分为备用主节点层、中间层、警告层和清理层,采取较高的惩罚度机制降低节点连续作恶的可能性,从而保证最优主节点可从备用主节点层优先选择,大大提高共识率。同时将网络清理层中的拜占庭节点剔除,提高算法的运行效率;最后通过优化一致性协议对共识流程进行优化,减少一轮全网节点的信息交互确认,极大程度上减少了通信开销。通过DT-PBFT、PBFT、DGPBFT及DDBFT算法的对比实验,从吞吐量、时延,交易请求完成率以及CPU的利用率等多方面对比验证,证明本文所提DT-PBFT算法在实际应用过程更具灵活性且更加高效,减少了对网络资源的消耗的同时节能性也得以提升。 (2)在实际遇到的弱网环境下,现有的拜占庭容错共识算法由于丢包现象存在共识效率低、通信开销大的问题,导致PBFT算法共识性能较差。因此本文提出了基于弱网络下信息交互的实用拜占庭容错优化算法(IPBFT)。首先IPBFT的密钥交换协议使得网络达到更好的链内信任;其次IPBFT在Prepare阶段和Commit阶段的消息传递过程中增加其他节点的应答消息,使当前节点可直接处理各种消息,不需从其他节点上获取,有效防止重复丢包的现象,拓宽了算法的应用场景。实验结果表明:与PBFT相比,本文提出的IPBFT增加了共识阶段的信息交互,在弱网络环境下平均交易时延从277ms降低到216ms,平均吞吐量从271TPS提高到345TPS。 (3)现阶段的交易渠道无法灵活适应市场的快速变动,其实质是因为供销无法完成动态的调配交易,此问题通过区域内组建区块链网络得到有效解决。基于上述背景,为解决局部地区的大型农业个体和农副市场间的安全高效交易问题,本文结合DT-PBFT和IPBFT共识机制,提出一种区域内农产品交易应用方案。应用方案中详细介绍了整体设计和应用场景,并结合实际应用设计线下交易分配层和交易上链层。最终,应用方案保障了交易数据的真实可靠性,提高了市场的运营管理效率,有助于加快构建一个有序的农产品交易体系。