双重流水线安全高吞吐量分片区块链实现方法与装置制造方法及图纸

技术编号:36521233 阅读:16 留言:0更新日期:2023-02-01 15:57
本申请涉及一种双重流水线安全高吞吐量分片区块链实现方法与装置,方法包括:生成公共参数、委员会节点密钥和委员会节点认证与密钥列表;将用户的目标交易提交至输入委员会,输入委员会运行低开销拜占庭容错算法判断目标交易输入可用性和上一次待确认跨片交易是否满足第一预设合法要求,满足第一预设合法要求时,输入委员会生成相应的可用性证明;通过目标交易的输出分片收集多签名证明,将多签名证明聚合生成目标交易的可用性证明,将目标交易的可用性证明发送给目标交易对应的输出分片,通过输出分片根据目标交易的可用性证明判断目标交易是否满足预设要求,将目标交易写入目标区块,完成交易承诺。解决了链上交易处理的安全性和性能的问题。的安全性和性能的问题。的安全性和性能的问题。

【技术实现步骤摘要】
双重流水线安全高吞吐量分片区块链实现方法与装置


[0001]本申请涉及信息安全和电子商务
,特别涉及一种双重流水线安全高吞吐量分片区块链实现方法与装置。

技术介绍

[0002]区块链具有交易去中心化、数据透明公开和历史记录不可篡改等优点,在通信、金融、物联网和供应链管理等各个领域都有着巨大的应用潜力。但是,目前存在一些限制区块链开发和应用的问题,其中很关键的即链上交易处理的安全性和性能问题。
[0003]当前的区块链系统存在各种安全问题,例如双重花费攻击、女巫攻击和日蚀攻击等,这些攻击在不同程度上影响整个区块链系统的安全性和稳定性。与此同时,比特币骨干协议提出链质量、链增长和共同前缀三个区块链应当满足的基本特性。在这三个特性的基础上,提出公共账本应当满足的一致性和活性。这些基础的安全性能研究为区块链系统的设计和安全性分析奠定了良好的基础。设计安全的区块链协议并证明其安全性是当前研究的关键和热点。
[0004]区块链的交易处理性能表现是其能够得到广泛应用的另外一个关键因素。而在性能指标中,最重要的指标是交易吞吐量和交易确认时延。传统的第三方支付,如信用卡VISA、银联,能够实现每秒钟几千甚至上万级别的交易吞吐量,而目前大多数区块链交易处理方案的吞吐量较低,处于每秒几十或者几百的量级。为实现区块链交易处理吞吐量提升,分片区块链是实现可扩展性最有前途的链上技术之一。分片区块链的基本思路是将网络中所有节点分为多个分片,每个分片负责处理并维护该分片对应的区块链,网络中的交易也根据一定的规则被分配到不同的分片。分片内节点只需对该分片掌管的交易进行验证、计算和存储。这样一来,分片区块链便能实现交易处理能力的可扩展性,即随着网络中节点数量的增加,全网处理交易的能力随之增加。可扩展性使得分片区块链通常拥有更高的交易吞吐量。
[0005]通常,分片区块链具有以下三个特征。第一个是通信分片。参与节点被分为不同的分片,其中每个分片中的节点大部分时间仅需要内部通信。第二个是计算分片,这意味着每个分片仅负责处理其相应的交易,因此交易由不同的分片并行处理。当网络中的节点数量增加时,可以添加更多分片以实现可扩展性。第三个是存储分片,即不同分片的节点仅需要存储其相应分片的区块链历史数据。
[0006]分片区块链有几个重要组成部分:节点选择,节点分配,片内共识,跨片交易处理和分片重配置。其中,片内共识和跨片交易处理是分片区块链交易处理的核心部分。片内共识的主要目的是处理片内交易和跨片信息,根据交易确认机制不同,主要分为强一致性算法和弱一致性算法。采用弱一致性算法,区块生产者是单个节点,使用工作量证明算法(Proof of Work,PoW)、股权证明算法(Proof of Stake,PoS)或其他的弱一致性方法在分片中生成区块,交易确认需要等待区块到达一定深度,分片中不存在委员会。采用强一致性算法,每个分片存在委员会运行分布式强一致性算法处理交易,区块和交易通常能够被立
即确认。根据网络模型不同,委员会运行算法主要包括同步拜占庭容错(Byzantine Fault Tolerance,BFT)算法及其变种、实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)算法及其改进、异步BFT算法等。
[0007]在跨片交易处理阶段,未消费交易输出(Unspent Transaction Outputs,UTXO)模型下分片区块链系统通常采用基于两阶段承诺(Two

Phase Commit,2PC)的处理方式,主要包括准备和承诺阶段。在准备阶段,交易相关分片运行BFT生成交易输入可用性证明,同时锁定输入。负责分片间消息转发的协调者收集可用性证明。在承诺阶段,协调者将可用性证明发送到所有相关分片,并在所有相关分片完成承诺花费或解锁操作。根据协调者角色不同,基于2PC的跨片交易处理方式分为用户驱动的2PC协议和分片驱动的2PC协议。
[0008]现有分片区块链仍需要解决许多问题,以使其得到更广泛应用。分片内共识依赖于拜占庭容错协议,一次跨片交易处理片内多次调用BFT,片内片间多次广播通信,处理效率低而通信复杂度高,交易响应时延长,吞吐量低。因此,我们旨在通过设计一种高效片内共识算法和跨片交易处理方案,提出一种安全高吞吐量的分片区块链实现方法。

技术实现思路

[0009]本申请提供一种双重流水线安全高吞吐量分片区块链实现方法与装置,具有交易处理可扩展、交易安全、交易快速响应、系统开销低的特点。本专利技术的主要目的如下:第一,本专利技术克服现有区块链系统交易吞吐量低下、交易处理能力固定的缺点,实现了交易处理的高吞吐量,交易处理能力具有可扩展性。本专利技术提出的安全高吞吐量分片区块链交易处理方案,改进了传统拜占庭容错算法,引入签名成员视图固定与转换机制,提出低开销拜占庭容错算法,将多签名方案、拜占庭容错算法和分片区块链技术充分结合,使得整个区块链系统的交易吞吐量大幅提升,交易吞吐量能够随着网络节点数量的增加而不断增加。第二,本专利技术确保交易系统具有一致性和活性,通过具有鲁棒性的多签名方案,和安全的拜占庭容错方案,使得系统的安全性、稳定性得到进一步提升,系统中的交易能够被安全处理,防止可能出现的双花攻击,交易输入锁死等问题。第三,本专利技术确保交易的快速响应,每个交易被提交到系统之后,能够迅速得到处理,掌管交易不同输入的分片同时并行处理交易,经过特殊设计的片间协同流水线式两阶段承诺方案,交易确认时间仅仅与网络真实时延相关,不需要进行固定时间的等待。第四,本专利技术采取的多签名方案能够进一步聚合,使其与分片区块链跨片交易处理的场景完美结合,每个分片通过拜占庭容错算法产生对交易的一个多签名,而该交易对应的多个分片产生的多个多签名通过聚合生成一个总的签名,作为交易的可用性证明,这大大降低了分片间节点的通信复杂度和交易可用性证明的消息复杂度,同时,结合该方案进一步设计签名成员视图固定与转换机制,领导者根据节点表现确定当前签名视图成员并广播至其他分片,在该视图有效期内均采用视图内成员签名作为有效签名并进行聚合,避免在片间通信过程中多次发送片内签名成员信息,降低了系统开销,提升了系统效率。
[0010]本申请第一方面实施例提供一种双重流水线安全高吞吐量分片区块链实现方法,包括以下步骤:生成公共参数、委员会节点密钥和委员会节点认证与密钥列表;基于所述公共参数、所述委员会节点密钥和所述委员会节点认证与所述密钥列表,将用户的目标交易提交至输入委员会后,通过所述输入委员会运行低开销拜占庭容错算法判断所述目标交易
输入可用性和上一次待确认跨片交易是否满足第一预设合法要求,并在满足所述第一预设合法要求时,通过所述输入委员会生成相应的可用性证明;以通过所述目标交易的输出分片收集多签名证明,并将所述多签名证明聚合后生成所述目标交易的可用性证明,并将所述目标交易的可用性证明发送给所述目标交易对应的输出分片,以通过所述输出分片根据所述目标交易的可用性证明判断所述目标交易是否满足预设要求,并在满足所述预本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种双重流水线安全高吞吐量分片区块链实现方法,其特征在于,包括以下步骤:生成公共参数、委员会节点密钥和委员会节点认证与密钥列表;基于所述公共参数、所述委员会节点密钥和所述委员会节点认证与所述密钥列表,将用户的目标交易提交至输入委员会后,通过所述输入委员会运行低开销拜占庭容错算法判断所述目标交易输入可用性和上一次待确认跨片交易是否满足第一预设合法要求,并在满足所述第一预设合法要求时,通过所述输入委员会生成相应的可用性证明;以及通过所述目标交易的输出分片收集多签名证明,并将所述多签名证明聚合后生成所述目标交易的可用性证明,并将所述目标交易的可用性证明发送给所述目标交易对应的输出分片,以通过所述输出分片根据所述目标交易的可用性证明判断所述目标交易是否满足预设要求,并在满足所述预设要求时,将所述目标交易写入目标区块,完成交易承诺。2.根据权利要求1所述的方法,其特征在于,所述生成公共参数、委员会节点密钥和委员会节点认证与密钥列表,包括:授权目标网络中,参加预设协议的节点在本地完成初始化,生成所述公共参数;针对每个委员会的每个节点运行密钥生成算法,随机选择私钥,并根据所述私钥生成公钥,根据所述公钥和所述私钥生成所述公钥证明,所述每个节点将自身的公钥和证明发送给数字证书认证机构;验证所述每个节点发送的自身的公钥和证明,并判断所述每个节点发送的自身的公钥是否符合预设要求,并在所述每个节点发送的自身的公钥符合所述预设要求时,将符合所述预设要求的所述每个节点发送的自身的公钥添加到对应分片的委员会公钥列表中,以得到所述委员会节点认证与密钥列表。3.根据权利要求1所述的方法,其特征在于,所述将用户目标交易提交至输入委员会后,通过所述输入委员会运行低开销拜占庭容错算法判断所述目标交易输入可用性和上一次待确认跨片交易是否满足合法要求,包括:根据所述目标交易输入地址的序列号信息确认所述目标交易输入所在的分片,并将所述目标交易提交给所有输入分片委员会的领导者,若在预设时长内未接收到返回的交易确认信息,则重新将所述目标交易提交给所述所有输入分片委员会中其他多个节点,直至接收到所述交易确认信息;对于每一个节点发送的签名,根据所述每一个节点的发送地址判断所述每一个节点是否属于当前签名成员视图,并在属于所述当前签名成员视图时,根据所述每一个节点的身份在当前分片公钥列表中查询其公钥,验证签名份额是否满足第二预设合法要求,并在不满足所述第二预设合法要求时,立即发起签名成员视图转换,根据节点表现选择新视图成员;在满足所述第二预设合法要求时,通过委员会领导者利用预设签名聚合算法将预先获取的多个签名聚合为多签名证明;在每个输入分片委员会领导者在收到所述目标交易后,确认所述每个输入分片管理的输入,并在当前分片的未花费交易输出池查询该输入是否可用,所述委员会领导者判断所述多签名证明是否满足第三预设合法要求,并在满足所述第三预设合法要求时,根据目标交易输入可用性标志位判断上一次目标交易是否满足第四预设合法要求,并将当前目标交易输入、所述当前目标交易可用性状态、上一次待确认跨片交易和上一次待确认跨片交易的合法性状态作为新的提议在委员会内广播,并附加当前提议证明;
委员会成员接收到所述当前提议证明后,判断所述多签名证明是否满足第五预设合法要求,并在满足所述第五预设合法要求时,更新前两次提议承诺状态,输出已承诺提议和所述已承诺提议多签名证明;并确认所述当前提议证明是否满足第六预设合法要求,并在满足所述第六预设合法要求时,利用节点私钥对提议消息签名,并将所述签名发送给所述委员会领导者;委员会内所有节点将当前目标交易的输入设置为锁定状态,所有输入分片的领导者将输入可用性和其多签名证明发送给输出分片,并在上一次交易满足第七预设合法要求时,将所述目标交易对应的输入从本分片的交易输出池中移除,花费该输入,否则,将上一次锁定的交易输入解锁。4.根据权利要求1所述的方法,其特征在于,所述通过所述目标交易的输出分片收集多签名证明,并将所述多签名证明聚合后生成所述目标交易的可用性证明,包括:输出分片的委员会领导者收集当前目标交易的所有输入可用性和多签名证明,并将所述多签名证明进行二次聚合,将将聚合后的总签名和所述所有输入可用性状态发送给其他所有输入分片。5.一种双重流水线安全高吞吐量分片区块链实现装置,其特征在于,包括:生成模块,用于生成公共参数、委员会节点密钥...

【专利技术属性】
技术研发人员:刘懿中刘安迪刘建伟李东禹李大伟关振宇孙钰杨林
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

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

1