CN114124410A - 一种适用于供应链场景下多方验证的改进型poa共识方法 - Google Patents
一种适用于供应链场景下多方验证的改进型poa共识方法 Download PDFInfo
- Publication number
- CN114124410A CN114124410A CN202111439307.8A CN202111439307A CN114124410A CN 114124410 A CN114124410 A CN 114124410A CN 202111439307 A CN202111439307 A CN 202111439307A CN 114124410 A CN114124410 A CN 114124410A
- Authority
- CN
- China
- Prior art keywords
- nodes
- consensus
- node
- verification
- poa
- 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
Images
Classifications
-
- 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
-
- 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/3218—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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- 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/3236—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 using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种适用于供应链场景下多方验证的改进型POA共识方法,包括:提交数据选择验证节点;基于所述提交数据进行分片+PBFT共识处理,预留出授权节点和备用节点;将剩余授权节点作为每个分片的主节点,利用分片算法将有验证能力的普通节点分片,并进行拜占庭共识;判断各个分片拜占庭共识的结果的区块归属。本发明采取用户自主选择验证节点的方式来提高效率,以及在提高多方验证效率的同时,又能保证即使用户收买了其选择的核查节点,也能得到正确的验证结果。
Description
技术领域
本发明涉及供应链场景下多方验证的技术领域,尤其涉及一种适用于供应链场景下多方验证的改进型POA共识方法。
背景技术
近当前已存在的基于交叉验证的上链数据核查机制,是将待上链数据进行全网广播,全网达成一致后上链,这样存在两个问题,一是整个链上并不是所有的节点都有验证能力,另一个是在广播过程中会出现大量的消息发送与接收,会严重影响核验效率。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明解决的技术问题是:整个链上并不是所有的节点都有验证能力,另一个是在广播过程中会出现大量的消息发送与接收,会严重影响核验效率。
为解决上述技术问题,本发明提供如下技术方案:用户提交数据上链申请,并选择有验证能力的普通验证节点;基于所述提交数据进行分片+PBFT共识处理,预留出进行当前区块出块的授权节点和通过VRF随机算法计算出的备用节点;将剩余授权节点作为每个分片的主节点,利用分片算法将有验证能力的普通节点分片,并在所述分片内部进行拜占庭共识;当进行拜占庭共识未到进行POA共识时间时,将各个分片拜占庭共识的结果进行统计,当大于等于(a/2)+1分片结果一致时,将所述结果发送至当前授权出块节点,结果在当前区块上链;当进行拜占庭共识到了进行POA共识时间时,将各个分片拜占庭共识的结果进行统计,当大于等于(a/2)+1分片结果一致时,将所述结果发送至下个授权出块节点,结果在下个区块上链。
作为本发明所述的适用于供应链场景下多方验证的改进型POA共识方法的一种优选方案,其中:所述POA共识机制的区块链中节点类型包括授权节点和普通节点,适用于多方验证时将核心节点作为授权节点,其余节点为普通节点。
作为本发明所述的适用于供应链场景下多方验证的改进型POA共识方法的一种优选方案,其中:还包括,所述用户发起数据上链申请时,所有所述核心节点a均作为验证节点,同时,所述用户从所有针对用户数据有审核能力的普通节点M中选择b个节点作为验证节点;将所有的核心节点a和普通节点M一起进行分片,所述核心节点a中的每个节点作为每个分片的主节点,将所述普通节点M均分至每个分片;在每个分片内部进行PBFT共识,统计每个分片的共3识结果,如果有超过a/2个分片的结果为验证通过,则数据上链申请通过,数据会在下一次POA共识时上链。
作为本发明所述的适用于供应链场景下多方验证的改进型POA共识方法的一种优选方案,其中:还包括,当数据上链申请者收买普通验证节点,若所有的普通验证节点b均被收买,为使最终统计分片共识结果仍能保证(a/2)+1个分片的结果为正确结果,由于PBFT的容错能力是3f+1,即有f个恶意节点,那么需要3f+1个节点才能保证共识结果的正确性,考虑到PBFT共识最小单元,将f置为1,即4个节点,则在一个分片中,若要使pbft共识失败,则需要2个恶意节点,同时,在最终统计时要使错误结果通过验证至少需要(a/2)+1个分片的结果为错误结果,即恶意节点的最小数量为2*((a/2)+1)=a+2,即b<a+2就可以保证即使所有的普通验证节点均被收买仍然可以通过共识得到正确结果。
作为本发明所述的适用于供应链场景下多方验证的改进型POA共识方法的一种优选方案,其中:所述POA共识机制的工作流程包括,在创世块中指定一组初始授权的signers,所有地址保存在创世块Extra字段中;启动挖矿后,该组signers开始对生成的block进行签名并广播;将签名结果保存在区块头的Extra字段中;利用Extra中更新当前高度已授权的所有signers的地址;每一高度都有一个signer处于IN-TURN状态,其他signer处于OUT-OF-TURN状态,IN-TURN的signer签名的block会立即广播,OUT-OF-TURN的signer签名的block会延时一点随机时间后再广播,保证IN-TURN的签名block有更高的优先级上链;若需要加入一个新的signer,signer通过API接口发起一个proposal,所述proposal通过复用区块头Coinbase和Nonce字段广播给其他节点,所有已授权的signers对所述新的signer进行"加入"投票,若赞成票超过signers总数的50%,表示同意加入;若需要踢出一个旧的signer,所有已授权的signers对所述旧的signer进行"踢出"投票,若赞成票超过signers总数的50%,表示同意踢出。
作为本发明所述的适用于供应链场景下多方验证的改进型POA共识方法的一种优选方案,其中:还包括,当分片在进行拜占庭共识过程中,区块链系统进行POA共识时间时,则所述分片在进行拜占庭共识之前,先把进行打包下一个区块的节点预留出来,根据所述POA共识机制的工作流程,即把当前高度处于IN-TURN状态的signer预留出来;为避免所述分片在进行拜占庭共识结束之后出现确认和反对的票数相同的情况,即确认票和反对票均为a/2,即a为偶数的情况,同时,区块链进行poa共识时,共识节点存在宕机故障情况,还需要预留出备用节点,则按照a为奇偶数进行分类。
作为本发明所述的适用于供应链场景下多方验证的改进型POA共识方法的一种优选方案,其中:所述按照a为奇偶数进行分类包括,当a为偶数时:预留出处于IN-TURN状态的signer节点,同时,再选择两个节点作为备用节点,保证进行分片的片区数量为奇数;当a为奇数时:预留出处于IN-TURN状态的signer节点,同时,再选择一个节点作为备用节点,保证进行分片的片区数量为奇数。
作为本发明所述的适用于供应链场景下多方验证的改进型POA共识方法的一种优选方案,其中:利用VRF随机数算法并结合POA选取共识节点的特点包括,在节点中排除处于IN-TURN状态的signer节点,同时,根据所述POA共识机制的特点,在所有signer之间轮询出块,并通过算法保证同一个signer只能签名(SIGNER_COUNT/2)+1)个block中第一个,即在授权节点个数为SIGNER_COUNT个的情况下,一个授权节点只能打包连续(SIGNER_COUNT/2)+1)个区块中的一个区块,因此将没有资格打包下一区块的节点排除掉,剩下的节点p通过VRF随机数算法随机选择出备选节点。
作为本发明所述的适用于供应链场景下多方验证的改进型POA共识方法的一种优选方案,其中:所述VRF随机算法包括,定义现在是round 10,节点们会轮流抽签,以节点自己的私钥+一个全网都知道的随机数作为输入,生成了一个随机数:0-100;设置一个条件:100个节点轮流抽签,谁先抽出来的随机数大于10,就是这一轮的打包者;假设5号节点抽到了11,只有5号知道其他人不知道,因此它在广播这个随机数的同时还需要广播一个零知识证明;通过所述零知识证明,全网只需要通过5号的公钥就可以验证,接受5号为这轮打包者。
本发明的有益效果:本发明采取用户自主选择验证节点的方式来提高效率,那么基于这种方式就可能出现用户买通其所选择的核查节点,上传的假的原始文件,被收买的核查人员将假的原始文件信息审核通过后上链的问题,本发明提供一种供应链场景下适用于多方验证的改进型POA共识方案,在提高多方验证效率的同时,又能保证即使用户收买了其选择的核查节点,也能得到正确的验证结果。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明一个实施例提供的一种适用于供应链场景下多方验证的改进型POA共识方法的POA共识机制的区块链节点分布示意图;
图2为本发明一个实施例提供的一种适用于供应链场景下多方验证的改进型POA共识方法的整体流程示意图;
图3为本发明一个实施例提供的一种适用于供应链场景下多方验证的改进型POA共识方法的VRF算法流程示意图;
图4为本发明一个实施例提供的一种适用于供应链场景下多方验证的改进型POA共识方法的与已有交叉验证方式对比验证时间结果示意图;
图5为本发明一个实施例提供的一种适用于供应链场景下多方验证的改进型POA共识方法的与已有交叉验证方式对比安全性结果示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1~3,为本发明的一个实施例,提供了一种适用于供应链场景下多方验证的改进型POA共识方法,包括:
S1:用户提交数据上链申请,并选择有验证能力的普通验证节点;
S2:基于提交数据进行分片+PBFT共识处理,预留出进行当前区块出块的授权节点和通过VRF随机算法计算出的备用节点;
需要说明的是,分片技术是开发人员用来提高交易吞吐量的几种常见方法之一。简单地说,分片就是一种在点对点网络中分割计算能力和存储工作负载的分区方式,分片后每个节点不再需要负责处理整个网络的交易负载,而仅需处理其所在分区(或称分片)中的交易。
在POA共识机制的区块链中,节点类型分为授权节点和普通节点,适用于多方验证时将核心节点作为授权节点,其余节点为普通节点,用户发起数据上链申请时,所有的核心节点a均作为验证节点,同时,用户从系统中所有针对用户数据有审核能力的普通节点M中选择b个节点作为验证节点,将所有的a和M一起进行分片,a中的每个节点作为每个分片的主节点,将M均分至每个分片,每个分片可能存在多个普通验证节点,也可能不存在普通验证节点,每个分片内部进行PBFT共识,最终,统计每个分片的共3识结果,如果有超过a/2个分片的结果为验证通过,则数据上链申请通过,数据会在下一次POA共识时上链,如图1所示。
当出现数据上链申请者收买普通验证节点情况时,若所有的普通验证节点b均被收买,为使最终统计分片共识结果仍能保证(a/2)+1个分片的结果为正确结果,由于PBFT的容错能力是3f+1,即有f个恶意节点,那么需要3f+1个节点才能保证共识结果的正确性,考虑到PBFT共识最小单元,将f置为1,即4个节点,则在一个分片中,若要使pbft共识失败,则需要2个恶意节点,同时,在最终统计时要使错误结果通过验证至少需要(a/2)+1个分片的结果为错误结果,即恶意节点的最小数量为2*((a/2)+1)=a+2,即b<a+2就可以保证即使所有的普通验证节点均被收买仍然可以通过共识得到正确结果。
S3:将剩余授权节点作为每个分片的主节点,利用分片算法将有验证能力的普通节点分片,并在分片内部进行拜占庭共识;
S4:当进行拜占庭共识未到进行POA共识时间时,将各个分片拜占庭共识的结果进行统计,当大于等于(a/2)+1分片结果一致时,将结果发送至当前授权出块节点,结果在当前区块上链;
S5:当进行拜占庭共识到了进行POA共识时间时,将各个分片拜占庭共识的结果进行统计,当大于等于(a/2)+1分片结果一致时,将结果发送至下个授权出块节点,结果在下个区块上链。
S3~S5步骤需要说明的是,POA共识机制的工作流程包括:
在创世块中指定一组初始授权的signers,所有地址保存在创世块Extra字段中;
启动挖矿后,该组signers开始对生成的block进行签名并广播;
将签名结果保存在区块头的Extra字段中;
利用Extra中更新当前高度已授权的所有signers的地址,因为有新加入或踢出的signer;
每一高度都有一个signer处于IN-TURN状态,其他signer处于OUT-OF-TURN状态,IN-TURN的signer签名的block会立即广播,OUT-OF-TURN的signer签名的block会延时一点随机时间后再广播,保证IN-TURN的签名block有更高的优先级上链;
若需要加入一个新的signer,signer通过API接口发起一个proposal,proposal通过复用区块头Coinbase(新signer地址)和Nonce("0xffffffffffffffff")字段广播给其他节点,所有已授权的signers对新的signer进行"加入"投票,若赞成票超过signers总数的50%,表示同意加入;
若需要踢出一个旧的signer,所有已授权的signers对旧的signer进行"踢出"投票,若赞成票超过signers总数的50%,表示同意踢出。
进一步的,当分片在进行拜占庭共识(PBFT)过程中,区块链系统有可能到了出块时间,即进行POA共识的时间,则分片在进行拜占庭共识之前,先把进行打包下一个区块的节点预留出来,根据POA共识机制的工作流程,即把当前高度处于IN-TURN状态的signer预留出来;
为避免分片在进行拜占庭共识结束之后出现确认和反对的票数相同的情况,即确认票和反对票均为a/2,即a为偶数的情况,同时,区块链进行poa共识时,共识节点存在宕机故障情况,还需要预留出备用节点,则按照a为奇偶数进行分类。
具体的,按照a为奇偶数进行分类包括:
当a为偶数时:预留出处于IN-TURN状态的signer节点,同时,再选择两个节点作为备用节点,保证进行分片的片区数量为奇数;
当a为奇数时:预留出处于IN-TURN状态的signer节点,同时,再选择一个节点作为备用节点,保证进行分片的片区数量为奇数。
更进一步的,利用VRF随机数算法并结合POA选取共识节点的特点包括:
在节点中排除处于IN-TURN状态的signer节点,同时,根据POA共识机制的特点,在所有signer之间轮询出块,并通过算法保证同一个signer只能签名(SIGNER_COUNT/2)+1)个block中第一个,即在授权节点个数为SIGNER_COUNT个的情况下,一个授权节点只能打包连续(SIGNER_COUNT/2)+1)个区块中的一个区块,因此将没有资格打包下一区块的节点排除掉,剩下的节点p通过VRF随机数算法随机选择出备选节点。
其中,如图3所示,VRF随机算法包括:
定义现在是round 10(第10轮),节点们会轮流抽签,以节点自己的私钥+一个全网都知道的随机数(比如是这轮的轮次10)作为输入,生成了一个随机数(0-100);
设置一个条件:100个节点轮流抽签,谁先抽出来的随机数大于10,就是这一轮的打包者;
假设5号节点抽到了11,只有5号知道其他人不知道,因此它在广播这个随机数的同时还需要广播一个零知识证明;
通过零知识证明,全网只需要通过5号的公钥就可以验证,接受5号为这轮打包者。
具体操作流程为:证明者生成一对密钥,PK、SK;
证明者计算result=VRF_Hash(SK,info),proof=VRF_Proof(SK,info);
证明者把result,proof,PK递交给验证者;
验证者计算result=VRF_P2H(proof),True/False=VRF_Verify(PK,info,proof);
其中,True表示验证通过,False表示验证未通过。所谓的验证通过,就是指proof是否是通过info生成的,通过proof是否可以计算出result,从而推导出info和result是否对应匹配、证明者给出的材料是否有问题。
在本发明中的VRF使用方式为,将剩余节点p,以每个节点的私钥+上一区块的哈希值作为输入,生成一个随机数,设置一个阈值λ,当a为偶数时,选择最先计算出来的两个生成随机数大于阈值λ的节点为备用节点,当a为奇数时,选择最先计算出来的一个随机数大于阈值λ的节点为备用节点。
由此,当分片进行拜占庭共识结束时,没有到进行POA共识的时间,那么将分片进行拜占庭共识的统计结果发送至当前授权出块节点,在当前区块打包时直接上链,如果,到了POA共识时间,以进行POA共识时生成的区块为当前区块来看,那么,分片进行拜占庭共识的统计结果将发送至下一区块的授权出块节点,在下一区块上链。
实施例2
参照图4~5为本发明另一个实施例,该实施例不同于第一个实施例的是,提供了一种适用于供应链场景下多方验证的改进型POA共识方法的验证测试,为对本方法中采用的技术效果加以验证说明,本实施例采用传统技术方案与本发明方法进行对比测试,以科学论证的手段对比试验结果,以验证本方法所具有的真实效果。
本发明与已有交叉验证方式对比验证时间如图4所示,已有交叉验证方式随着节点数量的增多,其需要的验证时间呈现线性变化持续增大,而本发明基于分片和PBFT共识机制的交叉验证方式,在初期节点数量较少的情况由于PBFT共识机制本身的特性,需要的验证时间会稍多于已有交叉验证方式,随着节点数量的增多,一方面本发明参与交叉验证的节点仅为有审核能力的节点,另一方面本发明采用了分片技术稀释了新增节点,并且各分片并行进行,所以,需要的验证时间增速会逐渐变慢直至保持在一个水平线趋于稳定。
本发明与已有交叉验证方式对比安全性如图5所示,已有交叉验证方式,在节点数量比较少时,安全性最低,由于向全网验证,那么在此时收买节点成为恶意节点的成本最低,随着节点数量的增多,当节点数量达到一定程度时,需要收买的节点的数量极大,作恶成本很高,但是,面向于供应链金融的联盟链,节点数量不会太多,所以,需要保证联盟链在节点很少至节点相对较多的情况下的安全性,而单纯固定验证节点数量的方式,如图4所示,由于固定验证节点数量有限,所以面临着收买节点成为恶意节点成本很低导致安全性较低,而使用本专利的方式,如实施例1所述,只要满足b(恶意节点数量)小于a(核心节点数量)+2,就可以保证所选验证节点皆为恶意节点的情况下也可以正确验证,所以,本发明可以保证交叉验证在一个比较高的安全性维度下稳定运行。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (9)
1.一种适用于供应链场景下多方验证的改进型POA共识方法,其特征在于,包括:
用户提交数据上链申请,并选择有验证能力的普通验证节点;
基于所述提交数据进行分片+PBFT共识处理,预留出进行当前区块出块的授权节点和通过VRF随机算法计算出的备用节点;
将剩余授权节点作为每个分片的主节点,利用分片算法将有验证能力的普通节点分片,并在所述分片内部进行拜占庭共识;
当进行拜占庭共识未到进行POA共识时间时,将各个分片拜占庭共识的结果进行统计,当大于等于(a/2)+1分片结果一致时,将所述结果发送至当前授权出块节点,结果在当前区块上链;
当进行拜占庭共识到了进行POA共识时间时,将各个分片拜占庭共识的结果进行统计,当大于等于(a/2)+1分片结果一致时,将所述结果发送至下个授权出块节点,结果在下个区块上链。
2.如权利要求1所述的适用于供应链场景下多方验证的改进型POA共识方法,其特征在于:所述POA共识机制的区块链中节点类型包括授权节点和普通节点,适用于多方验证时将核心节点作为授权节点,其余节点为普通节点。
3.如权利要求1或2所述的适用于供应链场景下多方验证的改进型POA共识方法,其特征在于:还包括,
所述用户发起数据上链申请时,所有所述核心节点a均作为验证节点,同时,所述用户从所有针对用户数据有审核能力的普通节点M中选择b个节点作为验证节点;
将所有的核心节点a和普通节点M一起进行分片,所述核心节点a中的每个节点作为每个分片的主节点,将所述普通节点M均分至每个分片;
在每个分片内部进行PBFT共识,统计每个分片的共3识结果,如果有超过a/2个分片的结果为验证通过,则数据上链申请通过,数据会在下一次POA共识时上链。
4.如权利要求3所述的适用于供应链场景下多方验证的改进型POA共识方法,其特征在于:还包括,
当数据上链申请者收买普通验证节点,若所有的普通验证节点b均被收买,为使最终统计分片共识结果仍能保证(a/2)+1个分片的结果为正确结果,由于PBFT的容错能力是3f+1,即有f个恶意节点,那么需要3f+1个节点才能保证共识结果的正确性,考虑到PBFT共识最小单元,将f置为1,即4个节点,则在一个分片中,若要使pbft共识失败,则需要2个恶意节点,同时,在最终统计时要使错误结果通过验证至少需要(a/2)+1个分片的结果为错误结果,即恶意节点的最小数量为2*((a/2)+1)=a+2,即b<a+2就可以保证即使所有的普通验证节点均被收买仍然可以通过共识得到正确结果。
5.如权利要求4所述的适用于供应链场景下多方验证的改进型POA共识方法,其特征在于:所述POA共识机制的工作流程包括,
在创世块中指定一组初始授权的signers,所有地址保存在创世块Extra字段中;
启动挖矿后,该组signers开始对生成的block进行签名并广播;
将签名结果保存在区块头的Extra字段中;
利用Extra中更新当前高度已授权的所有signers的地址;
每一高度都有一个signer处于IN-TURN状态,其他signer处于OUT-OF-TURN状态,IN-TURN的signer签名的block会立即广播,OUT-OF-TURN的signer签名的block会延时一点随机时间后再广播,保证IN-TURN的签名block有更高的优先级上链;
若需要加入一个新的signer,signer通过API接口发起一个proposal,所述proposal通过复用区块头Coinbase和Nonce字段广播给其他节点,所有已授权的signers对所述新的signer进行"加入"投票,若赞成票超过signers总数的50%,表示同意加入;
若需要踢出一个旧的signer,所有已授权的signers对所述旧的signer进行"踢出"投票,若赞成票超过signers总数的50%,表示同意踢出。
6.如权利要求5所述的适用于供应链场景下多方验证的改进型POA共识方法,其特征在于:还包括,
当分片在进行拜占庭共识过程中,区块链系统进行POA共识时间时,则所述分片在进行拜占庭共识之前,先把进行打包下一个区块的节点预留出来,根据所述POA共识机制的工作流程,即把当前高度处于IN-TURN状态的signer预留出来;
为避免所述分片在进行拜占庭共识结束之后出现确认和反对的票数相同的情况,即确认票和反对票均为a/2,即a为偶数的情况,同时,区块链进行poa共识时,共识节点存在宕机故障情况,还需要预留出备用节点,则按照a为奇偶数进行分类。
7.如权利要求6所述的适用于供应链场景下多方验证的改进型POA共识方法,其特征在于:所述按照a为奇偶数进行分类包括,
当a为偶数时:预留出处于IN-TURN状态的signer节点,同时,再选择两个节点作为备用节点,保证进行分片的片区数量为奇数;
当a为奇数时:预留出处于IN-TURN状态的signer节点,同时,再选择一个节点作为备用节点,保证进行分片的片区数量为奇数。
8.如权利要求7所述的适用于供应链场景下多方验证的改进型POA共识方法,其特征在于:利用VRF随机数算法并结合POA选取共识节点的特点包括,
在节点中排除处于IN-TURN状态的signer节点,同时,根据所述POA共识机制的特点,在所有signer之间轮询出块,并通过算法保证同一个signer只能签名(SIGNER_COUNT/2)+1)个block中第一个,即在授权节点个数为SIGNER_COUNT个的情况下,一个授权节点只能打包连续(SIGNER_COUNT/2)+1)个区块中的一个区块,因此将没有资格打包下一区块的节点排除掉,剩下的节点p通过VRF随机数算法随机选择出备选节点。
9.如权利要求8所述的适用于供应链场景下多方验证的改进型POA共识方法,其特征在于:所述VRF随机算法包括,
定义现在是round 10,节点们会轮流抽签,以节点自己的私钥+一个全网都知道的随机数作为输入,生成了一个随机数(0-100);
设置一个条件:100个节点轮流抽签,谁先抽出来的随机数大于10,就是这一轮的打包者;
假设5号节点抽到了11,只有5号知道其他人不知道,因此它在广播这个随机数的同时还需要广播一个零知识证明;
通过所述零知识证明,全网只需要通过5号的公钥就可以验证,接受5号为这轮打包者。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111439307.8A CN114124410B (zh) | 2021-11-30 | 2021-11-30 | 一种适用于供应链场景下多方验证的改进型poa共识方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111439307.8A CN114124410B (zh) | 2021-11-30 | 2021-11-30 | 一种适用于供应链场景下多方验证的改进型poa共识方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114124410A true CN114124410A (zh) | 2022-03-01 |
CN114124410B CN114124410B (zh) | 2022-11-04 |
Family
ID=80368177
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111439307.8A Active CN114124410B (zh) | 2021-11-30 | 2021-11-30 | 一种适用于供应链场景下多方验证的改进型poa共识方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124410B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115549931A (zh) * | 2022-12-02 | 2022-12-30 | 佛山赛思禅科技有限公司 | 一种基于拟态防御的拜占庭容错实现方法及系统 |
CN116488946A (zh) * | 2023-06-21 | 2023-07-25 | 积至网络(北京)有限公司 | 基于持续多模表决的恶意节点检测方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090892A (zh) * | 2020-03-24 | 2020-05-01 | 杭州智块网络科技有限公司 | 一种基于vrf和门限签名的区块链共识方法和装置 |
CN111478795A (zh) * | 2020-03-06 | 2020-07-31 | 重庆邮电大学 | 一种基于混合拜占庭容错的联盟区块链网络共识方法 |
CN112187490A (zh) * | 2019-07-01 | 2021-01-05 | 深圳法大大网络科技有限公司 | 一种拜占庭容错共识方法及系统 |
CN113269542A (zh) * | 2021-04-07 | 2021-08-17 | 北京邮电大学 | 区块链系统的共识方法、装置以及存储介质 |
-
2021
- 2021-11-30 CN CN202111439307.8A patent/CN114124410B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112187490A (zh) * | 2019-07-01 | 2021-01-05 | 深圳法大大网络科技有限公司 | 一种拜占庭容错共识方法及系统 |
CN111478795A (zh) * | 2020-03-06 | 2020-07-31 | 重庆邮电大学 | 一种基于混合拜占庭容错的联盟区块链网络共识方法 |
CN111090892A (zh) * | 2020-03-24 | 2020-05-01 | 杭州智块网络科技有限公司 | 一种基于vrf和门限签名的区块链共识方法和装置 |
CN113269542A (zh) * | 2021-04-07 | 2021-08-17 | 北京邮电大学 | 区块链系统的共识方法、装置以及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115549931A (zh) * | 2022-12-02 | 2022-12-30 | 佛山赛思禅科技有限公司 | 一种基于拟态防御的拜占庭容错实现方法及系统 |
CN116488946A (zh) * | 2023-06-21 | 2023-07-25 | 积至网络(北京)有限公司 | 基于持续多模表决的恶意节点检测方法 |
CN116488946B (zh) * | 2023-06-21 | 2023-09-15 | 积至网络(北京)有限公司 | 基于持续多模表决的恶意节点检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114124410B (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zamani et al. | Rapidchain: Scaling blockchain via full sharding | |
CN109544334B (zh) | 一种网络可扩展性区块链实现方法 | |
Luu et al. | A secure sharding protocol for open blockchains | |
CN112929181B (zh) | 抗Sybil攻击身份的生成 | |
US20240097910A1 (en) | Tree structure for byzantine fault tolerance | |
CN113326516A (zh) | 区块链共识方法、区块链系统及计算机设备 | |
CN114124410B (zh) | 一种适用于供应链场景下多方验证的改进型poa共识方法 | |
CN112163856A (zh) | 用于区块链与物联网融合场景的共识方法及系统 | |
CN111698094B (zh) | 一种基于区块链系统的共识方法及区块链系统 | |
CN111523890A (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN112260836A (zh) | 一种基于分片技术提升区块链吞吐量的方法 | |
CN113626875B (zh) | 一种区块链分片赋能的知识图谱文件存储方法 | |
CN113347007B (zh) | 一种可以对多个提案进行共识的共识方法 | |
Cao et al. | CoVer: Collaborative light-node-only verification and data availability for blockchains | |
US20220278854A1 (en) | Unity Protocol Consensus | |
WO2024040796A1 (zh) | 一种区块链电力交易系统、共识方法、设备和存储介质 | |
CN113568974A (zh) | 基于区块链系统的分片共识方法、设备以及可读存储介质 | |
CN113259179B (zh) | 一种基于节点评分的拜占庭容错共识方法与系统 | |
CN113888164A (zh) | 区块链交易池实现方法、装置、计算机设备和存储介质 | |
EP3435273A1 (en) | Consensus protocol for permissioned ledgers | |
CN116471024A (zh) | 一种基于dag和分片的区块链异步共识算法 | |
CN113850600A (zh) | 基于区块链的交易共识方法、装置、设备及存储介质 | |
Wang et al. | Securing parallel-chain protocols under variable mining power | |
CN114338673B (zh) | 一种交易数据处理方法、装置、设备、系统及存储介质 | |
CN112184454A (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 |