CN116862509B - 主从多链架构下的主链树形快速共识系统及方法 - Google Patents
主从多链架构下的主链树形快速共识系统及方法 Download PDFInfo
- Publication number
- CN116862509B CN116862509B CN202310870393.0A CN202310870393A CN116862509B CN 116862509 B CN116862509 B CN 116862509B CN 202310870393 A CN202310870393 A CN 202310870393A CN 116862509 B CN116862509 B CN 116862509B
- Authority
- CN
- China
- Prior art keywords
- node
- chain
- consensus
- main
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000004891 communication Methods 0.000 claims abstract description 98
- 238000012550 audit Methods 0.000 claims abstract description 58
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 50
- 230000004044 response Effects 0.000 claims description 35
- 230000002159 abnormal effect Effects 0.000 claims description 31
- 238000006243 chemical reaction Methods 0.000 claims description 20
- 230000002776 aggregation Effects 0.000 claims description 14
- 238000004220 aggregation Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 8
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000007246 mechanism Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000001960 triggered effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 235000006629 Prosopis spicigera Nutrition 0.000 description 1
- 240000000037 Prosopis spicigera Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000009395 breeding Methods 0.000 description 1
- 230000001488 breeding effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及主从多链架构下的主链树形快速共识系统及方法,跨链节点监听从区块链上产生的新区块,将新区块转发给主链,主链运行树形高效共识算法,对审计结果达成共识,并将审计结果上链,在运行高效共识算法时,主链中参与共识的节点组成主链通信树,利用通信树结构进行共签名操作来达成高效共识。其中,共识机制为主区块链运行的呈二叉树状的共识算法,对审计结果达成共识,并将审计结果上链,在运行共识算法时,主区块链中参与共识的节点组成主链通信树,利用通信树结构进行共签名操作来达成共识;参与共识的节点使用滑动窗口的方式在主链节点中选取。解决了现有技术的方法难以解决主从多链架构下的主链审计共识算法性能不足的难题。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种主从多链架构下的主链树形快速共识系统及方法。
背景技术
随着区块链技术的日益进步与区块链产业的蓬勃发展,大量建立在区块链上的转账、支付、数字资产交易等业务随之诞生。尽管链上运行金融交易有着天然的不易丢失、不可伪造、不可篡改等优势,但是大量匿名的区块链交易也为金融市场的监管带来了难题。如果不法分子利用区块链交易平台监管宽松的漏洞,进行非法集资、非法资金转移、转账,就可能造成区块链技术被恶意滥用,成为滋生违法行为的温床。为了对区块链平台实施有效监管,相关金融监管机构也可以使用区块链来进行高效地金融审计、数字取证等工作,并且借助于“跨链”技术,可以实现“主从多链架构”,由主链通过跨链节点来对多个从链上的交易实施高效审计,以此来确保区块链金融交易活动受到法律的有效监管。
本申请发明人在实施本发明的过程中,发现现有技术的方法,至少存在如下技术问题:
1)现有的主从多链架构下,没有考虑主链审计压力过大,性能不足的缺陷;
2)现有的基于PBFT的联盟链共识算法需要多轮广播操作,容易引入过大网络负载,导致主链性能低下;
3)现有的基于PBFT的联盟链共识算法需要长时间的网络等待步骤,可能导致系统CPU利用率低下。
由此可知,现有技术的方法难以解决主从多链架构下的主链审计共识算法性能不足的难题。
发明内容
本发明就是要克服上述不足,提供一种主从多链架构下的主链树形快速共识系统及方法,解决了主从多链架构下的主链审计共识算法性能不足的难题。
本发明所设计的主从多链架构下的主链树形快速共识系统,其特殊之处在于,包括:跨链通信模块,用于实现将从区块链上的待审计数据发送给主区块链进行审计;共识算法模块,用于实现主链的共识机制;审计模块,用于实现主链对从链上交易的审计;
其中,共识机制为主链运行的呈二叉树状的共识算法,对审计结果达成共识,并将审计结果上链,在运行共识算法时,主链中参与共识的节点组成主链通信树,利用通信树结构进行共签名操作来达成共识;参与共识的节点使用滑动窗口的方式在主链节点中选取。
基于同一发明构思,本方案还设计了一种主从多链架构下的主链树形快速共识方法,包括:
S1:使用滑动窗口在主区块链内选取节点,滑动窗口内保存的节点作为主区块链共识节点组,并在节点组内指定主节点,共识节点组共同组成一个呈二叉树状的主链通讯树,其中主链通讯树的根节点为所述主节点,通讯树的分支由所述的主链共识节点组构成;
S2:跨链节点监听并存储从区块链上已经上链的区块,当存储的从链区块数量到达设定阈值时,跨链节点将存储的多个从链区块打包,生成从链数据审计请求,发送给主区块链;
S3:主区块链将所述跨链节点发送的从链数据审计请求在呈二叉树状的主链通讯树内进行广播,由主链共识节点组运行共识算法,对所述跨链节点发送的请求内容进行审计;
S4:主区块链主节点根据共识算法运行结果,生成聚合签名,根据参与共识的节点数和聚合签名的有效性来判断本轮共识是否成功;
S5:若所述主链通讯树在运行快速共识算法时出现异常状态,则根据不同的异常状态使用相对应的异常处理方式,然后运行视图转换算法,更新滑动窗口,根据新的滑动窗口重新构建主链通讯树。
一种优选方式中,步骤S1的具体过程如下:
对于一共包含N个节点的主区块链进行固定编号;
使用大小固定为n的滑动窗口SWin存储组成主链通讯树的主区块链节点编号;窗口大小n小于总节点数量N,窗口大小n等于3f+1,f表示主区块链所能容忍的最多的拜占庭错误节点数量;
按节点是否在滑动窗口内分为共识节点组和验证节点组,共识节点组中的节点参与当前的共识算法,验证节点组中的节点只负责转发消息、同步最新上链的主链区块;
对于滑动窗口内存储的节点编号,并选取共识节点组内的主节点;
利用二叉树将滑动窗口SWin内的主区块链节点构建成主链通讯树。
一种优选方式中,步骤S2的具体过程如下:
S2.1:跨链节点持续监听多个从区块链网络,当发现从区块链上链新的区块时,跨链节点将收集存储所述区块;
S2.2:跨链节点所存储的从链区块个数到达设定阈值时,跨链节点将存储的多个从链区块打包,生成从链数据审计请求,发送给主区块链;
S2.3:跨链节点清空已发送的业务链区块内存。
一种优选方式中,S3具体包括:
S3.1:主链主节点解析跨链节点所发送的从链数据审计请求,主链主节点对待审计数据进行审计;
S3.2:主链主节点将审计结果打包成新区块,使用新区块创建通知消息,利用通讯树结构向共识节点组广播通知消息,在通讯树内,通知消息自顶向下地逐层广播;
S3.3:共识节点组中的节点收到来自其父节点发送的通知消息后,继续向其子节点发送通知消息,直至通知消息到达主链通讯树的叶子节点;
S3.4:主链通讯树的节点i在收到其父节点所发送的通知消息后,对新区块中涉及的从链交易进行审计;
S3.5:节点i使用所述的聚合承诺和聚合公钥/>,生成承诺消息,发送给其父节点,在通讯树内,自底向上地将承诺消息进行逐层传递;
S3.6:共识节点组中的节点收到来自其子节点发送的承诺消息后,继续向其父节点发送承诺消息,直至承诺消息到达主链通讯树的根节点;
S3.7:主链主节点收到其子节点发送的承诺消息后,计算聚合挑战c,使用聚合挑战c创建挑战消息,利用通讯树结构向共识节点组广播挑战消息,在通讯树内,挑战消息自顶向下地逐层广播,其中,聚合挑战c的计算式为;
S3.8:主链通讯树的节点i在收到其父节点所发送的Challenge消息后,计算响应s i;
S3.9:节点i使用所述的聚合响应,生成回复消息,发送给其父节点,在通讯树内,自底向上地将回复消息进行逐层传递;
S3.10:共识节点组中的节点收到来自其子节点发送的回复消息后,继续向其父节点发送回复消息,直至回复消息到达主链通讯树的根节点。
一种优选方式中,S4具体包括:
S4.1:主区块链主节点在收到反馈消息后,计算生成聚合签名,所述聚合签名包括聚合响应、聚合承诺和聚合公钥;
S4.2:主区块链主节点根据消息体,判断参与本轮共识的节点数是否大于等于2f+1,如果小于2f+1,那么本轮共识失败,触发异常状态,如果大于等于2f+1,那么继续验证聚合签名有效性,f表示主区块链所能容忍的最多的拜占庭错误节点数量;;
S4.3:主区块链主节点根据等式是否成立,来判断聚合签名是否有效,如果等式不成立,那么本轮共识失败,触发异常状态,如果等式成立,那么本轮共识成功,主区块链主节点广播聚合签名,主区块链内各节点将新区块上链。
一种优选方式中,S5主链通讯树中的节点可能出现的主要异常状态如下:
共识节点发现子节点的反馈消息不正确或签名错误;
共识节点不同意父节点所发送的通知消息中的审计结果;
共识节点组中有节点失去网络连接或崩溃;
主节点异常或长时间无响应;
主节点判断本轮共识失败。
一种优选方式中,对步骤S5中主链主节点判断本轮共识失败的异常处理方式具体步骤为:
向所有节点广播本轮共识失败的消息,启动视图转换算法;
运行视图转换算法,构建由无异常状态节点组成新主链通讯树,滑动窗口向前推进,将主链主节点和异常节点移除出共识节点组,使滑动窗口的后一个节点加入共识节点组,新的主节点和新的共识节点组编号组成新的滑动窗口SWin,根据节点编号在SWin中保存的下标,构建主链通讯树。
基于同一发明构思,本方案还设计了一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现主从多链架构下的主链树形快速共识方法。
基于同一发明构思,本方案还设计了一种计算机可读介质,其上存储有计算机程序,其特殊之处在于:所述程序被处理器执行时实现主从多链架构下的主链树形快速共识方法。
本发明的优点在于:对于主链审计压力过大的问题,本方法利用了滑动窗口数据结构,高效地实现主链主节点选取和共识节点组成员更新操作,减轻了主链在视图转换阶段的性能压力;对于经典的PBFT算法在广播阶段通信开销过大的问题,本方法利用了树形通讯结构效率高的优势,在共识通信阶段极大地减少了网络内的通信量,提升了共识阶段的通信效率;对于共识阶段网络等待耗时长的问题,本方法利用树形结构的通讯优势,当消息在树形结构内广播时,在高层节点进行运算的同时,低层节点进行通信,利用低层节点的通讯等待时间在高层节点进行运算操作,减少了整体的网络等待时间,提升了cpu利用效率。
采用基于树形通信结构和基于共签名的高效共识算法,实现了对从链区块的高效审计,用于解决或者至少部分解决现有技术方法存在的共识算法性能不足问题。对于主链审计压力过大的问题,本方法利用了滑动窗口数据结构,高效地实现主链主节点选取和共识节点组成员更新操作,减轻了主链在视图转换阶段的性能压力;对于经典的PBFT算法在广播阶段通信开销过大的问题,本方法利用了树形通讯结构效率高的优势,在共识通信阶段极大地减少了网络内的通信量,提升了共识阶段的通信效率;对于共识阶段网络等待耗时长的问题,本方法利用树形结构的通讯优势,当消息在树形结构内广播时,在高层节点进行运算的同时,低层节点进行通信,利用低层节点的通讯等待时间在高层节点进行运算操作,减少了整体的网络等待时间,提升了cpu利用效率。
附图说明
图1为本发明提供的主从多链架构的示意图。
图2为本发明提供的主链树形快速共识算法第一阶段的示意图。
图3为本发明提供的主链树形快速共识算法第二阶段的示意图。
图4为本发明提供的主链树形快速共识算法第三阶段的示意图。
图5为本发明提供的主链树形快速共识算法第四阶段的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例一
本发明设计了一种主从多链架构下的主链树形快速共识原型系统。该方案系统模型由3类实体组成,分别是:
从区块链:联盟链,链上记录区块链交易,并自愿接受主区块链对数据内容是否违法违规进行审查。
跨链节点:负责在从区块链与主区块链之间进行通信,提供可信的跨链通信服务,监听从区块链并转发审计请求给主区块链。
主区块链:对从区块链上的交易进行合规审计并进行电子取证,包括共识算法模块和审计模块,对接收跨链节点发送的审计请求、利用共识机制对从区块链交易进行审计、将审计结果上链;
其中,共识机制为主链运行的呈二叉树状的共识算法,对审计结果达成共识,并将审计结果上链,在运行共识算法时,主链中参与共识的节点组成主链通信树,利用通信树结构进行共签名操作来达成共识;参与共识的节点使用滑动窗口的方式在主链节点中选取。
实施例二
基于同样的发明构思,本实施例提供了一种主从多链架构下的主链树形快速共识方法,包括:
S1:初始化主区块链,初始化滑动窗口,使用滑动窗口内保存的节点作为主区块链共识节点组,选取滑动窗口最左侧节点作为主节点,所述主节点与所述的其他共识节点组共同组成一个呈二叉树状的主链通讯树,其中主链通讯树的根节点为所述主节点,通讯树的分支由所述的主链共识节点组构成;
S2:跨链节点监听并存储从区块链上已经上链的区块,当存储的从链区块数量到达阈值时,跨链节点将存储的多个从链区块打包,生成从链数据审计请求,发送给主区块链,阈值/>在初始化阶段由用户手动设置;
S3:主区块链将所述跨链节点发送的从链数据审计请求在呈二叉树状的主链通讯树内进行广播,由主链共识节点组运行共识算法,对所述跨链节点发送的请求内容进行审计;
S4:主区块链主节点根据共识算法运行结果,生成聚合签名,根据参与共识的节点数和聚合签名的有效性来判断本轮共识是否成功;
S5:若所述主链通讯树在运行快速共识算法时出现异常状态,则根据不同的异常状态使用相对应的异常处理方式,然后运行视图转换算法,更新滑动窗口,根据新的滑动窗口重新构建主链通讯树;
具体来说,S1~S5分别为初始化步骤、跨链步骤、共识步骤、验证步骤和异常处理步骤。本实例提供一种主从多链架构下的主链树形快速共识算法及原型系统,主从多链的架构示意图如图1所示,共识算法的流程如图2、图3、图4、图5所示,共包含3类实体:从区块链(B)、跨链节点(C)、主区块链(A);包含5个步骤。
本发明所提出的方案所用到的符号声明如下:
安全哈希函数,函数将任意长度的比特流映射为长度固定的比特流;
主链节点总数3f+1;
椭圆曲线基点;
主链节点私钥 …;
主链节点公钥 …;
主链节点各自生成的随机数 ……,及其对应的承诺/> ……;
主链主节点生成的挑战c;
主链节点各自生成的响应 …;
在一种实施方式中,S1具体包括:
S1.1:对于一共包含N个节点的主区块链,对主区块链所有节点赋予固定的编号,分别为0、1、2、3……N,初始化视图编号为0;
S1.2:初始化大小固定为n的滑动窗口SWin,所述滑动窗口SWin存储组成主链通讯树的主区块链节点编号;
S1.3:窗口大小n小于总节点数量N,窗口大小n等于3f+1,f表示主区块链所能容忍的最多的拜占庭错误节点数量;
S1.4:在系统初始化阶段,初始化滑动窗口内存储的节点编号为{0, 1, 2, …,n-1},节点编号位于当前滑动窗口内的节点组成当前的共识节点组,共识节点组中的节点参与当前的共识算法,节点编号不在当前滑动窗口内的节点组成验证节点组,验证节点组中的节点不参与当前的共识算法,只负责转发消息、同步最新上链的主链区块;
S1.5:对于滑动窗口内存储的节点编号,按照节点在滑动窗口内从左到右的顺序进行标记,对于位于滑动窗口从左到右第i个位置的节点编号,标记为i-1,原节点编号表示为SWin[i-1];
S1.6:滑动窗口最左侧的节点自动成为当前共识节点组的主节点,在滑动窗口中的位置标记为0,原节点编号表示为SWin[0];
S1.7:编号在滑动窗口SWin内的主区块链节点组成主链通讯树,构建主链通讯树的具体方式如下:
①滑动窗口SWin内的节点按SWin内的顺序标记组成二叉树;
②其中,SWin[0]作为主链主节点,即主链通讯树的根节点;
③而对于其他任一节点SWin[i],定义其左右子节点分别为SWin[2i+1]、SWin[2i+2],定义其父节点为SWin[ ⌊ (i-1)/2 ⌋ ];
④当滑动窗口状态发生变化时,按照以上规则,根据新的滑动窗口状态,重新建立主链通讯树;
S1.8:每当主区块链生成新的区块时,在区块头部写入当前滑动窗口所包含的节点编号;
在一种实施方式中,S2具体包括:
S2.1:跨链节点持续监听多个从区块链网络,当发现从区块链上链新的区块时,跨链节点将收集存储所述区块;
S2.2:跨链节点所存储的从链区块个数到达阈值时,跨链节点将存储的多个从链区块打包,生成从链数据审计请求,发送给主区块链;
S2.3:跨链节点清空已发送的业务链区块内存;
在一种实施方式中,S3具体包括:
S3.1:主链主节点解析跨链节点所发送的从链数据审计请求,主链主节点对待审计数据进行审计;
S3.2:主链主节点将审计结果打包成新区块Block,使用新区块创建Announcement消息,利用通讯树结构向共识节点组广播Announcement消息,在通讯树内,Announcement消息自顶向下地逐层广播;
S3.3:共识节点组中的节点收到来自其父节点发送的Announcement消息后,继续向其子节点发送Announcement消息,直至Announcement消息到达主链通讯树的叶子节点;
S3.4:主链通讯树的节点i在收到其父节点所发送的Announcement消息后,对新区块Block中涉及的从链交易进行审计,
①如果节点i不同意Announcement消息中的审计结果,那么节点i在本轮共识中负责在父节点和子节点间传递消息,并将自身不参与共识的信息写入所传递的消息体内,而不参与签名算法的运算;
②如果节点i同意Announcement消息中的审计结果并打算参与此次共识,那么节点i选取随机数k i,计算生成承诺R i,
a)如果节点i拥有子节点,那么等待子节点发送Commitment消息,节点i在收到子节点Commitment消息后,从中取出子节点发送过来的聚合承诺,节点i将自己的承诺R i与子节点的聚合承诺相加,得到节点i的聚合承诺;节点i从子节点的Commitment消息中取出子节点的聚合公钥,与自身的公钥/>相加,得到节点i的聚合公钥/>;
b)如果节点i不拥有子节点,那么节点i的承诺R i即为节点i的聚合承诺,节点i的公钥/>即为节点i的聚合公钥/>;
③其中,承诺R i的计算式为,/>是椭圆曲线坐标系上的基点;
S3.5:节点i使用所述的聚合承诺和聚合公钥/>,生成Commitment消息,发送给其父节点,在通讯树内,自底向上地将Commitment消息进行逐层传递;
S3.6:共识节点组中的节点收到来自其子节点发送的Commitment消息后,继续向其父节点发送Commitment消息,直至Commitment消息到达主链通讯树的根节点;
S3.7:主链主节点收到其子节点发送的Commitment消息后,计算聚合挑战c,使用聚合挑战c创建Challenge消息,利用通讯树结构向共识节点组广播Challenge消息,在通讯树内,Challenge消息自顶向下地逐层广播,其中,聚合挑战c的计算式为;
S3.8:主链通讯树的节点i在收到其父节点所发送的Challenge消息后,计算响应s i,
①如果节点i拥有子节点,那么等待子节点发送Response消息,节点i在收到子节点的Response消息后,从中取出子节点发送过来的聚合响应,节点i将自己的响应s i与子节点的聚合响应相加,得到节点i的聚合响应;
②如果节点i不拥有子节点,那么节点i的响应s i即为节点i的聚合响应;
③其中,响应的计算式为,/>为节点i的私钥;
S3.9:节点i使用所述的聚合响应,生成Response消息,发送给其父节点,在通讯树内,自底向上地将Response消息进行逐层传递;
S3.10:共识节点组中的节点收到来自其子节点发送的Response消息后,继续向其父节点发送Response消息,直至Response消息到达主链通讯树的根节点;
在一种实施方式中,S4具体包括:
S4.1:主区块链主节点在收到Response消息后,计算生成聚合签名,所述聚合签名包括聚合响应、聚合承诺/>和聚合公钥/>;
S4.2:为了使本轮共识满足拜占庭容错要求,使出错节点数量小于等于系统所能容忍的最多的拜占庭错误节点数量f,主区块链主节点根据消息体,判断参与本轮共识的节点数是否大于等于2f+1,如果小于2f+1,那么本轮共识失败,触发异常状态,如果大于等于2f+1,那么继续验证聚合签名有效性;
S4.3:主区块链主节点根据等式是否成立,来判断聚合签名是否有效,如果等式不成立,那么本轮共识失败,触发异常状态,如果等式成立,那么本轮共识成功,主区块链主节点广播聚合签名,主区块链内各节点将新区块上链;
在一种实施方式中,S5具体包括:
S5.1:主链通讯树中的节点可能出现的主要异常状态如下:
①共识节点发现子节点的Response消息不正确或签名错误;
②共识节点不同意父节点所发送的Announcement消息中的审计结果;
③共识节点组中有节点失去网络连接或崩溃;
④主节点异常或长时间无响应;
⑤主节点判断本轮共识失败;
S5.2:对所述出现异常状态的节点根据其异常状态使用相对应的异常处理方式,具体步骤如下:
①共识节点发现子节点的Response消息不正确或签名错误的异常处理方式具体步骤为:
a)在共识节点组内,节点i的公钥为P i,所有节点都知道彼此的公钥;
b)在Response消息传递阶段,节点i可以验证子节点j提供的Response消息是否正确;
c)节点i已知节点j及其子节点组成的集合J,并且已知集合J中所有节点的公钥;
d)节点i已知子节点j发送的聚合响应,计算式子1:/>;
e)节点i已知子节点j发送的聚合承诺和聚合公钥/>,已知聚合挑战c,计算式子2:/>;
f)如果式子1与式子2相等,那么子节点j发送的Response消息正确,该部分签名正确,如果不相等,该子节点有误,抛弃该子节点传递的Response消息,并在节点i自己的Response消息体内加上节点j的Response消息错误的信息;
②共识节点不同意父节点所发送的Announcement消息中的审计结果的异常处理方式具体步骤为:
a)在Commitment阶段,如果某节点i不认同主节点发布的审计结果,那么节点i在之后的网络通信中将向父节点和子节点都汇报自己不参与本轮共识,但是仍然将收到的父节点消息向子节点转发、将子节点消息向父节点转发;
③共识节点组中有节点失去网络连接或崩溃的异常处理方式具体步骤为:
a)在共识算法运行阶段内,每个节点在向子节点发送消息后,设置一个定时器,设定时间,如果/>时间过后,子节点没有将新消息发送过来,则判定子节点失去连接,节点i在之后的网络通信中将向父节点汇报该子节点失去连接;
④主链主节点异常或长时间无响应的异常处理方式具体步骤为:
a)每个节点在上一整轮共识完成后,设置一个新定时器,设定时间,如果/>时间过后,没有收到新的Announcement消息,则判定主节点异常,此时启动视图转换算法;
⑤主链主节点判断本轮共识失败的异常处理方式具体步骤为:
a)向所有节点广播本轮共识失败的消息,启动视图转换算法;
S5.3:运行视图转换算法,构建由无异常状态节点组成新主链通讯树,具体步骤如下:
①视图转换的发起节点向所有主链共识节点组内所有的节点广播视图转换发起消息,所述视图转换发起消息中包含下一个视图的编号和本地保存的滑动窗口的状态,其中,所述滑动窗口的状态由滑动窗口的左右边界和窗口内被剔除的异常节点组成;
②其他节点收到消息后,向所有节点广播视图转换确认消息,所述视图转换确认消息内包含了下一个视图的编号、滑动窗口状态、发起视图转换节点的编号;
③更新滑动窗口,滑动窗口的更新操作的具体步骤为:
a)将主链主节点和异常节点移除出滑动窗口;
b)对于位于滑动窗口最右侧的节点,其在滑动窗口内的位置标记为n-1,原节点编号为SWin[n-1],在验证节点组内找到节点编号与SWin[n-1]的差的绝对值最小的节点,依次加入到滑动窗口的右侧,为了保持滑动窗口的大小不变,移除出滑动窗口的节点的数量等同于新加入到滑动窗口的节点的数量;
④对于新的滑动窗口,其最左侧节点自动成为新的主链主节点,主节点在收集到共识节点组所有节点发送的视图转换确认消息后,发布新视图消息,所述新视图消息内包含新视图的编号、新的滑动窗口状态、视图转换确认消息的聚合;
⑤新的主节点和新的共识节点组编号组成新的滑动窗口SWin,根据节点编号在SWin中的左右位置顺序,构建主链通讯树。
实施例三
基于同一发明构思,本发明还提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序;当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现实施例一中所述的方法。
由于本发明实施例三所介绍的设备为实施本发明实施例一种主从多链架构下的主链树形快速共识方法所采用的电子设备,故而基于本发明实施例一介绍的方法,本领域所属技术人员能够了解该电子设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一种方法所采用的电子设备都属于本发明所欲保护的范围。
实施例四
基于同一发明构思,本发明还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例一中所述的方法。
由于本发明实施例四所介绍的设备为实施本发明实施例一种主从多链架构下的主链树形快速共识方法所采用的计算机可读介质,故而基于本发明实施例一介绍的方法,本领域所属技术人员能够了解该电子设备的具体结构及变形,故而在此不再赘述。凡是本发明实施例一种方法所采用的电子设备都属于本发明所欲保护的范围。
本发明中所描述的具体实施的例子仅仅是对本发明的方法和步骤的举例说明。本发明所述技术领域的技术人员可以对所描述的具体实施步骤做相应的修改或补充或变形,但是不会背离本发明的原理和实质或者超越所附权利要求书所定义的范围。本发明的范围仅由所附权利要求书限定。
Claims (10)
1.主从多链架构下的主链树形快速共识系统,其特征在于,包括:
从区块链:链上记录区块链交易,并自愿接受主区块链对数据内容是否违法违规进行审查;
跨链节点:负责在从区块链与主区块链之间进行通信,监听从区块链并转发审计请求给主区块链;
主区块链:对从区块链上的交易进行合规审计并进行电子取证,包括共识算法模块和审计模块,对接收跨链节点发送的审计请求、利用共识机制对从区块链交易进行审计、将审计结果上链;
其中,共识机制为主区块链运行的呈二叉树状的共识算法,对审计结果达成共识,并将审计结果上链,在运行共识算法时,主区块链中参与共识的节点组成主链通信树,利用通信树结构进行共签名操作来达成共识;参与共识的节点使用滑动窗口的方式在主链节点中选取。
2.一种主从多链架构下的主链树形快速共识方法,其特征在于,包括:
S1:在主区块链内使用滑动窗口选取节点作为主区块链共识节点组,并利用该共识节点组共同组成一个呈二叉树状的主链通讯树;
S2:跨链节点监听并存储从区块链上已经上链的区块,当存储的从链区块数量到达设定阈值时,跨链节点将存储的多个从链区块打包,生成从链数据审计请求,发送给主区块链;
S3:主区块链将所述跨链节点发送的从链数据审计请求在呈二叉树状的主链通讯树内进行广播,由主链共识节点组运行共识算法,对所述跨链节点发送的请求内容进行审计;
S4:主区块链主节点根据共识算法运行结果,生成聚合签名,根据参与共识的节点数和聚合签名的有效性来判断本轮共识是否成功;
S5:若所述主链通讯树在运行快速共识算法时出现异常状态,则根据不同的异常状态使用相对应的异常处理方式,然后运行视图转换算法,更新滑动窗口,根据新的滑动窗口重新构建主链通讯树。
3.根据权利要求2所述的主从多链架构下的主链树形快速共识方法,其特征在于:所述步骤S1的具体过程具体为:
对于一共包含N个节点的主区块链进行固定编号;
使用大小固定为n的滑动窗口SWin存储组成主链通讯树的主区块链节点编号;窗口大小n小于总节点数量N,窗口大小n等于3f+1,f表示主区块链所能容忍的最多的拜占庭错误节点数量;
按节点是否在滑动窗口内分为共识节点组和验证节点组,共识节点组中的节点参与当前的共识算法,验证节点组中的节点只负责转发消息、同步最新上链的主链区块;
对于滑动窗口内存储的节点编号,并选取共识节点组内的主节点;
利用二叉树将滑动窗口SWin内的主区块链节点构建成主链通讯树。
4.根据权利要求2所述的主从多链架构下的主链树形快速共识方法,其特征在于:步骤S2的具体过程如下:
S2.1:跨链节点持续监听多个从区块链网络,当发现从区块链上链新的区块时,跨链节点将收集存储所述区块;
S2.2:跨链节点所存储的从链区块个数到达设定阈值时,跨链节点将存储的多个从链区块打包,生成从链数据审计请求,发送给主区块链;
S2.3:跨链节点清空已发送的业务链区块内存。
5.根据权利要求2所述的主从多链架构下的主链树形快速共识方法,其特征在于:S3具体包括:
S3.1:主链主节点解析跨链节点所发送的从链数据审计请求,主链主节点对待审计数据进行审计;
S3.2:主链主节点将审计结果打包成新区块,使用新区块创建通知消息,利用通讯树结构向共识节点组广播通知消息;
S3.3:共识节点组中的节点收到来自其父节点发送的通知消息后,继续向其子节点发送通知消息,直至通知消息到达主链通讯树的叶子节点;
S3.4:主链通讯树的节点i在收到其父节点所发送的通知消息后,对新区块中涉及的从链交易进行审计;
S3.5:节点i使用聚合承诺和聚合公钥/>,生成承诺消息,发送给其父节点,在通讯树内,自底向上地将承诺消息进行逐层传递;
S3.6:共识节点组中的节点收到来自其子节点发送的承诺消息后,继续向其父节点发送承诺消息,直至承诺消息到达主链通讯树的根节点;
S3.7:主链主节点收到其子节点发送的承诺消息后,计算聚合挑战c,使用聚合挑战c创建挑战消息,利用通讯树结构向共识节点组广播挑战消息,在通讯树内,挑战消息自顶向下地逐层广播,其中,聚合挑战c的计算式为,其中/>为聚合承诺,/>为聚合公钥;
S3.8:主链通讯树的节点i在收到其父节点所发送的挑战消息后,计算响应s i;
S3.9:节点i使用聚合响应,生成回复消息,发送给其父节点,在通讯树内,自底向上地将回复消息进行逐层传递;
S3.10:共识节点组中的节点收到来自其子节点发送的回复消息后,继续向其父节点发送回复消息,直至回复消息到达主链通讯树的根节点。
6.如权利要求2所述的主从多链架构下的主链树形快速共识方法,其特征在于:S4具体包括:
S4.1:主区块链主节点在收到反馈消息后,计算生成聚合签名,所述聚合签名包括聚合响应、聚合承诺/>和聚合公钥/>;
S4.2:主区块链主节点根据消息体,判断参与本轮共识的节点数是否大于等于2f+1,如果小于2f+1,那么本轮共识失败,触发异常状态,如果大于等于2f+1,那么继续验证聚合签名有效性,f表示主区块链所能容忍的最多的拜占庭错误节点数量;
S4.3:主区块链主节点根据等式是否成立,来判断聚合签名是否有效,如果等式不成立,那么本轮共识失败,触发异常状态,如果等式成立,那么本轮共识成功,主区块链主节点广播聚合签名,主区块链内各节点将新区块上链,其中聚合挑战c和椭圆曲线基点/>。
7.如权利要求2所述的主从多链架构下的主链树形快速共识方法,其特征在于:S5主链通讯树中的节点可能出现的主要异常状态如下:
共识节点发现子节点的反馈消息不正确或签名错误;
共识节点不同意父节点所发送的通知消息中的审计结果;
共识节点组中有节点失去网络连接或崩溃;
主节点异常或长时间无响应;
主节点判断本轮共识失败。
8.如权利要求7所述的主从多链架构下的主链树形快速共识方法,其特征在于:对步骤S5中主链主节点判断本轮共识失败的异常处理方式具体步骤为:
向所有节点广播本轮共识失败的消息,启动视图转换算法;
运行视图转换算法,构建由无异常状态节点组成新主链通讯树,滑动窗口向前推进,将主链主节点和异常节点移除出共识节点组,使滑动窗口的后一个节点加入共识节点组,新的主节点和新的共识节点组编号组成新的滑动窗口SWin,根据节点编号在SWin中保存的下标,构建主链通讯树。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现权利要求2-8中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于:所述程序被处理器执行时实现权利要求2-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310870393.0A CN116862509B (zh) | 2023-07-17 | 2023-07-17 | 主从多链架构下的主链树形快速共识系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310870393.0A CN116862509B (zh) | 2023-07-17 | 2023-07-17 | 主从多链架构下的主链树形快速共识系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116862509A CN116862509A (zh) | 2023-10-10 |
CN116862509B true CN116862509B (zh) | 2024-05-17 |
Family
ID=88226618
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310870393.0A Active CN116862509B (zh) | 2023-07-17 | 2023-07-17 | 主从多链架构下的主链树形快速共识系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116862509B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108521328A (zh) * | 2018-03-26 | 2018-09-11 | 杭州秘猿科技有限公司 | 一种区块链共识方法、装置及电子设备 |
CN110245951A (zh) * | 2019-06-19 | 2019-09-17 | 西南交通大学 | 一种基于树形结构的联盟链主从多链共识方法 |
CN110716980A (zh) * | 2018-06-27 | 2020-01-21 | 上海掌颐网络科技有限公司 | 一种基于嵌套式容器的虚拟覆盖管理共识区块链操作系统 |
CN112152797A (zh) * | 2020-08-26 | 2020-12-29 | 西安电子科技大学 | 区块链远程数据审计监管方法、系统、计算机设备及终端 |
CN113553380A (zh) * | 2021-07-23 | 2021-10-26 | 东北大学 | 面向信誉-行为关联双区块链的数据溯源系统 |
CN114978638A (zh) * | 2022-05-12 | 2022-08-30 | 东南大学 | 一种基于共享节点的区块链跨链监管方法 |
CN115664682A (zh) * | 2022-11-01 | 2023-01-31 | 桂林电子科技大学 | 基于联盟链主从多链的医疗数据共享的共识方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230179435A1 (en) * | 2021-12-06 | 2023-06-08 | Blocky, Inc. | System and method for creating and maintaining immutability, agreement and availability of data |
-
2023
- 2023-07-17 CN CN202310870393.0A patent/CN116862509B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108521328A (zh) * | 2018-03-26 | 2018-09-11 | 杭州秘猿科技有限公司 | 一种区块链共识方法、装置及电子设备 |
CN110716980A (zh) * | 2018-06-27 | 2020-01-21 | 上海掌颐网络科技有限公司 | 一种基于嵌套式容器的虚拟覆盖管理共识区块链操作系统 |
CN110245951A (zh) * | 2019-06-19 | 2019-09-17 | 西南交通大学 | 一种基于树形结构的联盟链主从多链共识方法 |
CN112152797A (zh) * | 2020-08-26 | 2020-12-29 | 西安电子科技大学 | 区块链远程数据审计监管方法、系统、计算机设备及终端 |
CN113553380A (zh) * | 2021-07-23 | 2021-10-26 | 东北大学 | 面向信誉-行为关联双区块链的数据溯源系统 |
CN114978638A (zh) * | 2022-05-12 | 2022-08-30 | 东南大学 | 一种基于共享节点的区块链跨链监管方法 |
CN115664682A (zh) * | 2022-11-01 | 2023-01-31 | 桂林电子科技大学 | 基于联盟链主从多链的医疗数据共享的共识方法 |
Non-Patent Citations (2)
Title |
---|
Towards Practical Auditing of Dynamic Data in Decentralized Storage;Huayi Duan;IEEE Transactions on Dependable and Secure Computing;20220113;全文 * |
分层跨链结构:一种面向区块链系统监管的可行架构;经普杰 等;通信学报;20230331;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116862509A (zh) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230239157A1 (en) | Network for improved verification speed with tamper resistant data | |
CN110113388B (zh) | 一种基于改进型聚类算法的区块链系统共识的方法和装置 | |
CN108848056B (zh) | 基于验证的区块链共识方法 | |
Huang et al. | Consensus mechanism for software-defined blockchain in internet of things | |
Ozisik et al. | Graphene: efficient interactive set reconciliation applied to blockchain propagation | |
US20210287216A1 (en) | Blockchain-based data verification system and method, computing device and storage medium | |
CN110169015A (zh) | 在分布式系统中的网络节点之间达成共识 | |
CN111899002B (zh) | 一种区块链中高效进行跨链信息交易交互的方法 | |
Wu et al. | Distributed error correction coding scheme for low storage blockchain systems | |
JP7192196B2 (ja) | 複数のノードに基づくネットワークトランザクション検証方法及びそのシステム並びに記憶媒体 | |
CN113645278B (zh) | 一种区块链的跨链消息传输方法、设备、存储介质 | |
CN116366673A (zh) | 一种面向电网信息机房管理的数据分析与共享方法 | |
CN115174570A (zh) | 一种基于动态委员会的跨链共识方法及系统 | |
US20230409450A1 (en) | Consensus processing method and apparatus for blockchain network | |
CN116862509B (zh) | 主从多链架构下的主链树形快速共识系统及方法 | |
CN113902440A (zh) | 一种基于分布式密钥的联盟链跨链交易方法和装置 | |
Chen | Fundamental limits of Byzantine agreement | |
CN112860807B (zh) | 一种适用于无线区块链网络的容错共识方法 | |
CN116361385A (zh) | 一种区块链的共识方法及系统 | |
CN111447057A (zh) | 一种基于门限秘密共享技术的安全存储方法及设备 | |
CN116192382B (zh) | 一种基于区块链的dh密钥第三方篡改验证方法及系统 | |
CN115759893B (zh) | 跨链的物流业务管理方法、装置及电子设备 | |
CN115955319B (zh) | 数据集生成系统 | |
CN116861390B (zh) | 基于聚合签名的跨区块链批量交易认证方法和装置 | |
CN113949711B (zh) | 分布式过程数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |