【技术实现步骤摘要】
双重流水线安全高吞吐量分片区块链实现方法与装置
[0001]本申请涉及信息安全和电子商务
,特别涉及一种双重流水线安全高吞吐量分片区块链实现方法与装置。
技术介绍
[0002]区块链具有交易去中心化、数据透明公开和历史记录不可篡改等优点,在通信、金融、物联网和供应链管理等各个领域都有着巨大的应用潜力。但是,目前存在一些限制区块链开发和应用的问题,其中很关键的即链上交易处理的安全性和性能问题。
[0003]当前的区块链系统存在各种安全问题,例如双重花费攻击、女巫攻击和日蚀攻击等,这些攻击在不同程度上影响整个区块链系统的安全性和稳定性。与此同时,比特币骨干协议提出链质量、链增长和共同前缀三个区块链应当满足的基本特性。在这三个特性的基础上,提出公共账本应当满足的一致性和活性。这些基础的安全性能研究为区块链系统的设计和安全性分析奠定了良好的基础。设计安全的区块链协议并证明其安全性是当前研究的关键和热点。
[0004]区块链的交易处理性能表现是其能够得到广泛应用的另外一个关键因素。而在性能指标中,最重要的指标是交易吞吐量和交易确认时延。传统的第三方支付,如信用卡VISA、银联,能够实现每秒钟几千甚至上万级别的交易吞吐量,而目前大多数区块链交易处理方案的吞吐量较低,处于每秒几十或者几百的量级。为实现区块链交易处理吞吐量提升,分片区块链是实现可扩展性最有前途的链上技术之一。分片区块链的基本思路是将网络中所有节点分为多个分片,每个分片负责处理并维护该分片对应的区块链,网络中的交易也根据一定的规则被分配到不同的分 ...
【技术保护点】
【技术特征摘要】
1.一种双重流水线安全高吞吐量分片区块链实现方法,其特征在于,包括以下步骤:生成公共参数、委员会节点密钥和委员会节点认证与密钥列表;基于所述公共参数、所述委员会节点密钥和所述委员会节点认证与所述密钥列表,将用户的目标交易提交至输入委员会后,通过所述输入委员会运行低开销拜占庭容错算法判断所述目标交易输入可用性和上一次待确认跨片交易是否满足第一预设合法要求,并在满足所述第一预设合法要求时,通过所述输入委员会生成相应的可用性证明;以及通过所述目标交易的输出分片收集多签名证明,并将所述多签名证明聚合后生成所述目标交易的可用性证明,并将所述目标交易的可用性证明发送给所述目标交易对应的输出分片,以通过所述输出分片根据所述目标交易的可用性证明判断所述目标交易是否满足预设要求,并在满足所述预设要求时,将所述目标交易写入目标区块,完成交易承诺。2.根据权利要求1所述的方法,其特征在于,所述生成公共参数、委员会节点密钥和委员会节点认证与密钥列表,包括:授权目标网络中,参加预设协议的节点在本地完成初始化,生成所述公共参数;针对每个委员会的每个节点运行密钥生成算法,随机选择私钥,并根据所述私钥生成公钥,根据所述公钥和所述私钥生成所述公钥证明,所述每个节点将自身的公钥和证明发送给数字证书认证机构;验证所述每个节点发送的自身的公钥和证明,并判断所述每个节点发送的自身的公钥是否符合预设要求,并在所述每个节点发送的自身的公钥符合所述预设要求时,将符合所述预设要求的所述每个节点发送的自身的公钥添加到对应分片的委员会公钥列表中,以得到所述委员会节点认证与密钥列表。3.根据权利要求1所述的方法,其特征在于,所述将用户目标交易提交至输入委员会后,通过所述输入委员会运行低开销拜占庭容错算法判断所述目标交易输入可用性和上一次待确认跨片交易是否满足合法要求,包括:根据所述目标交易输入地址的序列号信息确认所述目标交易输入所在的分片,并将所述目标交易提交给所有输入分片委员会的领导者,若在预设时长内未接收到返回的交易确认信息,则重新将所述目标交易提交给所述所有输入分片委员会中其他多个节点,直至接收到所述交易确认信息;对于每一个节点发送的签名,根据所述每一个节点的发送地址判断所述每一个节点是否属于当前签名成员视图,并在属于所述当前签名成员视图时,根据所述每一个节点的身份在当前分片公钥列表中查询其公钥,验证签名份额是否满足第二预设合法要求,并在不满足所述第二预设合法要求时,立即发起签名成员视图转换,根据节点表现选择新视图成员;在满足所述第二预设合法要求时,通过委员会领导者利用预设签名聚合算法将预先获取的多个签名聚合为多签名证明;在每个输入分片委员会领导者在收到所述目标交易后,确认所述每个输入分片管理的输入,并在当前分片的未花费交易输出池查询该输入是否可用,所述委员会领导者判断所述多签名证明是否满足第三预设合法要求,并在满足所述第三预设合法要求时,根据目标交易输入可用性标志位判断上一次目标交易是否满足第四预设合法要求,并将当前目标交易输入、所述当前目标交易可用性状态、上一次待确认跨片交易和上一次待确认跨片交易的合法性状态作为新的提议在委员会内广播,并附加当前提议证明;
委员会成员接收到所述当前提议证明后,判断所述多签名证明是否满足第五预设合法要求,并在满足所述第五预设合法要求时,更新前两次提议承诺状态,输出已承诺提议和所述已承诺提议多签名证明;并确认所述当前提议证明是否满足第六预设合法要求,并在满足所述第六预设合法要求时,利用节点私钥对提议消息签名,并将所述签名发送给所述委员会领导者;委员会内所有节点将当前目标交易的输入设置为锁定状态,所有输入分片的领导者将输入可用性和其多签名证明发送给输出分片,并在上一次交易满足第七预设合法要求时,将所述目标交易对应的输入从本分片的交易输出池中移除,花费该输入,否则,将上一次锁定的交易输入解锁。4.根据权利要求1所述的方法,其特征在于,所述通过所述目标交易的输出分片收集多签名证明,并将所述多签名证明聚合后生成所述目标交易的可用性证明,包括:输出分片的委员会领导者收集当前目标交易的所有输入可用性和多签名证明,并将所述多签名证明进行二次聚合,将将聚合后的总签名和所述所有输入可用性状态发送给其他所有输入分片。5.一种双重流水线安全高吞吐量分片区块链实现装置,其特征在于,包括:生成模块,用于生成公共参数、委员会节点密钥...
【专利技术属性】
技术研发人员:刘懿中,刘安迪,刘建伟,李东禹,李大伟,关振宇,孙钰,杨林,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。