一种基于门限签名的交易请求共识方法和系统技术方案

技术编号:28947945 阅读:22 留言:0更新日期:2021-06-18 22:04
本发明专利技术公开了一种基于门限签名的交易请求共识方法和系统,其中,记账节点根据接收到的交易请求生成当前区块请求消息,验证节点对当前区块请求消息的合法性进行验证,验证通过后生成携带有验证节点的门限签名的区块准备消息,并将区块准备消息广播到共识网络中,在共识节点收到预设数量的区块准备消息且能够合成第一目标门限签名的情况下,生成区块确认消息,在共识节点收到预设数量的区块确认消息且能够合成第二目标门限签名的情况下,确认共识达成,本发明专利技术通过结合门限签名验证对交易请求进行共识,解决了实用拜占庭容错算法共识机制中签名分叉以及共识节点顺序执行的问题。

【技术实现步骤摘要】
一种基于门限签名的交易请求共识方法和系统
本专利技术涉及数据业务
,具体涉及一种基于门限签名的交易请求共识方法和系统。
技术介绍
实用拜占庭容错算法(PracticalByzantineFaultTolerance,PBFT)解决了原始拜占庭容错算法效率不高的问题,将算法复杂度由指数级降低到多项式级,使得拜占庭容错算法在实际系统应用中变得可行。区块链中采用的共识机制,是通过特殊节点的投票,在很短的时间内完成对交易的验证和确认,例如,对一笔交易,如果利益不相干的若干个节点能够达成共识,我们就可以认为全网对此也能够达成共识,通常把这些节点成为共识节点,区块链账本或者数据的记录和维护是去中心化的,也就是往往有很多个记账节点。现有技术中,为了减少节点之间的重复运算,传统的实用拜占庭容错算法被广泛使用在私有区块链上。但是,传统的实用拜占庭容错共识机制虽然减少了重复运算,但该算法存在签名分叉或共识节点顺序执行的缺点。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于门限签名的交易请求共识方法和系统。根据本专利技术的一个方面,提供了一种基于门限签名的交易请求共识方法,所述方法由共识网络中的n个共识节点对交易请求进行共识处理,所述方法包括以下步骤:在当前共识视图中,在n个共识节点中确定记账节点和验证节点;所述记账节点根据接收到的交易请求,生成当前区块请求消息,并将所述当前区块请求消息广播至所有验证节点;每个验证节点对所述当前区块请求消息的合法性进行验证,验证通过后生成携带有所述验证节点的门限签名的区块准备消息,并将所述区块准备消息广播至共识网络中;若任一共识节点接收到至少t+1个区块准备消息且能够根据至少t+1个区块准备消息中的门限签名合成得到第一目标门限签名,则所述共识节点生成携带有所述共识节点的门限签名的区块确认消息,并将所述区块确认消息广播至共识网络中,其中t大于1;若任一共识节点接收到至少t+1个区块确认消息且能够根据至少t+1个区块确认消息中的门限签名合成得到第二目标门限签名,则确定当前共识视图的共识达成,发布所述记账节点的区块。根据本专利技术的另一方面,提供了一种基于门限签名的交易请求共识系统,所述系统包括:n个共识节点;所述n个共识节点包括:记账节点和验证节点;所述记账节点用于:根据接收到的交易请求,生成当前区块请求消息,并将所述当前区块请求消息广播至所有验证节点;所述验证节点用于:对所述当前区块请求消息的合法性进行验证,验证通过后生成携带有所述验证节点的门限签名的区块准备消息,并将所述区块准备消息广播至共识网络中;所述共识节点进一步用于:若接收到至少t+1个区块准备消息且能够根据至少t+1个区块准备消息中的门限签名合成得到第一目标门限签名,则生成携带有所述共识节点的门限签名的区块确认消息,并将所述区块确认消息广播至共识网络中,其中t大于1;若接收到至少t+1个区块确认消息且能够根据至少t+1个区块确认消息中的门限签名合成得到第二目标门限签名,则确定当前共识视图的共识达成,发布所述记账节点的区块。根据本专利技术的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述一种基于门限签名的交易请求共识方法对应的操作。根据本专利技术的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述一种基于门限签名的交易请求共识方法对应的操作。根据本专利技术的一种基于门限签名的交易请求共识方法和系统,将门限签名和实用拜占庭容错算法相结合,在共识节点收到预设数量的区块准备消息且能够合成第一目标门限签名的情况下,生成区块确认消息,并且在共识节点收到预设数量的区块确认消息且能够合成第二目标门限签名的情况下,才确认共识达成,通过结合门限签名验证对交易请求进行共识,避免了实用拜占庭容错算法共识机制中签名分叉以及共识节点顺序执行的问题。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例提供的基于门限签名的交易请求共识方法的流程图;图2示出了本专利技术实施例提供的基于门限签名的交易请求共识系统的结构示意图;图3示出了本专利技术实施例提供的计算设备的结构示意图。具体实施方式下面将参照附图更详细地描述本专利技术的示例性实施例。虽然附图中显示了本专利技术的示例性实施例,然而应当理解,可以以各种形式实现本专利技术而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本专利技术,并且能够将本专利技术的范围完整的传达给本领域的技术人员。区块链的核心价值就是让网络中的各个节点就某一状态达成共识。这样一来,网络就可以自主运行,无需任何外力从中协调或主导。使用去中心化的预言机网络将可靠性极高的链下数据连接至智能合约。预言机网络将区块链与链下数据相连,而门限签名技术可以让预言机之间互相交流,并在链下达成共识,确定链下数据源的真实性。链下预言机通过门限签名技术聚合数据,只需最终向区块链传输一次数据即可,在区块链中,私钥与公钥必须是一一对应的才可以触发网络中的交易。具体地说,门限签名技术由以下5种算法组成。门限密钥生成算法(TKGen()→(PK,SK,S,V)):参与者Pi通过调用门限密钥生成算法TKGen函数生成一对公私钥(PK,SK),n个私钥分量集S={S1,S2,…,Sn}以及可验证密钥集V={V1,V2,...,Vn}。参与者Pi获得自己的秘密信息Si以及公开信息(V,PK)。门限签名算法(TSig(m,Si)→σi):当参与者Pi对消息m进行门限签名时,通过调用门限签名算法TSig函数以消息m和参与者Pi的私钥分量Si作为输入,TSig(m,Sim,Si)输出门限签名σi。门限签名共享验证算法(TSSVer(m,σi,PK,Vi)→True):任意参与者收到签名σi,通过调用门限签名共享验证算法TSSVer函数以消息m、参与者Pi的签名σi、公钥PK以及合适的签名验证密钥Vi作为输入,若σi是Pi在消息m上的签名,则调用门限签名共享验证算法能够输出True。门限签名合成算法TSSComb{σ1,σ2,...,σt+1}→σ:在参与者为n的群中,当任意参与者收到至少t+1个在消息m上的可验证签名共享集{σ1,σ2,...,σt+1}时,参与者通过本文档来自技高网...

【技术保护点】
1.一种基于门限签名的交易请求共识方法,其特征在于,所述方法由共识网络中的n个共识节点对交易请求进行共识处理,所述方法包括以下步骤:/n在当前共识视图中,在n个共识节点中确定记账节点和验证节点;/n所述记账节点根据接收到的交易请求,生成当前区块请求消息,并将所述当前区块请求消息广播至所有验证节点;/n每个验证节点对所述当前区块请求消息的合法性进行验证,验证通过后生成携带有所述验证节点的门限签名的区块准备消息,并将所述区块准备消息广播至共识网络中;/n若任一共识节点接收到至少t+1个区块准备消息且能够根据至少t+1个区块准备消息中的门限签名合成得到第一目标门限签名,则所述共识节点生成携带有所述共识节点的门限签名的区块确认消息,并将所述区块确认消息广播至共识网络中,其中t大于1;/n若任一共识节点接收到至少t+1个区块确认消息且能够根据至少t+1个区块确认消息中的门限签名合成得到第二目标门限签名,则确定当前共识视图的共识达成,发布所述记账节点的区块。/n

【技术特征摘要】
1.一种基于门限签名的交易请求共识方法,其特征在于,所述方法由共识网络中的n个共识节点对交易请求进行共识处理,所述方法包括以下步骤:
在当前共识视图中,在n个共识节点中确定记账节点和验证节点;
所述记账节点根据接收到的交易请求,生成当前区块请求消息,并将所述当前区块请求消息广播至所有验证节点;
每个验证节点对所述当前区块请求消息的合法性进行验证,验证通过后生成携带有所述验证节点的门限签名的区块准备消息,并将所述区块准备消息广播至共识网络中;
若任一共识节点接收到至少t+1个区块准备消息且能够根据至少t+1个区块准备消息中的门限签名合成得到第一目标门限签名,则所述共识节点生成携带有所述共识节点的门限签名的区块确认消息,并将所述区块确认消息广播至共识网络中,其中t大于1;
若任一共识节点接收到至少t+1个区块确认消息且能够根据至少t+1个区块确认消息中的门限签名合成得到第二目标门限签名,则确定当前共识视图的共识达成,发布所述记账节点的区块。


2.根据权利要求1所述的方法,其特征在于,所述在当前共识视图中,在n个共识节点中确定记账节点和验证节点进一步包括:
在n个共识节点中随机地选择一个共识节点作为记账节点,将n个共识节点中除所述记账节点之外的其他共识节点作为验证节点。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
每个验证节点对接收到的交易请求的合法性进行验证,验证通过后将所述交易请求存储至本地内存中,并将所述交易请求广播至共识网络中。


4.根据权利要求1所述的方法,其特征在于,所述记账节点根据接收到的交易请求,生成当前区块请求消息,并将所述当前区块请求消息广播至所有验证节点进一步包括:
所述记账节点对接收到的交易请求的合法性进行验证,验证通过后根据当前共识视图编号、前一区块信息以及当前区块高度,生成当前区块请求消息,并对所述当前区块请求消息进行签名,将签名后的当前区块请求消息广播至所有验证节点。


5.根据权利要求1所述的方法,其特征在于,所述每个验证节点对所述当前区块请求消息的合法性进行验证,验证通过后生成携带有所述验证节点的门限签名的区块准备消息,并将所述区块准备消息广播至共识网络中进一步包括:
在验证通过后,所述验证节点根据所述当前区块请求消息中的区块摘要信息以及当前区块高度,生成区块准备消息,并对所述区块准备消息进行签名,将签名后的区块准备消息广播至共识网络中。


6.根据权利要求1-5任一所述...

【专利技术属性】
技术研发人员:方国强包森成李一平滑金艳
申请(专利权)人:中国移动通信集团浙江有限公司中国移动通信集团有限公司
类型:发明
国别省市:浙江;33

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

1