CN109274674A - 一种具有高安全性的区块链异构共识方法及终端 - Google Patents
一种具有高安全性的区块链异构共识方法及终端 Download PDFInfo
- Publication number
- CN109274674A CN109274674A CN201811128359.1A CN201811128359A CN109274674A CN 109274674 A CN109274674 A CN 109274674A CN 201811128359 A CN201811128359 A CN 201811128359A CN 109274674 A CN109274674 A CN 109274674A
- Authority
- CN
- China
- Prior art keywords
- fragment
- decision node
- node
- message blocks
- value
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 239000012634 fragment Substances 0.000 claims abstract description 235
- 238000001914 filtration Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012216 screening Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 6
- 238000012795 verification Methods 0.000 abstract description 8
- 230000007547 defect Effects 0.000 description 5
- 239000000203 mixture Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003014 reinforcing effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种具有高安全性的区块链异构共识方法及终端,在每一轮共识过程中,分别筛选出区块中每一分片的决策节点,从而筛选出区块的第一决策节点,并通过分片中的节点验证该分片对应的决策节点生成的子消息块,只有子消息块被分片中,不少于预设数目节点验证通过块后,第一决策节点才进行接收;并通过决策节点对每一分片的决策节点发送的子消息块进行验证,并对验证通过的子消息块进行合并,得到合并后的消息块,并将消息块分别发送至每一分片的决策节点进行验证,当验证通过的数目大于预设数目阈值时,表示该消息块验证通过;本发明解决了当黑客攻击区块链中某一分片的节点,而引起区块决策发生重大失误的问题,提高了区块链的安全性。
Description
技术领域
本发明涉及区块链技术领域,尤其涉及一种具有高安全性的区块链异构共识方法及终端。
背景技术
共识机制是区块链的核心技术之一。共识机制是区块链中互不信任的用户达成信任的机制,是区块链中记录传递、验证、复制的基础。目前的共识机制主要包括工作量证明(Proof of Work,PoW),权益证明(Proof of Stake,PoS),委任权益证明(Delegated Proofof Stake,DPoS)和实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)以及这4种共识机制的变形。当然,现在新型的分布式账本技术,例如以有向无环图(Directed Acyclic Graph,DAG)为代表的新型分布式账本技术自带共识机制。现有的共识机制或多或少都存在问题。例如PoW共识机制存在资源浪费、共识时间长以及共识垄断以及天然的51%攻击的缺陷;PoS共识机制存在长链攻击、共识垄断以及共识难以证明的缺陷;DPoS共识机制存在中心化、长链攻击以及共识难以证明的缺陷;PBFT共识机制存在共识时间随共识节点数量指数增长的缺陷;而以DAG为基础的自带共识的新型分布式账本技术存在安全性弱以及共识中心化的问题。
安全性是共识机制最重要的属性。共识机制是区块链的核心,共识机制的安全性直接决定了整个区块链系统的安全性。因此加强共识机制的安全性是提升整个区块链系统安全系的关键。目前的共识机制大多为了可用性而忽略了一部分的安全性,或者仅仅考虑了一部分安全性,也可以说目前共识机制仅仅考虑防系统内部人做坏的安全性,而很少考虑防黑客攻击的安全性。
目前的区块链大多采用单共识,或者多种共识顺序叠加的共识机制,例如有区块链系统采用PoW+PBFT的共识机制,这种叠加的共识机制,大多是用PoW做初步共识,然后再采用其它共识机制。这种模式的共识机制并不能从根本上解决上面提到的共识机制所面临的缺陷。
发明内容
本发明所要解决的技术问题是:本发明提供了一种具有高安全性的区块链异构共识方法及终端,在一定程度上能够防止黑客攻击而引起的区块链安全性问题,提高了区块链的安全性。
为了解决上述技术问题,本发明提供了一种具有高安全性的区块链异构共识方法,包括以下步骤:
S1:在每一轮共识过程中,筛选出区块中每一分片的决策节点;
S2:根据所有分片的决策节点,筛选出区块的第一决策节点;
S3:通过第一决策节点接收每一分片的决策节点发送的子消息块;所述子消息块为该分片的决策节点生成,并通过该分片中不少于预设数目节点的验证;
S4:所述第一决策节点分别对每一分片发送的子消息块的签名信息进行验证;
S5:合并验证通过的子消息块,得到合并后的消息块;
S6:通过所述第一决策节点将所述消息块分别发送至每一分片的决策节点;
S7:若所述第一决策节点接收超过预设第一数目阈值的决策节点回发的第一签名信息,则判断所述消息块验证通过;所述第一签名信息为分片的决策节点对消息块验证通过后,回发的验证通过对应的签名信息。
本发明还提供了一种具有高安全性的区块链异构共识终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S1:在每一轮共识过程中,筛选出区块中每一分片的决策节点;
S2:根据所有分片的决策节点,筛选出区块的第一决策节点;
S3:通过第一决策节点接收每一分片的决策节点发送的子消息块;所述子消息块为该分片的决策节点生成,并通过该分片中不少于预设数目节点的验证;
S4:所述第一决策节点分别对每一分片发送的子消息块的签名信息进行验证;
S5:合并验证通过的子消息块,得到合并后的消息块;
S6:通过所述第一决策节点将所述消息块分别发送至每一分片的决策节点;
S7:若所述第一决策节点接收超过预设第一数目阈值的决策节点回发的第一签名信息,则判断所述消息块验证通过;所述第一签名信息为分片的决策节点对消息块验证通过后,回发的验证通过对应的签名信息。
本发明的有益效果为:
本发明提供了一种具有高安全性的区块链异构共识方法及终端,在每一轮共识过程中,均分别筛选出区块中每一分片的决策节点,从而筛选出区块的第一决策节点,并通过分片中的节点验证该分片对应的决策节点生成的子消息块,只有子消息块被分片中,不少于预设数目节点验证通过块后,第一决策节点才进行接收;并通过决策节点对每一分片的决策节点发送的子消息块进行验证,并对验证通过的子消息块进行合并,得到合并后的消息块,并将消息块分别发送至每一分片对应的决策节点进行验证,当验证通过的数目大于预设数目阈值时,表示该消息块验证通过,可广播该消息块;本发明通过上述方法,在每一轮共识过程中均选出每一分片的决策节点及所有分片组成区块新的决策节点,使得攻击者无法判断每一分片的决策节点及区块的决策节点,也就无法控制整个共识过程,同时每个分片所采用的共识算法不同,攻击者无法通过一种攻击策略控制所有的分片,也就无法控制整个共识过程,攻击者想要控制共识过程必须控制系统的绝大多数节点,这无疑增大了攻击的难度,从而解决了黑客攻击区块链中某一分片的节点,而引起区块决策发生重大失误的问题,提高了区块链的安全性。
附图说明
图1为根据本发明实施例的一种具有高安全性的区块链异构共识方法的主要步骤示意图;
图2为根据本发明实施例的一种具有高安全性的区块链异构共识终端的结构示意图;
标号说明:
1、存储器;2、处理器。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参照图1,本发明提供了一种具有高安全性的区块链异构共识方法,包括以下步骤:
S1:在每一轮共识过程中,筛选出区块中每一分片的决策节点;
S2:根据所有分片的决策节点,筛选出区块的第一决策节点;
S3:通过第一决策节点接收每一分片的决策节点发送的子消息块;所述子消息块为该分片的决策节点生成,并通过该分片中不少于预设数目节点的验证;
S4:所述第一决策节点分别对每一分片发送的子消息块的签名信息进行验证;
S5:合并验证通过的子消息块,得到合并后的消息块;
S6:通过所述第一决策节点将所述消息块分别发送至每一分片的决策节点;
S7:若所述第一决策节点接收超过预设第一数目阈值的决策节点回发的第一签名信息,则判断所述消息块验证通过;所述第一签名信息为分片的决策节点对消息块验证通过后,回发的验证通过对应的签名信息。
从上述描述可知,本发明提供了一种具有高安全性的区块链异构共识方法,在每一轮共识过程中,均分别筛选出区块中每一分片的决策节点,从而筛选出区块的第一决策节点,并通过分片中的节点验证该分片对应的决策节点生成的子消息块,只有子消息块被分片中,不少于预设数目节点验证通过块后,第一决策节点才进行接收;并通过决策节点对每一分片的决策节点发送的子消息块进行验证,并对验证通过的子消息块进行合并,得到合并后的消息块,并将消息块分别发送至每一分片对应的决策节点进行验证,当验证通过的数目大于预设数目阈值时,表示该消息块验证通过,可广播该消息块;本发明通过上述方法,在每一轮共识过程中均选出每一分片的决策节点及所有分片组成区块新的决策节点,使得攻击者无法判断每一分片的决策节点及区块的决策节点,也就无法控制整个共识过程,同时每个分片所采用的共识算法不同,攻击者无法通过一种攻击策略控制所有的分片,也就无法控制整个共识过程,攻击者想要控制共识过程必须控制系统的绝大多数节点,这无疑增大了攻击的难度,从而解决了当黑客攻击区块链中某一分片的节点,而引起区块决策发生重大失误的问题,提高了区块链的安全性。
进一步的,所述S1具体为:
S11:在每一轮共识过程中,通过预设的第一公式分别计算一分片中所有节点对应的竞争值,得到多个竞争值;
S12:从所述多个竞争值中筛选出满足预设条件的竞争值,得到多个第一竞争值;
S13:公布每一个第一竞争值对应的节点及该节点用于数据解密的公钥;
S14:在预设时间内,获取所有公布的第一竞争值中的最小值,第一最小竞争值;
S15:筛选所述第一最小竞争值对应的节点作为该分片的决策节点;
S16:重复步骤S11至S15,直至筛选出该分块中所有分片的决策节点。
从上述描述可知,在每一轮共识过程中,均计算出每一分片中所有节点的竞争值,并选出该分片中最小竞争值对应的节点作为该分片的决策节点,使得攻击者无法事先确定该轮共识过程中的每一分片的决策节点,提高了区块链共识过程中的安全性;上述公布每一个竞争值对应的节点及该节点用于数据解密的公钥,便于每一分片的节点通过相应的公钥对子消息块的签名信息进行验证。
进一步的,所述第一公式具体为:
其中,所述为第i个分片序号为j的待选节点的竞争值,所述表示第i个分片序号为j的待选节点上用于加密数据的私钥,r表示当前共识过程的轮数,表示第r轮共识中第i分片对应的随机数,表示利用私钥对i和r以及进行数据签名,H1为哈希函数,即对i、r以及通过私钥进行签名后的数据进行哈希运算。
进一步的,所述S2具体为:
根据每一分片的决策节点对应的竞争值,筛选出所述区块唯一的第一决策节点。
从上述描述可知,在每一轮共识过程中,均根据选出的每一分片的决策节点,筛选出所有分片组成的区块唯一的第一决策节点,提高了共识过程中的安全性。
进一步的,所述S4具体为:
通过所述第一决策节点接收每一分片的决策节点发送的子消息块;
控制第一决策节点通过每一分片的决策节点的公钥,验证对应分片决策节点发送的子消息块签名信息的正确性;所述签名信息为该分片的决策节点通过该决策节点上存储的私钥进行签名所得到的信息。
从上述描述可知,通过上述方法,可有效对每一分片的决策节点发送的子消息块进行验证,提高了共识过程的安全性;同时,每一分片的决策节点的公钥,可通过上述公布的节点及该节点上用于数据解密的公钥获取得到;
进一步的,所述S6具体为:
控制第一决策节点通过实用拜占庭容错算法将所述消息块分别发送至每一分片的决策节点。
从上述描述可知,能够保证将消息块发送至第一分片的决策节点上,提高了系统的容错性。
进一步的,所述的一种具有高安全性的区块链异构共识方法,其特征在于,还包括:
预设第一属性列表A={A1,A2,A3},即所述第一属性列表A中预设三个属性标识值A1,A2,A3;
预设第二属性列表B={B1,B2,B3},即所述第二属性列表B中预设三个属性标识值B1,B2,B3;
判断区块链中是否有新增的节点,若有,则从A和B中分配一个标识值,得到第一标识值和第二标识值;
根据第一标识值和第二标识值,将所述新增的节点分配至相应序号的分片中。
其中属性的标识值为A1,B1对应的分片序号为1+9n(n=0,1,2,…),属性的标识值为A1,B2对应的分片序号为2+9n(n=0,1,2,…),属性的标识值为A1,B3对应的分片序号为3+9n(n=0,1,2,…),属性的标识值为A2,B1对应的分片序号为4+9n(n=0,1,2,…),属性的标识值为A2,B2对应的分片序号为5+9n(n=0,1,2,…),属性的标识值为A2,B3对应的分片序号为6+9n(n=0,1,2,…),属性的标识值为A3,B1对应的分片序号为7+9n(n=0,1,2,…),属性的标识值为A3,B2对应的分片序号为8+9n(n=0,1,2,…),属性的标识值为A3,B3对应的分片序号为9+9n(n=0,1,2,…),所述n表示新增节点的序号。
请参照图2,本发明提供了一种具有高安全性的区块链异构共识终端,包括存储器1、处理器2及存储在存储器1上并可在处理器2上运行的计算机程序,所述处理器2执行所述程序时实现以下步骤:
S1:在每一轮共识过程中,筛选出区块中每一分片的决策节点;
S2:根据所有分片的决策节点,筛选出区块的第一决策节点;
S3:通过第一决策节点接收每一分片的决策节点发送的子消息块;所述子消息块为该分片的决策节点生成,并通过该分片中不少于预设数目节点的验证;
S4:所述第一决策节点分别对每一分片发送的子消息块的签名信息进行验证;
S5:合并验证通过的子消息块,得到合并后的消息块;
S6:通过所述第一决策节点将所述消息块分别发送至每一分片的决策节点;
S7:若所述第一决策节点接收超过预设第一数目阈值的决策节点回发的第一签名信息,则判断所述消息块验证通过;所述第一签名信息为分片的决策节点对消息块验证通过后,回发的验证通过对应的签名信息。
进一步的,所述的一种具有高安全性的区块链异构共识终端,所述S1具体为:
S11:在每一轮共识过程中,通过预设的第一公式分别计算一分片中所有节点对应的竞争值,得到多个竞争值;
S12:从所述多个竞争值中筛选出满足预设条件的竞争值,得到多个第一竞争值;
S13:公布每一个第一竞争值对应的节点及该节点用于数据解密的公钥;
S14:在预设时间内,获取所有公布的第一竞争值中的最小值,第一最小竞争值;
S15:筛选所述第一最小竞争值对应的节点作为该分片的决策节点;
S16:重复步骤S11至S15,直至筛选出该分块中所有分片的决策节点。
进一步的,所述的一种具有高安全性的区块链异构共识终端,所述第一公式具体为:
其中,所述为第i个分片序号为j的待选节点的竞争值,所述表示第i个分片序号为j的待选节点上用于加密数据的私钥,r表示当前共识过程的轮数,表示第r轮共识中第i分片对应的随机数,表示利用私钥对i和r以及进行数据签名,H1为哈希函数。
进一步的,所述的一种具有高安全性的区块链异构共识终端,所述S2具体为:
根据每一分片的决策节点对应的竞争值,筛选出所述区块唯一的第一决策节点。
进一步的,所述的一种具有高安全性的区块链异构共识终端,所述S4具体为:
通过所述第一决策节点接收每一分片的决策节点发送的子消息块;
通过每一分片的决策节点的公钥,验证对应分片决策节点发送的子消息块签名信息的正确性;所述签名信息为该分片的决策节点通过该决策节点上存储的私钥进行签名所得到的信息。
进一步的,所述的一种具有高安全性的区块链异构共识终端,所述S6具体为:
控制第一决策节点通过实用拜占庭容错算法将所述消息块分别发送至每一分片的决策节点。
进一步的,所述的一种具有高安全性的区块链异构共识方法,其特征在于,还包括:
预设第一属性列表A={A1,A2,A3},即所述第一属性列表A中预设三个属性标识值A1,A2,A3;
预设第二属性列表B={B1,B2,B3},即所述第二属性列表B中预设三个属性标识值B1,B2,B3;
判断区块链中是否有新增的节点,若有,则从A和B中分配一个标识值,得到第一标识值和第二标识值;
根据第一标识值和第二标识值,将所述新增的节点分配至相应序号的分片中。
其中属性的标识值为A1,B1对应的分片序号为1+9n(n=0,1,2,…),属性的标识值为A1,B2对应的分片序号为2+9n(n=0,1,2,…),属性的标识值为A1,B3对应的分片序号为3+9n(n=0,1,2,…),属性的标识值为A2,B1对应的分片序号为4+9n(n=0,1,2,…),属性的标识值为A2,B2对应的分片序号为5+9n(n=0,1,2,…),属性的标识值为A2,B3对应的分片序号为6+9n(n=0,1,2,…),属性的标识值为A3,B1对应的分片序号为7+9n(n=0,1,2,…),属性的标识值为A3,B2对应的分片序号为8+9n(n=0,1,2,…),属性的标识值为A3,B3对应的分片序号为9+9n(n=0,1,2,…),所述n表示新增节点的序号。
请参照图1,本发明的实施例一为:
本发明提供了一种具有高安全性的区块链异构共识方法,包括以下步骤:
S0:预设第一属性列表A={A1,A2,A3},即所述第一属性列表A中预设三个属性标识值A1,A2,A3;预设第二属性列表B={B1,B2,B3},即所述第二属性列表B中预设三个属性标识值B1,B2,B3;
判断区块链中是否有新增的节点,若有,则从A和B中分配一个标识值,得到第一标识值和第二标识值;根据第一标识值和第二标识值,将所述新增的节点分配至相应序号的分片中;
其中属性的标识值为A1,B1对应的分片序号为1+9n(n=0,1,2,…),属性的标识值为A1,B2对应的分片序号为2+9n(n=0,1,2,…),属性的标识值为A1,B3对应的分片序号为3+9n(n=0,1,2,…),属性的标识值为A2,B1对应的分片序号为4+9n(n=0,1,2,…),属性的标识值为A2,B2对应的分片序号为5+9n(n=0,1,2,…),属性的标识值为A2,B3对应的分片序号为6+9n(n=0,1,2,…),属性的标识值为A3,B1对应的分片序号为7+9n(n=0,1,2,…),属性的标识值为A3,B2对应的分片序号为8+9n(n=0,1,2,…),属性的标识值为A3,B3对应的分片序号为9+9n(n=0,1,2,…),所述n表示新增节点的序号。
S1:在每一轮共识过程中,筛选出区块中每一分片的决策节点;
其中,所述S1具体为:
S11:在每一轮共识过程中,通过预设的第一公式分别计算一分片中所有节点对应的竞争值,得到多个竞争值;
其中,所述第一公式具体为:
其中,所述为第i个分片序号为j的待选节点的竞争值,所述表示第i个分片序号为j的待选节点上用于加密数据的私钥,r表示当前共识过程的轮数,表示第r轮共识中第i分片对应的随机数,表示利用私钥对i和r以及进行数据签名,H1为哈希函数;
通过预设的第一公式分别计算一分片中所有节点对应的竞争值,得到多个竞争值,具体为:
通过第一公式计算得到分别计算一分片中所有节点对应的哈希值,将哈希值转换为二制数,得到多个二进制数,所述多个二进制数即为所述多个竞争值,每一个竞争值与所述分片中一节点对应。
S12:从所述多个竞争值中筛选出满足预设条件的竞争值(即筛选出小于预设竞争值阈值的竞争值,这个阈值的选取和参与竞争的待选节点数量和需要选取出来的待选节点的数量有关,可以根据实际需求自己设定),得到多个第一竞争值;
S13:公布每一个第一竞争值对应的节点及该节点用于数据解密的公钥;
S14:在预设时间内,获取所有公布的第一竞争值中的最小值,第一最小竞争值;
S15:筛选所述第一最小竞争值对应的节点作为该分片的决策节点;
S16:重复步骤S11至S15,直至筛选出该分块中所有分片的决策节点。
S2:根据所有分片的决策节点,筛选出区块的第一决策节点;
其中,所述S2具体为:
根据每一分片的决策节点对应的竞争值,得到其中最小的第二竞争值;
筛选所述第二竞争值对应的节点作为所述区块唯一的第一决策节点。
S3:通过第一决策节点接收每一分片的决策节点发送的子消息块;所述子消息块是在每一个分片中产生的区块,和普通区块链上的区块的概念一样,区块中包含多个消息;所述子消息块为该分片的决策节点生成,并通过该分片中不少于预设数目节点的验证;
其中,所述S3具体为:
每一分片的决策节点生成子消息块后,所述子消息块包括签名信息,该签名信息为该决策节点通过存储在该决策节点上的私钥进行签名得到的信息;
所述决策节点分别发送该子消息块至该分片内的所有节点,接收至子消息块的节点,通过该决策节点对应的公钥(公钥通过公布的节点及该节点上用于数据解密的公钥获取得到),对子消息块进行验证,若验证通过后,则回发验证通过对应的签名数据至该决策节点;当该决策节点接收到的验证通过对应的签名数据超过预设数目,则判断所述子消息块验证通过;当该子消息块验证通过后,该决策节点发送子消息块至第一决策节点;
优选的,预设数目为该分片中所有节点的数目与2/3的乘积。
S4:所述第一决策节点分别对每一分片发送的子消息块的签名信息进行验证;
其中,所述S4具体为:
通过所述第一决策节点接收每一分片的决策节点发送的子消息块;
通过每一分片的决策节点的公钥,验证对应分片决策节点发送的子消息块签名信息的正确性;所述签名信息为该分片的决策节点通过该决策节点上存储的私钥进行签名所得到的信息。
S5:合并验证通过的子消息块,得到合并后的消息块;
S6:通过所述第一决策节点将所述消息块分别发送至每一分片的决策节点;
其中,所述S6具体为:
控制第一决策节点通过实用拜占庭容错算法将所述消息块分别发送至每一分片的决策节点。
S7:若所述第一决策节点接收超过预设第一数目阈值的决策节点回发的第一签名信息,则判断所述消息块验证通过;所述第一签名信息为分片的决策节点对消息块验证通过后,回发的验证通过对应的签名信息;
其中,其中第一数目阈值为所有分片决策节点的数目与2/3的乘积;
在实际应用过程中,对于新加入系统的节点,需要事先加入至某一分片中。
请参照图2,本发明的实施例二为:
本发明提供了一种具有高安全性的区块链异构共识终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
S0:预设第一属性列表A={A1,A2,A3},即所述第一属性列表A中预设三个属性标识值A1,A2,A3;预设第二属性列表B={B1,B2,B3},即所述第二属性列表B中预设三个属性标识值B1,B2,B3;
判断区块链中是否有新增的节点,若有,则从A和B中分配一个标识值,得到第一标识值和第二标识值;根据第一标识值和第二标识值,将所述新增的节点分配至相应序号的分片中;
其中属性的标识值为A1,B1对应的分片序号为1+9n(n=0,1,2,…),属性的标识值为A1,B2对应的分片序号为2+9n(n=0,1,2,…),属性的标识值为A1,B3对应的分片序号为3+9n(n=0,1,2,…),属性的标识值为A2,B1对应的分片序号为4+9n(n=0,1,2,…),属性的标识值为A2,B2对应的分片序号为5+9n(n=0,1,2,…),属性的标识值为A2,B3对应的分片序号为6+9n(n=0,1,2,…),属性的标识值为A3,B1对应的分片序号为7+9n(n=0,1,2,…),属性的标识值为A3,B2对应的分片序号为8+9n(n=0,1,2,…),属性的标识值为A3,B3对应的分片序号为9+9n(n=0,1,2,…),所述n表示新增节点的序号。
S1:在每一轮共识过程中,筛选出区块中每一分片的决策节点;
其中,所述S1具体为:
S11:在每一轮共识过程中,通过预设的第一公式分别计算一分片中所有节点对应的竞争值,得到多个竞争值;
其中,所述第一公式具体为:
其中,所述为第i个分片序号为j的待选节点的竞争值,所述表示第i个分片序号为j的待选节点上用于加密数据的私钥,r表示当前共识过程的轮数,表示第r轮共识中第i分片对应的随机数,表示利用私钥对i和r以及进行数据签名,H1为哈希函数。
S12:从所述多个竞争值中筛选出满足预设条件的竞争值,得到多个第一竞争值;
S13:公布每一个第一竞争值对应的节点及该节点用于数据解密的公钥;
S14:在预设时间内,获取所有公布的第一竞争值中的最小值,第一最小竞争值;
S15:筛选所述第一最小竞争值对应的节点作为该分片的决策节点;
S16:重复步骤S11至S15,直至筛选出该分块中所有分片的决策节点。
S2:根据所有分片的决策节点,筛选出区块的第一决策节点;
其中,所述S2具体为:
根据每一分片的决策节点对应的竞争值,得到其中最小的第二竞争值;
筛选所述第二竞争值对应的节点作为所述区块唯一的第一决策节点。
S3:通过第一决策节点接收每一分片的决策节点发送的子消息块;所述子消息块为该分片的决策节点生成,并通过该分片中不少于预设数目节点的验证;
其中,所述S3具体为:
每一分片的决策节点生成子消息块后,所述子消息块包括签名信息,该签名信息为该决策节点通过存储在该决策节点上的私钥进行签名得到的信息;
所述决策节点分别发送该子消息块至该分片内的所有节点,接收至子消息块的节点,通过该决策节点对应的公钥(公钥通过公布的节点及该节点上用于数据解密的公钥获取得到),对子消息块进行验证,若验证通过后,则回发验证通过对应的签名数据至该决策节点;当该决策节点接收到的验证通过对应的签名数据超过预设数目,则判断所述子消息块验证通过;当该子消息块验证通过后,该决策节点发送子消息块至第一决策节点;
优选的,预设数目为该分片中所有节点的数目与2/3的乘积。
S4:所述第一决策节点分别对每一分片发送的子消息块的签名信息进行验证;
其中,所述S4具体为:
通过所述第一决策节点接收每一分片的决策节点发送的子消息块;
通过每一分片的决策节点的公钥,验证对应分片决策节点发送的子消息块签名信息的正确性;所述签名信息为该分片的决策节点通过该决策节点上存储的私钥进行签名所得到的信息。
S5:合并验证通过的子消息块,得到合并后的消息块;
S6:通过所述第一决策节点将所述消息块分别发送至每一分片的决策节点;
其中,所述S6具体为:
控制第一决策节点通过实用拜占庭容错算法将所述消息块分别发送至每一分片的决策节点。
S7:若所述第一决策节点接收超过预设第一数目阈值的决策节点回发的第一签名信息,则判断所述消息块验证通过;所述第一签名信息为分片的决策节点对消息块验证通过后,回发的验证通过对应的签名信息;
其中,其中第一数目阈值为所有分片决策节点的数目与2/3的乘积;
综上所述,本发明提供了一种具有高安全性的区块链异构共识方法及终端,在每一轮共识过程中,均分别筛选出区块中每一分片的决策节点,从而筛选出区块的第一决策节点,并通过分片中的节点验证该分片对应的决策节点生成的子消息块,只有子消息块被分片中,不少于预设数目节点验证通过块后,第一决策节点才进行接收;并通过决策节点对每一分片的决策节点发送的子消息块进行验证,并对验证通过的子消息块进行合并,得到合并后的消息块,并将消息块分别发送至每一分片对应的决策节点进行验证,当验证通过的数目大于预设数目阈值时,表示该消息块验证通过,可广播该消息块;本发明通过上述方法,在每一轮共识过程中均选出每一分片的决策节点及所有分片组成区块新的决策节点,使得攻击者无法判断每一分片的决策节点及区块的决策节点,也就无法控制整个共识过程,同时每个分片所采用的共识算法不同,攻击者无法通过一种攻击策略控制所有的分片,也就无法控制整个共识过程,攻击者想要控制共识过程必须控制系统的绝大多数节点,这无疑增大了攻击的难度,从而解决了黑客攻击区块链中某一分片的节点,而引起区块决策发生重大失误的问题,提高了区块链的安全性。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种具有高安全性的区块链异构共识方法,其特征在于,包括以下步骤:
S1:在每一轮共识过程中,筛选出区块中每一分片的决策节点;
S2:根据所有分片的决策节点,筛选出区块的第一决策节点;
S3:通过第一决策节点接收每一分片的决策节点发送的子消息块;所述子消息块为该分片的决策节点生成,并通过该分片中不少于预设数目节点的验证;
S4:所述第一决策节点分别对每一分片发送的子消息块的签名信息进行验证;
S5:合并验证通过的子消息块,得到合并后的消息块;
S6:通过所述第一决策节点将所述消息块分别发送至每一分片的决策节点;
S7:若所述第一决策节点接收超过预设第一数目阈值的决策节点回发的第一签名信息,则判断所述消息块验证通过;所述第一签名信息为分片的决策节点对消息块验证通过后,回发的验证通过对应的签名信息。
2.根据权利要求1所述的一种具有高安全性的区块链异构共识方法,其特征在于,所述S1具体为:
S11:在每一轮共识过程中,通过预设的第一公式分别计算一分片中所有节点对应的竞争值,得到多个竞争值;
S12:从所述多个竞争值中筛选出满足预设条件的竞争值,得到多个第一竞争值;
S13:公布每一个第一竞争值对应的节点及该节点用于数据解密的公钥;
S14:在预设时间内,获取所有公布的第一竞争值中的最小值,第一最小竞争值;
S15:筛选所述第一最小竞争值对应的节点作为该分片的决策节点;
S16:重复步骤S11至S15,直至筛选出该分块中所有分片的决策节点。
3.根据权利要求2所述的一种具有高安全性的区块链异构共识方法,其特征在于,所述第一公式具体为:
其中,所述为第i个分片序号为j的待选节点的竞争值,所述表示第i个分片序号为j的待选节点上用于加密数据的私钥,r表示当前共识过程的轮数,表示第r轮共识中第i分片对应的随机数,表示利用私钥对i和r以及进行数据签名,H1为哈希函数。
4.根据权利要求2或3所述的一种具有高安全性的区块链异构共识方法,其特征在于,所述S2具体为:
根据每一分片的决策节点对应的竞争值,筛选出所述区块唯一的第一决策节点。
5.根据权利要求2所述的一种具有高安全性的区块链异构共识方法,其特征在于,所述S4具体为:
通过所述第一决策节点接收每一分片的决策节点发送的子消息块;
通过每一分片的决策节点的公钥,验证对应分片决策节点发送的子消息块签名信息的正确性;所述签名信息为该分片的决策节点通过该决策节点上存储的私钥进行签名所得到的信息。
6.根据权利要求1所述的一种具有高安全性的区块链异构共识方法,其特征在于,所述S6具体为:
控制第一决策节点通过实用拜占庭容错算法将所述消息块分别发送至每一分片的决策节点。
7.根据权利要求1所述的一种具有高安全性的区块链异构共识方法,其特征在于,还包括:
预设第一属性列表A={A1,A2,A3},即所述第一属性列表A中预设三个属性标识值A1,A2,A3;
预设第二属性列表B={B1,B2,B3},即所述第二属性列表B中预设三个属性标识值B1,B2,B3;
判断区块链中是否有新增的节点,若有,则从A和B中分配一个标识值,得到第一标识值和第二标识值;
根据第一标识值和第二标识值,将所述新增的节点分配至相应序号的分片中。
8.一种具有高安全性的区块链异构共识终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:
S1:在每一轮共识过程中,筛选出区块中每一分片的决策节点;
S2:根据所有分片的决策节点,筛选出区块的第一决策节点;
S3:通过第一决策节点接收每一分片的决策节点发送的子消息块;所述子消息块为该分片的决策节点生成,并通过该分片中不少于预设数目节点的验证;
S4:所述第一决策节点分别对每一分片发送的子消息块的签名信息进行验证;
S5:合并验证通过的子消息块,得到合并后的消息块;
S6:通过所述第一决策节点将所述消息块分别发送至每一分片的决策节点;
S7:若所述第一决策节点接收超过预设第一数目阈值的决策节点回发的第一签名信息,则判断所述消息块验证通过;所述第一签名信息为分片的决策节点对消息块验证通过后,回发的验证通过对应的签名信息。
9.根据权利要求8所述的一种具有高安全性的区块链异构共识终端,其特征在于,所述S1具体为:
S11:在每一轮共识过程中,通过预设的第一公式分别计算一分片中所有节点对应的竞争值,得到多个竞争值;
S12:从所述多个竞争值中筛选出满足预设条件的竞争值,得到多个第一竞争值;
S13:公布每一个第一竞争值对应的节点及该节点用于数据解密的公钥;
S14:在预设时间内,获取所有公布的第一竞争值中的最小值,第一最小竞争值;
S15:筛选所述第一最小竞争值对应的节点作为该分片的决策节点;
S16:重复步骤S11至S15,直至筛选出该分块中所有分片的决策节点。
10.根据权利要求9所述的一种具有高安全性的区块链异构共识终端,其特征在于,所述第一公式具体为:
其中,所述为第i个分片序号为j的待选节点的竞争值,所述表示第i个分片序号为j的待选节点上用于加密数据的私钥,r表示当前共识过程的轮数,表示第r轮共识中第i分片对应的随机数,表示利用私钥对i和r以及进行数据签名,H1为哈希函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811128359.1A CN109274674B (zh) | 2018-09-27 | 2018-09-27 | 一种具有高安全性的区块链异构共识方法及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811128359.1A CN109274674B (zh) | 2018-09-27 | 2018-09-27 | 一种具有高安全性的区块链异构共识方法及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109274674A true CN109274674A (zh) | 2019-01-25 |
CN109274674B CN109274674B (zh) | 2021-03-23 |
Family
ID=65198444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811128359.1A Active CN109274674B (zh) | 2018-09-27 | 2018-09-27 | 一种具有高安全性的区块链异构共识方法及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109274674B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110570202A (zh) * | 2019-09-02 | 2019-12-13 | 杭州趣链科技有限公司 | 一种基于分片技术的混合共识方法 |
CN110807187A (zh) * | 2019-11-06 | 2020-02-18 | 福建福链科技有限公司 | 一种基于区块链的网络市场违法信息存证方法及平台端 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018022131A1 (en) * | 2016-07-25 | 2018-02-01 | Tbcasoft, Inc. | Digital property management on a distributed transaction consensus network |
CN107809484A (zh) * | 2017-10-30 | 2018-03-16 | 中国联合网络通信集团有限公司 | 区块链交易信息处理方法及区块链节点 |
CN108241968A (zh) * | 2017-03-26 | 2018-07-03 | 杭州复杂美科技有限公司 | 前置机参与区块链共识的方法 |
WO2018148068A1 (en) * | 2017-02-07 | 2018-08-16 | Microsoft Technology Licensing, Llc | Consortium blockchain network with verified blockchain and consensus protocols |
CN108492103A (zh) * | 2018-02-07 | 2018-09-04 | 北京大学深圳研究生院 | 一种联盟区块链共识方法 |
-
2018
- 2018-09-27 CN CN201811128359.1A patent/CN109274674B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018022131A1 (en) * | 2016-07-25 | 2018-02-01 | Tbcasoft, Inc. | Digital property management on a distributed transaction consensus network |
WO2018148068A1 (en) * | 2017-02-07 | 2018-08-16 | Microsoft Technology Licensing, Llc | Consortium blockchain network with verified blockchain and consensus protocols |
CN108241968A (zh) * | 2017-03-26 | 2018-07-03 | 杭州复杂美科技有限公司 | 前置机参与区块链共识的方法 |
CN107809484A (zh) * | 2017-10-30 | 2018-03-16 | 中国联合网络通信集团有限公司 | 区块链交易信息处理方法及区块链节点 |
CN108492103A (zh) * | 2018-02-07 | 2018-09-04 | 北京大学深圳研究生院 | 一种联盟区块链共识方法 |
Non-Patent Citations (3)
Title |
---|
SHEHAR BANO: ""SoK: Consensus in the Age of Blockchains"", 《ARXIV:1711.03936V2》 * |
XUE-MING SI: ""Research on a New Signature Scheme on Blockchain"", 《HINDAWI SECURITY AND COMMUNICATION NETWORKS》 * |
苑超: ""基于聚合签名的共识算法优化方案"", 《计算机科学》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110570202A (zh) * | 2019-09-02 | 2019-12-13 | 杭州趣链科技有限公司 | 一种基于分片技术的混合共识方法 |
CN110570202B (zh) * | 2019-09-02 | 2022-06-03 | 杭州趣链科技有限公司 | 一种基于分片技术的混合共识方法 |
CN110807187A (zh) * | 2019-11-06 | 2020-02-18 | 福建福链科技有限公司 | 一种基于区块链的网络市场违法信息存证方法及平台端 |
CN110807187B (zh) * | 2019-11-06 | 2021-09-14 | 福建福链科技有限公司 | 一种基于区块链的网络市场违法信息存证方法及平台端 |
Also Published As
Publication number | Publication date |
---|---|
CN109274674B (zh) | 2021-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107911373B (zh) | 一种区块链权限管理方法及系统 | |
CN109493221B (zh) | 区块链中交易记录保密方法、设备、网络及存储介质 | |
CN105046141B (zh) | 一种自适应的验证码设计方法及系统 | |
CN109379343A (zh) | 一种区块链的异构共识方法及终端 | |
CN111614468B (zh) | 一种区块链共识方法及系统 | |
KR102332226B1 (ko) | 블록체인 원장에 대한 검증 가능한 블록체인 네트워크 시스템 및 상기 블록체인 네트워크에서의 블록체인 원장 검증 방법 | |
CN112437049B (zh) | 一种基于bft的区块链共识方法及装置 | |
CN111445247B (zh) | 用于防止区块链分叉的方法和设备 | |
CN108605042B (zh) | 用于sdn群集化中基于信任的认证的方法和设备 | |
CN111222174A (zh) | 区块链节点的加入方法、验证方法、设备和存储介质 | |
CN105471842A (zh) | 一种大数据环境下的网络安全分析方法 | |
CN109274674A (zh) | 一种具有高安全性的区块链异构共识方法及终端 | |
CN112749968A (zh) | 基于区块链的业务数据记录方法及装置 | |
CN108092777B (zh) | 数字证书的监管方法及装置 | |
CN110545261A (zh) | 一种应用于区块链网络中的共识算法 | |
CN110717162B (zh) | 区块链多因子身份认证方法、系统及存储介质 | |
CN111726365A (zh) | 一种在线身份认证的方法及装置 | |
US10862831B2 (en) | System, method, and computer program product providing end-to-end security of centrally accessible group membership information | |
CN111865595A (zh) | 一种区块链的共识方法及装置 | |
CN110391912B (zh) | 一种基于秘密共享机制的分布式评估决策方法及系统 | |
CN111311260A (zh) | 一种账户私钥的重置方法及装置 | |
CN109409899B (zh) | 一种交易验证方法、装置及系统 | |
CN110971609A (zh) | Drm客户端证书的防克隆方法、存储介质及电子设备 | |
CN111917760A (zh) | 一种基于标识解析的网络协同制造跨域融合信任管控方法 | |
CN103051619A (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 | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20190125 Assignee: Fuzhou Lingyun Data Technology Co.,Ltd. Assignor: FUJIAN FULIAN TECHNOLOGY Co.,Ltd. Contract record no.: X2024980009990 Denomination of invention: A highly secure blockchain heterogeneous consensus method and terminal Granted publication date: 20210323 License type: Common License Record date: 20240726 |
|
EE01 | Entry into force of recordation of patent licensing contract |