适应交易量动态变化的异步共识方法及系统技术方案

技术编号:34608930 阅读:30 留言:0更新日期:2022-08-20 09:14
本申请公开了一种适应交易量动态变化的异步共识方法及系统,主要为基于里德

【技术实现步骤摘要】
适应交易量动态变化的异步共识方法及系统


[0001]本申请涉及信息安全和电子商务
,特别涉及一种适应交易量动态变化的异步共识方法及系统。

技术介绍

[0002]在分布式系统中,拜占庭故障节点的任意行为可能给系统带来严重的破坏。为了让分布式系统能够在拜占庭故障存在时正常运行,学术界提出了诸多拜占庭容错协议。异步原子广播是一种高层次的拜占庭容错协议,旨在使异步系统中的节点对连续广播的消息形成一致的顺序,通常作为共识协议应用于区块链系统中。
[0003]HoneyBadger协议是首个实用的异步原子广播协议。在HoneyBadger中,每个节点启动一个异步可靠广播实例,从缓冲区中选取固定批量的交易打包成批处理集,将其使用门限加密技术加密后,通过异步可靠广播实例广播给其他节点。随后,系统中的所有节点运行n个异步二元协定实例,一致选择至少n

f个批处理集进行门限解密,将这些批处理集按字典序排序后,作为当前区块的交易内容。每个异步可靠广播实例的通信复杂度为O(nl+λn2log n),每个异步二元协定实例的通信复杂度为O(λn2),因此HoneyBadger协议总的通信复杂度为O(n2l+λn3log n)。其中l为批处理集大小,λ为安全参数,n为节点数量,f为系统中最大恶意节点的数量。较高的通信复杂度使得HoneyBadger协议难以平衡吞吐量和延迟,也难以应用于大规模的分布式系统。
[0004]为了进一步将异步共识协议从理论推向实际,近年来学者们致力于研究降低异步共识协议的延迟,提高其吞吐量。但现有研究方案仍面临两个问题。
[0005]第一是通信复杂度过高的问题。现有的异步共识协议不再采用异步二元协定作为核心组件,而是基于异步多元可验证协定设计,将随机化组件的个数由O(n)级别降到了常数级,实现了O(1)的时间复杂度。但现有方案仍未完全摆脱使用抹除码保证协议安全性的设计思想,导致通信复杂度仍为O(n2l+λn3log n),冗余信息项(λn3log n)仍高于有效载荷项(n2l)一个数量级,通信的冗余开销较大。
[0006]第二是应用场景受限的问题。一种均摊通信冗余开销的方案是增大批处理集中包含的交易量,当l>λn log n时可认为共识每个交易的通信开销是线性的。然而,若采用这种处理方法,只有当缓冲区中有足够交易时才会驱动共识协议,这将增加交易在缓冲区中的等待延迟。另一方面,增大批处理集也将增加区块大小,每个区块中交易的顺序采用字典序排序,这将降低交易排序的因果性。因此,现有方案只适用于交易量相对恒定且充足,对交易顺序不敏感的应用场景。

技术实现思路

[0007]本申请提供一种适应交易量动态变化的异步共识方法及系统,以解决相关技术通信复杂度过高以及应用场景受限等问题。
[0008]本申请第一方面实施例提供一种适应交易量动态变化的异步共识方法,包括以下
步骤:广播阶段:发送客户端的交易至网络节点,并将所述交易存入所述网络节点的缓冲区,通过动态批处理技术将所述网络节点缓存的交易打包成批处理集,将所述批处理集加密后生成提议并广播至所有网络节点;
[0009]共识阶段:计算所述网络节点收到提议的门限签名份额,生成投票消息返回给所述提议对应的发送节点,将返回的所有投票消息中的签名份额聚合成一个完整的签名,构造凭证消息,将所述凭证消息广播至所有网络节点,在节点收到预设数目的凭证消息后启动异步多元可验证协定实例,输出三元组集合;
[0010]恢复阶段:根据所述三元组集合,对所述提议进行筛检,针对未收到的共识提议广播请求消息,收到请求消息的网络节点根据自身是否拥有所述请求消息中所请求的共识提议,分别构造强恢复消息和弱恢复消息发送至所述请求消息对应的网络节点,使用里德

所罗门纠错码在线重构算法对所述强恢复消息和所述弱恢复消息中的编码片段进行解码,恢复出未收到的共识提议,计算共识提议的解密份额,并广播给其他网络节点,利用预设数量的解密份额解密共识提议,将包含的交易按字典序排序后构成当前周期的区块,在交易缓冲区中删除交易,向所述客户端返回交易确认信息,进入下一周期。
[0011]可选地,在本申请的一个实施例中,所述通过动态批处理技术将所述网络节点缓存的交易打包成批处理集,将所述批处理集加密后生成提议并广播至所有网络节点,包括:在每个共识周期开始,所述网络节点根据当前缓冲区的缓存的交易数量,随机选择预设比例的交易打包成所述批处理集,使用门限加密公钥加密所述批处理集,生成所述提议并广播至所有网络节点。
[0012]可选地,在本申请的一个实施例中,所述共识阶段进一步包括:计算所述网络节点收到提议的哈希值,使用门限签名私钥生成所述哈希值的门限签名份额,构造所述投票消息,将所述投票消息发送给所述提议对应的发送节点;使用签名聚合技术将所述网络节点收到的投票消息中的签名份额聚合成一个完整的签名,构造所述凭证消息,并将所述凭证消息广播至所有网络节点;在所述网络节点收到所述凭证消息后,验证所述凭证消息中签名的有效性,在验证通过时,将相应发送节点序号、消息中的提议哈希值以及签名保存为三元组,将多个三元组作为输入,启动异步多元可验证协定实例,输出一致的三元组集合。
[0013]可选地,在本申请的一个实施例中,所述恢复阶段进一步包括:根据所述三元组集合,检查是否已经收到所述三元组集合中所对应的所有共识提议,在没有时,等待其他节点广播的提议消息,直到未收到的共识提议数量小于等于预设数目,将所述预设数目的未收到的共识提议对应的节点序号通过请求消息广播出去;在所述网络节点收到所述请求消息后,检查自身是否拥有所述请求消息中所请求的共识提议,对于自身拥有的共识提议,使用里德

所罗门纠错码进行编码,构造所述强恢复消息发送至请求节点,对于自身没有的共识提议,所述网络节点等待从其他节点收到所述强恢复消息后,构造所述弱恢复消息发送至请求节点;在所述网络节点收到所述强恢复消息和所述弱恢复消息后,使用里德

所罗门纠错码在线重构算法,进行编码片段解码,恢复出未收到的共识提议;在所述网络节点收到或恢复出所述三元组集合中所对应的所有共识提议后,使用自身的门限加密私钥计算解密份额,广播至所有网络节点,利用所述解密份额解密所有共识提议,并将包含的交易按字典序列排序后构成本周期的区块,在所述交易缓冲区中删除对应的交易,向所述客户端返回交易确认信息,进入下一周期。
[0014]本申请第二方面实施例提供一种适应交易量动态变化的异步共识系统,包括:广播模块,用于发送客户端的交易至网络节点,并将所述交易存入所述网络节点的缓冲区,通过动态批处理技术将所述网络节点缓存的交易打包成批处理集,将所述批处理集加密后生成提议并广播至所有网络节点;
[0015]共识模块,用于计算所述网络节点收到提议的门限签名份额,生成投票消息返回给所述提议对应的发送节点,将返回的所有投票消息中的签名份额聚合成一个完整的签名,构造凭证消息,将所述凭证消息广本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种适应交易量动态变化的异步共识方法,其特征在于,包括以下步骤:广播阶段:发送客户端的交易至网络节点,并将所述交易存入所述网络节点的缓冲区,通过动态批处理技术将所述网络节点缓存的交易打包成批处理集,将所述批处理集加密后生成提议并广播至所有网络节点;共识阶段:计算所述网络节点收到提议的门限签名份额,生成投票消息返回给所述提议对应的发送节点,将返回的所有投票消息中的签名份额聚合成一个完整的签名,构造凭证消息,将所述凭证消息广播至所有网络节点,在节点收到预设数目的凭证消息后启动异步多元可验证协定实例,输出三元组集合;恢复阶段:根据所述三元组集合,对所述提议进行筛检,针对未收到的共识提议广播请求消息,收到请求消息的网络节点根据自身是否拥有所述请求消息中所请求的共识提议,分别构造强恢复消息和弱恢复消息发送至所述请求消息对应的网络节点,使用里德

所罗门纠错码在线重构算法对所述强恢复消息和所述弱恢复消息中的编码片段进行解码,恢复出未收到的共识提议,计算共识提议的解密份额,并广播给其他网络节点,利用预设数量的解密份额解密共识提议,将包含的交易按字典序排序后构成当前周期的区块,在交易缓冲区中删除交易,向所述客户端返回交易确认信息,进入下一周期。2.根据权利要求1所述的方法,其特征在于,所述通过动态批处理技术将所述网络节点缓存的交易打包成批处理集,将所述批处理集加密后生成提议并广播至所有网络节点,包括:在每个共识周期开始,所述网络节点根据当前缓冲区的缓存的交易数量,随机选择预设比例的交易打包成所述批处理集,使用门限加密公钥加密所述批处理集,生成所述提议并广播至所有网络节点。3.根据权利要求1所述的方法,其特征在于,所述共识阶段进一步包括:计算所述网络节点收到提议的哈希值,使用门限签名私钥生成所述哈希值的门限签名份额,构造所述投票消息,将所述投票消息发送给所述提议对应的发送节点;使用签名聚合技术将所述网络节点收到的投票消息中的签名份额聚合成一个完整的签名,构造所述凭证消息,并将所述凭证消息广播至所有网络节点;在所述网络节点收到所述凭证消息后,验证所述凭证消息中签名的有效性,在验证通过时,将相应发送节点序号、消息中的提议哈希值以及签名保存为三元组,将多个三元组作为输入,启动异步多元可验证协定实例,输出一致的三元组集合。4.根据权利要求1所述的方法,其特征在于,所述恢复阶段进一步包括:根据所述三元组集合,检查是否已经收到所述三元组集合中所对应的所有共识提议,在没有时,等待其他节点广播的提议消息,直到未收到的共识提议数量小于等于预设数目,将所述预设数目的未收到的共识提议对应的节点序号通过请求消息广播出去;在所述网络节点收到所述请求消息后,检查自身是否拥有所述请求消息中所请求的共识提议,对于自身拥有的共识提议,使用里德

所罗门纠错码进行编码,构造所述强恢复消息发送至请求节点,对于自身没有的共识提议,所述网络节点等待从其他节点收到所述强恢复消息后,构造所述弱恢复消息发送至请求节点;在所述网络节点收到所述强恢复消息和所述弱恢复消息后,使用里德

所罗门纠错码在线重构算法,进行编码片段解码,恢复出未收到的共识提议;
在所述网络节点收到或恢复出所述三元组集合中所对应的所有共识提议后,使用自身的门限加密私钥计算解密份额,广播至所有网络节点,利用所述解密份额解密所有共识提议,并将包含的交易按字典序列排序后构成本周期的区块,在所述交易缓冲区中删除对应的交易,向所述客户端返回交易确认信息,进入下一周期。5.一种适应交易量动态变化的异步共识系统,其特征在于,包括:广播模块,用于发送客户端的交易至网络节点,并将所述交易存入所述网络节点的缓冲区,通过动态批处理技术将所述网络节点缓存的交易打包成批处理集,将所述批处理集加密后...

【专利技术属性】
技术研发人员:张宗洋周游王卓李威翰刘建伟
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1