CN109993004B - 基于信用机制的区块链自治方法及*** - Google Patents
基于信用机制的区块链自治方法及*** Download PDFInfo
- Publication number
- CN109993004B CN109993004B CN201910284021.3A CN201910284021A CN109993004B CN 109993004 B CN109993004 B CN 109993004B CN 201910284021 A CN201910284021 A CN 201910284021A CN 109993004 B CN109993004 B CN 109993004B
- Authority
- CN
- China
- Prior art keywords
- verification
- information
- node
- credit
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于信用机制的区块链自治方法及***,该方法包括:获取区块链中竞争节点的健康证明信息和诚实证明信息,以计算其信用信息;在信用信息大于第一信用阈值时,设定对应的竞争节点为验证节点;根据全部验证节点的信用信息,确定每个验证节点的奖惩比例;向每个验证节点发送交易记录,以对交易记录进行验证并生成验证信息;根据验证节点的验证信息和信用信息,判断每个验证节点的验证信息是否正确;若是,按照对应的奖惩比例增加正确验证节点的诚实证明信息和奖励代币数量;否则,按照对应的奖惩比例减小错误验证节点的诚实证明信息,以完成自治。本发明的方法及***能够有效节省计算资源、去中心化、避免发生节点联合作恶的现象。
Description
技术领域
本发明涉及区块链中数据处理技术领域,尤其涉及一种基于信用机制的区块链自治方法及***。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,是一种由分布式节点共同参与维护的数据存储***。区块链中的节点按照预设的规则将事务交易请求处理成区块(加密数据),并对区块进行叠加形成链式数据结构,并通过共识机制以传输和同步数据,从而保障各个节点数据的一致性、不可修改和删除。
区块链自治机制是指建立在区块链上的去中心化自治组织***的运行方式和策略安排等规则。其自治规则是由计算机代码实现,由区块链协议保障其自动运行,根据既定条件自动触发实现。每个节点都可以通过提供服务的形式来成为组织的参与者,由于区块链上会发行可高速流通的代币,因而一般区块链自治机制是通过给提供正确服务的节点相应奖励,而节点若存在冲突、虚假信息以及恶意行为会被相应惩罚措施处置。因而,通过区块链自治机制能够实现一个无人干预和管理的情况下自主运行的组织,这极大地提高了区块链的运作效率。运行自治机制的区块链就像一个全自动的机器人,当它全部的程序设定完成后,它就会按照既定的规则开始运作,且绝大多数的规则均公开透明,如数量上限、竞争记账的共识方式和规则等。
在传统的区块链网络中,其自治机制都是通过数量上限的代币和基于不同的共识机制实现。常见的共识机制有工作量证明机制(POW)、权益证明机制(POS)、代理权益证明机制(DPOS)或实用拜占庭容错机制(PBFT)。然而,这些共识机制的都存在不足。一方面,由于POW中节点通过枚举式的hash运算计算出一个满足规则的随机数来争夺区块生成权,其会耗费大量的计算资源,使得现有的区块链中节点的自治方法存在耗费计算资源、共识效率低的问题。另一方面,因为POS根据每个节点拥有的代币数量和币龄来等比例降低节点的计算难度,以提高计算随机数的速度,其易于产生中心化节点;DPOS通过***中全部节点投票选举出预设数量的节点来代理验证和记账,但其仍然依赖代币,故还是存在易于产生中心化节点的问题。此外,由于PBFT是一种基于消息传递的一致性算法,其经过三个阶段达成一致性,以2/3节点的验证结果来确定验证的正确性,因消息传递和统计验证结果耗费的时间较长,故节点达成共识所需时间长。再者,使用这些共识机制的区块链均是通过设置节点代币奖励机制来促使节点自动对交易数据进行处理,对节点自治过程的约束力较小,使得区块链中的节点易于联合作恶。
因而,现有的区块链节点自治方法中,存在耗费计算资源、节点易于中心化以及易发生节点联合作恶现象的问题。
发明内容
针对上述问题,本发明的基于信用机制的区块链自治方法及***,能够有效节省计算资源、提高共识效率、去中心化以及避免发生节点联合作恶的现象。
为解决上述技术问题,本发明的基于信用机制的区块链自治方法,包括如下步骤:
在当前验证开始时,获取区块链中竞争节点的健康证明信息和诚实证明信息;所述竞争节点用于指示区块链中竞争验证权的节点;
根据每个所述竞争节点的健康证明信息、诚实证明信息和权重信息,计算每个所述竞争节点的信用信息;
在所述信用信息大于第一信用阈值时,设定对应的竞争节点为验证节点;
根据全部所述验证节点的信用信息,确定每个所述验证节点的奖惩比例;
向每个所述验证节点发送交易记录,以使每个所述验证节点对所述交易记录进行验证并生成验证信息;
根据所述验证节点的验证信息和信用信息,判断每个所述验证节点的验证信息是否正确;
若是,按照对应的奖惩比例增加所述验证节点中正确验证节点的诚实证明信息和奖励代币数量;
否则,按照对应的奖惩比例减小所述验证节点中错误验证节点的诚实证明信息,以完成自治。
作为上述方案的改进,所述验证节点包括主验证节点和次验证节点;所述主验证节点的奖惩比例高于所述次验证节点的奖惩比例;
在所述信用信息大于信用阈值的情况下,设定对应的竞争节点为验证节点,包括如下步骤:
按照降序对所述信用信息进行排序;其中,M为整数,且1≤M;
将排列在前R位信用信息所对应的验证节点设定为所述主验证节点;
将排列在后M-R位信用信息所对应的验证节点设定为所述次验证节点;其中,所述R为整数,且1≤R≤M。
作为上述方案的改进,所述验证节点生成的验证信息包括正确标识和错误标识;
根据所述验证节点的验证信息和信用信息,判断每个所述验证节点的验证信息是否正确,包括如下步骤:
根据所述正确标识对应的验证节点的信用信息计算所述正确验证概率;
根据所述错误标识对应的验证节点的信用信息计算所述错误验证概率;
在所述正确验证概率大于所述错误验证概率的情况下,判定所述正确标识对应节点的验证信息为正确验证;
在所述错误验证概率大于所述正确验证概率的情况下,判定所述错误标识对应节点的验证信息为正确验证。
作为上述方案的改进,所述健康证明信息包含验证节点的存活时间信息及其运行机器的机器性能信息;所述诚实证明信息用于指示验证节点每次完成验证后获取的诚实证明数值;所述权重信息包括健康证明信息在信用信息中的权重以及诚实证明信息在信用信息中的权重;
根据每个所述竞争节点的健康证明信息、诚实证明信息和权重信息,计算每个所述竞争节点的信用信息,包括如下步骤:
通过如下公式计算每个所述竞争节点的信用信息NC:
其中,x为信用信息中健康证明信息的权重,y为信用信息中诚实证明信息的权重;MP为验证节点的机器性能信息,ET为验证节点的存活时间信息,a为健康证明信息中机器性能信息的权重,b为健康证明信息中存活时间信息的权重;Ti为第i次验证获得的诚实证明数值,i为整数,且i≥1,n为已完成验证的次数。
作为上述方案的改进,根据全部所述验证节点的信用信息,确定每个所述验证节点的奖惩比例,包括如下步骤:
通过如下公式计算每个所述验证节点的奖惩比例ni:
其中,ni为第i个验证节点的奖惩比例,fi为验证节点中第i个验证节点的信用信息,N为验证节点的个数。
作为上述方案的改进,所述区块链自治方法,还包括如下步骤:
在接收到任一所述验证节点发送的举报指令时,增加对应验证节点的诚实证明信息;
在当前验证开始之前,还包括如下步骤:
通过向区块链上的节点发起待验证的交易请求来获取节点的信用信息;
在所述节点的信用信息小于或等于第二信用阈值的情况下,将对应的节点设定淘汰标识,以淘汰其竞争节点的资格;所述第二信用阈值小于所述第一信用阈值。
为解决上述技术问题,本发明还提供一种基于信用机制的区块链自治***,包括:
信息获取模块,用于在当前验证开始时,获取区块链中竞争节点的健康证明信息和诚实证明信息;所述竞争节点用于指示区块链中竞争验证权的节点;
信用信息计算模块,用于根据每个所述竞争节点的健康证明信息、诚实证明信息和权重信息,计算每个所述竞争节点的信用信息;
验证节点设定模块,用于在所述信用信息大于第一信用阈值的情况下,设定对应的竞争节点为验证节点;
奖惩比例确定模块,用于根据全部所述验证节点的信用信息,确定每个所述验证节点的奖惩比例;
交易记录发送模块,用于向所述验证节点发送交易记录,以使每个所述验证节点对所述交易记录进行验证并生成验证信息;
验证结果判断模块,用于根据所述验证节点的验证信息和信用信息,判断每个所述验证节点的验证是否正确;
信用信息调节模块,用于在判定所述验证节点的验证结果为正确时,按照对应的奖惩比例增加所述验证节点中正确验证节点的诚实证明信息和奖励代币数量;以及用于在判定所述验证节点的验证结果为错误时,按照所述奖惩比例减小所述验证节点中错误验证节点的诚实证明信息,以完成自治。
作为上述方案的改进,所述验证节点包括主验证节点和次验证节点;所述主验证节点的奖惩比例高于所述次验证节点的奖惩比例;所述验证节点设定模块包括:
排序单元,用于按照降序对所述信用信息进行排序,以获取排列在前M位的信用信息;其中,M为整数,且1≤M;
主验证节点设定单元,用于将排列在前R位信用信息所对应的验证节点设定为所述主验证节点;
次验证节点设定单元,用于将排列在后M-R位信用信息所对应的验证节点设定为所述次验证节点;其中,所述P为整数,且1≤R≤M。
作为上述方案的改进,所述验证节点生成的验证信息包括正确标识和错误标识;所述验证结果判断模块包括:
第一计算单元,用于根据所述正确标识对应的验证节点的信用信息计算所述正确验证概率;
第二计算单元,用于根据所述错误标识对应的验证节点的信用信息计算所述错误验证概率;
第一判定单元,用于在所述正确验证概率大于所述错误验证概率的情况下,判定所述正确标识对应节点的验证信息为正确验证;
第二判定单元,用于在所述错误验证概率大于所述正确验证概率的情况下,判定所述错误标识对应节点的验证信息为正确验证。
作为上述方案的改进,所述健康证明信息包含验证节点的存活时间信息及其运行机器的机器性能信息;所述诚实证明信息用于指示验证节点每次验证获取的诚实证明数值;所述权重信息包括健康证明信息在信用信息中的权重以及诚实证明信息在信用信息中的权重;
所述信用信息计算模块用于通过如下公式计算每个所述竞争节点的信用信息NC:
其中,x为信用信息中健康证明信息所占比例,y为信用信息中诚实证明信息所占比例;MP为验证节点的机器性能信息,ET为验证节点的存活时间信息,a为健康证明信息中机器性能信息所占比例,b为健康证明信息中存活时间信息所占比例;Ti为第i次验证获得的诚实证明数值,i为整数,且i≥1,n为已完成验证的次数。
与现有技术相比,本发明的基于信用机制的区块链自治方法中,在当前验证开始时,通过获取竞争节点的健康证明信息和诚实证明信息来计算其信用信息,利用信用信息来筛选验证节点,设定信用信息大于信用阈值的竞争节点为验证节点,进而仅向验证节点发送交易记录来进行验证,可减少参与验证的节点数量,节省计算资源,进而提高共识效率;另外,在接收到验证节点发送的验证信息时,利用验证节点的验证信息和信用信息来判断前验证的结果是否正确,以验证节点的信用度的来确定验证的一致性,可有效避免发生验证节点不验证以及验证节点联合作弊的现象,提高节点自治过程的安全性和真实性;再者,通过按照奖惩比例来增加正确验证节点的诚实证明信息以及减少错误验证节点的诚实证明信息,一方面能够有效实现去中心化,避免产生中心化节点;另一方面还能由此大幅度增加或减小验证节点的可信度,进而当区块链中的节点需要主动提供验证的服务时,使其提供服务的可能性与其信用信息成正比,进而提高自治过程中对节点的约束力度,避免节点不作为、联合作弊;另外,为了便于自治,在节点获得提供验证服务的验证权后,除了获得代币奖励,还可以获得信用奖励,因而节点为提高自身的信用值和财富值,而趋向于不作恶,进而提升区块链中节点自治方法的可信度。
附图说明
图1是本发明实施例1的基于信用机制的区块链自治方法的流程示意图。
图2是本发明实施例2的基于信用机制的区块链自治方法的流程示意图。
图3是本发明实施例3的基于信用机制的区块链自治***的结构示意图。
图4是本发明实施例4的基于信用机制的区块链自治***的结构示意图。
图5是本发明实施例的基于信用机制的区块链自治***中验证结果判断模块的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于此描述的其他方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
下面结合具体实施例和附图对本发明的技术方案进行清楚、完整的描述。
请参见图1,是本发明实施例1的基于信用机制的区块链自治方法的流程示意图。
如图1所示,本发明的基于信用机制的区块链自治方法,包括如下步骤:
S1、在当前验证开始时,获取区块链中竞争节点的健康证明信息和诚实证明信息;所述竞争节点用于指示区块链中竞争验证权的节点;
S2、根据每个所述竞争节点的健康证明信息、诚实证明信息和权重信息,计算每个所述竞争节点的信用信息;
S3、在所述信用信息大于第一信用阈值时,设定对应的竞争节点为验证节点;
S4、根据全部所述验证节点的信用信息,确定每个所述验证节点的奖惩比例;
在步骤S4中,每个验证节点的奖惩比例可通过如下公式进行设定:
其中,ni为第i个验证节点的奖惩比例,fi为验证节点中第i个验证节点的信用信息,N为验证节点的个数。
S5、向每个所述验证节点发送交易记录,以使每个所述验证节点对所述交易记录进行验证并生成验证信息;
S6、根据所述验证节点的验证信息和信用信息,判断每个所述验证节点的验证信息是否正确;
在步骤S6中,所述验证节点生成的验证信息包括正确标识和错误标识,根据所述验证节点的验证信息和信用信息,判断所述当前验证的结果是否正确,包括如下步骤:
S61、根据所述正确标识对应的验证节点的信用信息计算所述正确验证概率;
具体地,步骤S61包括:
S611、获取所述正确标识对应的验证节点的信用信息;
S612、通过如下公式计算正确验证概率F(true):
其中,N为验证节点的个数,fi为验证节点中第i个验证节点的信用信息,f1i为第i个正确验证节点的信用信息,P为正确验证节点的个数,P为整数,且1≤P≤N。
例如,设定验证节点的个数为5个,其信用度分别为f1、f2、f3、f4、f5,当第1个验证节点、第2个验证节点和第4个验证节点的验证信息为正确标识时,则f11=f1、f12=f2、f13=f4,进而正确验证概率为:
S62、根据所述错误标识对应的验证节点的信用信息计算所述错误验证概率;
具体地,步骤S62包括:
S621、获取所述错误标识对应的验证节点的信用信息;
S622、通过如下公式计算错误验证概率F(true):
其中,f2i为第i个错误验证节点的信用信息,Q为错误验证节点的个数,Q为整数,且1≤Q≤N,P+Q=N。
例如,设定验证节点的个数为5个,其信用度分别为f1、f2、f3、f4、f5,第3个验证节点和第5个验证节点的验证信息为错误标识时,则f21=f3、f22=f5,进而错误验证概率为:
S63、在所述正确验证概率大于所述错误验证概率的情况下,判定所述正确标识对应节点的验证信息为正确验证;
S64、在所述错误验证概率大于所述正确验证概率的情况下,判定所述错误标识对应节点的验证信息为正确验证。
S7、若是,按照对应的奖惩比例所述验证节点中正确验证节点的诚实证明信息和奖励代币数量;
S8、否则,按照对应的奖惩比例减小所述验证节点中错误验证节点的诚实证明信息,以完成自治。
与现有技术相比,本发明的基于信用机制的区块链自治方法中,在当前验证开始时,通过获取竞争节点的健康证明信息和诚实证明信息来计算其信用信息,利用信用信息来筛选验证节点,设定信用信息大于信用阈值的竞争节点为验证节点,进而仅向验证节点发送交易记录来进行验证,可减少参与验证的节点数量,节省计算资源,进而提高共识效率;另外,在接收到验证节点发送的验证信息时,利用验证节点的验证信息和信用信息来判断前验证的结果是否正确,以验证节点的信用度的来确定验证的一致性,可有效避免发生验证节点不验证以及验证节点联合作弊的现象,提高节点自治过程的安全性和真实性;再者,通过按照奖惩比例来增加正确验证节点的诚实证明信息以及减少错误验证节点的诚实证明信息,一方面能够有效实现去中心化,避免产生中心化节点;另一方面还能由此大幅度增加或减小验证节点的可信度,进而当区块链中的节点需要主动提供验证的服务时,使其提供服务的可能性与其信用信息成正比,进而提高自治过程中对节点的约束力度,避免节点不作为、联合作弊;另外,为了便于自治,在节点获得提供验证服务的验证权后,除了获得代币奖励,还可以获得信用奖励,因而节点为提高自身的信用值和财富值,而趋向于不作恶,进而提升区块链中节点自治方法的可信度。
请参见图2,是本发明实施例1的基于信用机制的区块链自治方法的流程示意图。
如图2所示,本发明实施例2的区块链自治方法除了包含实施例1中的全部步骤之外,所述验证节点包括主验证节点和次验证节点;所述主验证节点的奖惩比例高于所述次验证节点的奖惩比例;
步骤S3、在所述信用信息大于信用阈值的情况下,设定对应的竞争节点为验证节点,包括如下步骤:
S31、按照降序对所述信用信息进行排序;其中,M为整数,且1≤M;
S32、将排列在前R位信用信息所对应的验证节点设定为所述主验证节点;
S33、将排列在后M-R位信用信息所对应的验证节点设定为所述次验证节点;其中,所述R为整数,且1≤R≤M。
例如,当验证节点为N个时,N为整数,且N>M,通过按照降序对N个验证节点的信用信息进行降序排列来设定主验证节点和次验证节点可进一步缩小验证节点的数量,减少验证耗费的计算资源和计算时间,提高共识效率;同时,可通过设置主验证节点和次验证节点的权重,使主验证节点的奖惩比例高于次验证节点的奖惩比例,进而当主验证节点和次验证节点均验证正确时,主验证节点增加的信用信息比次验证节点增加的信用信息多;当主验证节点验证错误时,则大幅度降低其信用信息,由此通过严厉的奖惩机制提高验证结果的真实性和可靠性。
进一步地,在上述实施例1和实施例2中,所述健康证明信息包含验证节点的存活时间信息及其运行机器的机器性能信息;所述诚实证明信息用于指示验证节点每次验证获取的诚实证明数值;所述权重信息包括健康证明信息在信用信息中的权重以及诚实证明信息在信用信息中的权重;
在步骤S2中,每个竞争节点的信用信息NC通过通过如下公式进行计算:
其中,x为信用信息中健康证明信息所占比例,y为信用信息中诚实证明信息所占比例;MP为验证节点的机器性能信息,ET为验证节点的存活时间信息,a为健康证明信息中机器性能信息所占比例,b为健康证明信息中存活时间信息所占比例;Ti为第i次验证获得的诚实证明数值,i为整数,且i≥1,n为已完成验证的次数。
步骤S7中,按照所述奖惩比例增加正确验证节点的诚实证明信息,包括如下步骤:
通过如下公式增加所述正确验证节点的诚实证明信息:
其中,TC1正确验证节点更新后的诚实证明信息,Δt1为增加的诚实证明信息,所述增加的诚实证明信息与所述奖惩比例成正比。
进一步地,步骤S8中,按照所述奖惩比例减小所述验证节点中错误验证节点的诚实证明信息,包括如下步骤:
通过如下公式减小所述错误验证节点的诚实证明信息:
其中,TC2为错误验证节点更新后的诚实证明信息,Δt2为减小的诚实证明信息,所述减小的信诚实证明信息与所述奖惩比例成正比。
可以理解的,在本发明的区块链自治方法中,还可以将全部验证节点的奖惩比例设置为相同的奖惩比例,例如,当参与验证的验证节点的个数为N个时,设定每个验证节点的信用信息均为f,则每个验证节点的奖惩比例均为则当验证完成时,每个验证节点调节的诚实证明信息相同。换言之,每个抢到交易验证权的验证节点具有相同的权重,每个验证节点的验证结果具有相同的可靠性;当验证节点验证正确时,正确验证节点增加的诚实证明信息相同;当验证节点验证错误时,错误验证节点减小的诚实证明信息相同。
在本发明的上述区块链自治方法中,节点的初始信用信息均为0,当节点加入区块链时,将运行节点的机器的机器性能信息作为节点的初始健康证明信息,并且,自节点加入区块链时开始记录节点的存活时间信息,进而节点的健康证明信息随着节点的存活时间信息增加。由于节点可运行在电脑、笔记本设备上,这类设备的开关机操作和在线时长直接影响节点的存活时长,因而为了防止区块链上的节点频繁掉线,或者防止节点在抢夺到交易记录的验证权后离线而中断验证,本发明的区块链自治方法将节点的健康证明信息和节点的存活时间信息设定成正比例关系来激励节点的存活,进而提高区块链上节点验证的可靠性和自治方法的可靠性。
优选地,在上述实施例中,该自治方法还包括如下步骤:
在接收到任一所述验证节点发送的举报指令时,增加对应验证节点的诚实证明信息,以便将减小掉的诚实证明信息分配给举报恶意攻击的验证节点,以提高验证节点的信用度及其验证的可靠性。
优选地,为了避免低信用的节点频繁参与验证,提高节点的验证效率,在上述的自治方法中,在当前验证开始之前,还包括如下步骤:
通过向区块链上的节点发起待验证的交易请求来获取节点的信用信息;
在所述节点的信用信息小于或等于第二信用阈值的情况下,将对应的节点设定淘汰标识,以淘汰其竞争节点的资格;其中,第二信用阈值小于第一信用阈值。
请参见图3,是本发明实施例3的基于信用机制的区块链自治***的结构示意图。
该***包括:信息获取模块1,于在当前验证开始时,获取区块链中竞争节点的健康证明信息和诚实证明信息;所述竞争节点用于指示区块链中竞争验证权的节点;信用信息计算模块2,用于根据每个所述竞争节点的健康证明信息、诚实证明信息和权重信息,计算每个所述竞争节点的信用信息;验证节点设定模块3,用于在所述信用信息大于第一信用阈值的情况下,设定对应的竞争节点为验证节点;奖惩比例确定模块4,用于根据全部所述验证节点的信用信息,确定每个所述验证节点的奖惩比例;交易记录发送模块5,用于向所述验证节点发送交易记录,以使所述验证节点对所述交易记录进行验证并生成验证信息;验证结果判断模块6,用于根据所述验证节点的验证信息和信用信息,判断每个所述验证节点的验证是否正确;信用信息调节模块7,用于在判定所述验证节点的验证结果为正确时,按照对应的奖惩比例增加所述验证节点中正确验证节点的诚实证明信息和奖励代币数量;以及用于在判定所述验证节点的验证结果为错误时,按照所述奖惩比例减小所述验证节点中错误验证节点的诚实证明信息,以完成自治。
与现有技术相比,本发明的基于信用机制的区块链自治***中,信息获取模块1在当前验证开始时,通过获取竞争节点的健康证明信息和诚实证明信息来使信用信息计算模块2计算其信用信息,以便验证节点设定模块3利用信用信息来筛选验证节点,设定信用信息大于信用阈值的竞争节点为验证节点,进而分别使得交易记录发送模块5仅向验证节点发送交易记录来进行验证,可减少参与验证的节点数量,节省计算资源,进而提高共识效率;另外,验证结果判断模块6在接收到验证节点发送的验证信息时,利用验证节点的验证信息和信用信息来判断前验证的结果是否正确,以验证节点的信用度的来确定验证的一致性,可有效避免发生验证节点不验证以及验证节点联合作弊的现象,提高节点自治过程的安全性和真实性;再者,信用信息调节模块7通过奖惩比例确定模块4确定的奖惩比例来增加正确验证节点的诚实证明信息以及减少错误验证节点的诚实证明信息,一方面能够有效实现去中心化,避免产生中心化节点;另一方面还能由此大幅度增加或减小验证节点的可信度,进而提高自治过程中对节点的约束力度,避免节点不作为、联合作弊,进而提高区块链中节点自治方法的可信度。
请参见图4,是本发明实施例3的基于信用机制的区块链自治***的结构示意图。
如图4所示,该自治***除了包含实施例2中的全部组成部件之外,所述验证节点包括主验证节点和次验证节点;所述主验证节点的奖惩比例高于所述次验证节点的奖惩比例;所述验证节点设定模块3包括:
排序单元31,用于按照降序对所述信用信息进行排序,以获取排列在前M位的信用信息;其中,M为整数,且1≤M;
主验证节点设定单元32,用于将排列在前R位信用信息所对应的验证节点设定为所述主验证节点;
次验证节点设定单元33,用于将排列在后M-R位信用信息所对应的验证节点设定为所述次验证节点;其中,所述R为整数,且1≤R≤M。
例如,当验证节点为N个时,N为整数,且N>M,排序单元31通过按照降序对N个验证节点的信用信息进行降序排列,使得主验证节点设定单元32和次验证节点设定单元33分别设定主验证节点和次验证节点,可进一步缩小验证节点的数量,减少验证耗费的计算资源和计算时间,提高共识效率;同时,由于主验证节点的奖惩比例高于次验证节点的奖惩比例,则当主验证节点和次验证节点均验证正确时,主验证节点增加的信用信息比次验证节点增加的信用信息多;当主验证节点验证错误时,则大幅度降低其信用信息,由此通过严厉的奖惩机制提高验证结果的真实性和可靠性。
进一步地,在上述实施例中,所述验证节点生成的验证信息包括正确标识或错误标识;如图5所示,所述验证结果判断模块6包括:
第一计算单元61,用于根据所述正确标识对应的验证节点的信用信息计算所述正确验证概率;
具体地,第一计算单元61包括:
第一信息获取子单元611,用于获取所述正确标识对应的验证节点的信用信息;
正确验证概率计算子单元612,用于通过如下公式计算正确验证概率F(true):
其中,N为验证节点的个数,fi为验证节点中第i个验证节点的信用信息,f1i为第i个正确验证节点的信用信息,P为正确验证节点的个数,P为整数,且1≤P≤N。
例如,设定验证节点的个数为5个,其信用度分别为f1、f2、f3、f4、f5,当第1个验证节点、第2个验证节点和第4个验证节点的验证信息为正确标识时,则f11=f1、f12=f2、f13=f4,进而正确验证概率为:
第二计算单元62,用于根据所述错误标识对应的验证节点的信用信息计算所述错误验证概率;
具体地,第二计算单元62包括:
第二信息获取子单元621,用于获取所述错误标识对应的验证节点的信用信息;
错误验证概率计算子单元622,用于通过如下公式计算错误验证概率F(true):
其中,f2i为第i个错误验证节点的信用信息,Q为错误验证节点的个数,Q为整数,且1≤Q≤N,P+Q=N。
例如,设定验证节点的个数为5个,其信用度分别为f1、f2、f3、f4、f5,第3个验证节点和第5个验证节点的验证信息为错误标识时,则f21=f3、f22=f5,进而错误验证概率为:
第一判定单元621,用于在所述正确验证概率大于所述错误验证概率的情况下,判定所述正确标识对应节点的验证信息为正确验证;
第二判定单元622,用于在所述错误验证概率大于所述正确验证概率的情况下,判定所述错误标识对应节点的验证信息为正确验证。
进一步地,在上述实施例中,所述健康证明信息包含验证节点的存活时间信息及其运行机器的机器性能信息;所述诚实证明信息用于指示验证节点每次验证获取的诚实证明数值;所述信用信息计算模块2,用于通过如下公式计算每个竞争节点的信用信息NC:
其中,x为信用信息中健康证明信息所占比例,y为信用信息中诚实证明信息所占比例;MP为验证节点的机器性能信息,ET为验证节点的存活时间信息,a为健康证明信息中机器性能信息所占比例,b为健康证明信息中存活时间信息所占比例;Ti为第i次验证获得的诚实证明数值,i为整数,且i≥1,n为已完成验证的次数。
进一步地,在上述实施例中,所述信用信息调节模块7包括:
信用信息增加单元,用于通过如下公式减小所述错误验证节点的诚实证明信息:通过如下公式增加所述正确验证节点的诚实证明信息:
其中,TC1正确验证节点更新后的诚实证明信息,Δt1为增加的诚实证明信息,所述增加的诚实证明信息与所述奖惩比例成正比。
信用信息减小单元,用于通过如下公式减小所述错误验证节点的诚实证明信息:
其中,TC2为错误验证节点更新后的诚实证明信息,Δt2为减小的诚实证明信息,所述减小的信诚实证明信息与所述奖惩比例成正比。
优选地,在上述实施例中,该区块链自治***还包括:诚实证明信息增加模块,用于在接收到任一所述验证节点发送的举报指令时,增加对应验证节点的诚实证明信息,以便将减小掉的诚实证明信息分配给举报恶意攻击的验证节点,以提高验证节点的信用度及其验证的可靠性。
优选地,为了避免低信用的节点频繁参与验证,提高节点的验证效率,在上述的自治***中,还包括:
交易请求发送模块,用于通过向区块链上的节点发起待验证的交易请求来获取节点的信用信息;
淘汰标识设定模块,用于在所述节点的信用信息小于或等于信用阈值的情况下,将对应的节点设定淘汰标识,以淘汰其竞争节点的资格。
以上所述,仅是本发明的较佳实施例而已,并非对本发明做任何形式上的限制,故凡未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (8)
1.基于信用机制的区块链自治方法,其特征在于,包括如下步骤:
在当前验证开始时,获取区块链中竞争节点的健康证明信息和诚实证明信息;所述竞争节点用于指示区块链中竞争验证权的节点;
根据每个所述竞争节点的健康证明信息、诚实证明信息和权重信息,计算每个所述竞争节点的信用信息;
在所述信用信息大于第一信用阈值时,设定对应的竞争节点为验证节点;
根据全部所述验证节点的信用信息,确定每个所述验证节点的奖惩比例;
向每个所述验证节点发送交易记录,以使每个所述验证节点对所述交易记录进行验证并生成验证信息;所述验证节点生成的验证信息包括正确标识和错误标识;
根据所述验证节点的验证信息和信用信息,判断每个所述验证节点的验证信息是否正确;包括如下步骤:
根据所述正确标识对应的验证节点的信用信息计算正确验证概率;通过如下公式计算正确验证概率F(true):
其中,N为验证节点的个数,fi为验证节点中第i个验证节点的信用信息,f1i为第i个正确验证节点的信用信息,P为正确验证节点的个数,P为整数,且1≤P≤N;
根据所述错误标识对应的验证节点的信用信息计算错误验证概率;通过如下公式计算错误验证概率F(true):
其中,f2i为第i个错误验证节点的信用信息,Q为错误验证节点的个数,Q为整数,且1≤Q≤N,P+Q=N;
在所述正确验证概率大于所述错误验证概率的情况下,判定所述正确标识对应节点的验证信息为正确验证;
在所述错误验证概率大于所述正确验证概率的情况下,判定所述错误标识对应节点的验证信息为正确验证;
若是,按照对应的奖惩比例增加所述验证节点中正确验证节点的诚实证明信息和奖励代币数量;
否则,按照对应的奖惩比例减小所述验证节点中错误验证节点的诚实证明信息,以完成自治。
2.如权利要求1所述的区块链自治方法,其特征在于,所述验证节点包括主验证节点和次验证节点;所述主验证节点的奖惩比例高于所述次验证节点的奖惩比例;
在所述信用信息大于信用阈值的情况下,设定对应的竞争节点为验证节点,包括如下步骤:
按照降序对所述信用信息进行排序;其中,M为整数,且1≤M;
将排列在前R位信用信息所对应的验证节点设定为所述主验证节点;
将排列在后M-R位信用信息所对应的验证节点设定为所述次验证节点;其中,所述R为整数,且1≤R≤M。
3.如权利要求1所述的区块链自治方法,其特征在于,所述健康证明信息包含验证节点的存活时间信息及其运行机器的机器性能信息;所述诚实证明信息用于指示验证节点每次完成验证后获取的诚实证明数值;所述权重信息包括健康证明信息在信用信息中的权重以及诚实证明信息在信用信息中的权重;
根据每个所述竞争节点的健康证明信息、诚实证明信息和权重信息,计算每个所述竞争节点的信用信息,包括如下步骤:
通过如下公式计算每个所述竞争节点的信用信息NC:
其中,x为信用信息中健康证明信息的权重,y为信用信息中诚实证明信息的权重;MP为验证节点的机器性能信息,ET为验证节点的存活时间信息,a为健康证明信息中机器性能信息的权重,b为健康证明信息中存活时间信息的权重;Ti为第i次验证获得的诚实证明数值,i为整数,且i≥1,n为已完成验证的次数。
4.如权利要求1所述的区块链自治方法,其特征在于,根据全部所述验证节点的信用信息,确定每个所述验证节点的奖惩比例,包括如下步骤:
通过如下公式计算每个所述验证节点的奖惩比例ni:
其中,ni为第i个验证节点的奖惩比例,fi为验证节点中第i个验证节点的信用信息,N为验证节点的个数。
5.如权利要求1所述的区块链自治方法,其特征在于,还包括如下步骤:
在接收到任一所述验证节点发送的举报指令时,增加对应验证节点的诚实证明信息;
在当前验证开始之前,还包括如下步骤:
通过向区块链上的节点发起待验证的交易请求来获取节点的信用信息;
在所述节点的信用信息小于或等于第二信用阈值的情况下,将对应的节点设定淘汰标识,以淘汰其竞争节点的资格;所述第二信用阈值小于所述第一信用阈值。
6.基于信用机制的区块链自治***,其特征在于,包括:
信息获取模块,用于在当前验证开始时,获取区块链中竞争节点的健康证明信息和诚实证明信息;所述竞争节点用于指示区块链中竞争验证权的节点;
信用信息计算模块,用于根据每个所述竞争节点的健康证明信息、诚实证明信息和权重信息,计算每个所述竞争节点的信用信息;
验证节点设定模块,用于在所述信用信息大于第一信用阈值的情况下,设定对应的竞争节点为验证节点;
奖惩比例确定模块,用于根据全部所述验证节点的信用信息,确定每个所述验证节点的奖惩比例;
交易记录发送模块,用于向所述验证节点发送交易记录,以使每个所述验证节点对所述交易记录进行验证并生成验证信息;所述验证节点生成的验证信息包括正确标识和错误标识
验证结果判断模块,用于根据所述验证节点的验证信息和信用信息,判断每个所述验证节点的验证是否正确;所述验证结果判断模块包括:
第一计算单元,用于根据所述正确标识对应的验证节点的信用信息计算正确验证概率;第一计算单元包括:
第一信息获取子单元,用于获取所述正确标识对应的验证节点的信用信息;
正确验证概率计算子单元,用于通过如下公式计算正确验证概率F(true):
其中,N为验证节点的个数,fi为验证节点中第i个验证节点的信用信息,f1i为第i个正确验证节点的信用信息,P为正确验证节点的个数,P为整数,且1≤P≤N;
第二计算单元,用于根据所述错误标识对应的验证节点的信用信息计算错误验证概率;第二计算单元包括:
第二信息获取子单元,用于获取所述错误标识对应的验证节点的信用信息;
错误验证概率计算子单元,用于通过如下公式计算错误验证概率F(true):
其中,f2i为第i个错误验证节点的信用信息,Q为错误验证节点的个数,Q为整数,且1≤Q≤N,P+Q=N;
第一判定单元,用于在所述正确验证概率大于所述错误验证概率的情况下,判定所述正确标识对应节点的验证信息为正确验证;
第二判定单元,用于在所述错误验证概率大于所述正确验证概率的情况下,判定所述错误标识对应节点的验证信息为正确验证;
信用信息调节模块,用于在判定所述验证节点的验证结果为正确时,按照对应的奖惩比例增加所述验证节点中正确验证节点的诚实证明信息和奖励代币数量;以及用于在判定所述验证节点的验证结果为错误时,按照所述奖惩比例减小所述验证节点中错误验证节点的诚实证明信息,以完成自治。
7.如权利要求6所述的区块链自治***,其特征在于,所述验证节点包括主验证节点和次验证节点;所述主验证节点的奖惩比例高于所述次验证节点的奖惩比例;所述验证节点设定模块包括:
排序单元,用于按照降序对所述信用信息进行排序,以获取排列在前M位的信用信息;其中,M为整数,且1≤M;
主验证节点设定单元,用于将排列在前R位信用信息所对应的验证节点设定为所述主验证节点;
次验证节点设定单元,用于将排列在后M-R位信用信息所对应的验证节点设定为所述次验证节点;其中,所述P为整数,且1≤R≤M。
8.如权利要求7所述的区块链自治***,其特征在于,所述健康证明信息包含验证节点的存活时间信息及其运行机器的机器性能信息;所述诚实证明信息用于指示验证节点每次验证获取的诚实证明数值;所述权重信息包括健康证明信息在信用信息中的权重以及诚实证明信息在信用信息中的权重;
所述信用信息计算模块用于通过如下公式计算每个所述竞争节点的信用信息NC:
其中,x为信用信息中健康证明信息所占比例,y为信用信息中诚实证明信息所占比例;MP为验证节点的机器性能信息,ET为验证节点的存活时间信息,a为健康证明信息中机器性能信息所占比例,b为健康证明信息中存活时间信息所占比例;Ti为第i次验证获得的诚实证明数值,i为整数,且i≥1,n为已完成验证的次数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910284021.3A CN109993004B (zh) | 2019-04-10 | 2019-04-10 | 基于信用机制的区块链自治方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910284021.3A CN109993004B (zh) | 2019-04-10 | 2019-04-10 | 基于信用机制的区块链自治方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109993004A CN109993004A (zh) | 2019-07-09 |
CN109993004B true CN109993004B (zh) | 2020-02-11 |
Family
ID=67132830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910284021.3A Active CN109993004B (zh) | 2019-04-10 | 2019-04-10 | 基于信用机制的区块链自治方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109993004B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110826903B (zh) * | 2019-11-04 | 2023-08-11 | 云南电网有限责任公司电力科学研究院 | 一种基于区块链的企业信誉度评估方法 |
CN111881147B (zh) * | 2019-12-13 | 2023-09-22 | 深圳数字生命研究院 | 计算任务的处理方法和装置、存储介质及处理器 |
CN111147256B (zh) * | 2019-12-26 | 2021-07-09 | 荣耀终端有限公司 | 一种鉴权认证方法及装置 |
CN111314494A (zh) * | 2020-05-09 | 2020-06-19 | 湖南天河国云科技有限公司 | 一种基于区块链的分布式存储贡献判定方法及装置 |
CN113177794A (zh) * | 2020-12-30 | 2021-07-27 | 恬家(上海)信息科技有限公司 | 出块节点管理方法及区块链网络*** |
CN114936918B (zh) * | 2022-05-20 | 2024-03-29 | 天道金科股份有限公司 | 基于区块链的风控数据跟踪方法、终端设备及存储介质 |
CN115276999B (zh) * | 2022-06-10 | 2024-03-22 | 大连理工大学 | 一种基于信任模型的自适应切换高效容错共识方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108027867A (zh) * | 2015-07-14 | 2018-05-11 | Fmr有限责任公司 | 计算高效的转账处理、审计以及搜索装置、方法和*** |
CN108615153A (zh) * | 2018-04-28 | 2018-10-02 | 百度在线网络技术(北京)有限公司 | 区块链数据的处理方法、装置、***、设备和存储介质 |
CN109416815A (zh) * | 2016-02-22 | 2019-03-01 | 加拿大皇家银行 | 电子文件平台 |
CN109426567A (zh) * | 2017-08-22 | 2019-03-05 | 汇链丰(北京)科技有限公司 | 一种区块链的节点部署和选举方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100179930A1 (en) * | 2009-01-13 | 2010-07-15 | Eric Teller | Method and System for Developing Predictions from Disparate Data Sources Using Intelligent Processing |
US10572684B2 (en) * | 2013-11-01 | 2020-02-25 | Anonos Inc. | Systems and methods for enforcing centralized privacy controls in de-centralized systems |
US11954697B2 (en) * | 2017-02-27 | 2024-04-09 | Ncr Corporation | Blockchain consumer ledger |
US20180260888A1 (en) * | 2017-03-08 | 2018-09-13 | Factom | Validating Mortgage Documents |
CN107423962A (zh) * | 2017-07-11 | 2017-12-01 | 成都励睿德企业管理有限公司 | 基于奖惩的数据区块链授权参与共识的拜占庭容错方法及其奖惩方法 |
CN108122165B (zh) * | 2017-12-15 | 2020-10-30 | 北京中电普华信息技术有限公司 | 一种区块链共识方法及*** |
CN108470277A (zh) * | 2018-02-28 | 2018-08-31 | 深圳市网心科技有限公司 | 区块链的奖励结算方法、***、可读存储介质及计算设备 |
CN108921554A (zh) * | 2018-06-25 | 2018-11-30 | 胡晓东 | 用基础资产作为衍生资产的信用基础的区块链*** |
CN108961055B (zh) * | 2018-07-02 | 2022-07-26 | 上海达家迎信息科技有限公司 | 一种区块共识的奖惩方法、装置、设备和存储介质 |
CN109389485B (zh) * | 2018-09-30 | 2021-02-09 | 深圳市有情矿技术有限公司 | 自治域模式下基于信息共享贡献值的区块链动态激励方法 |
CN109547527B (zh) * | 2018-10-12 | 2021-04-06 | 广西师范大学 | 区块链中基于信誉机制的分区快速共识方法 |
-
2019
- 2019-04-10 CN CN201910284021.3A patent/CN109993004B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108027867A (zh) * | 2015-07-14 | 2018-05-11 | Fmr有限责任公司 | 计算高效的转账处理、审计以及搜索装置、方法和*** |
CN109416815A (zh) * | 2016-02-22 | 2019-03-01 | 加拿大皇家银行 | 电子文件平台 |
CN109426567A (zh) * | 2017-08-22 | 2019-03-05 | 汇链丰(北京)科技有限公司 | 一种区块链的节点部署和选举方法 |
CN108615153A (zh) * | 2018-04-28 | 2018-10-02 | 百度在线网络技术(北京)有限公司 | 区块链数据的处理方法、装置、***、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109993004A (zh) | 2019-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109993004B (zh) | 基于信用机制的区块链自治方法及*** | |
CN112039964B (zh) | 一种基于区块链的节点信誉共识方法 | |
CN110611701B (zh) | 一种基于区块链的参数配置和交易处理方法 | |
CN110855432B (zh) | 基于可验证随机函数分配验证者奖励的异步bft&dpos共识机制 | |
CN110585723B (zh) | 基于区块链的作弊用户检测方法、装置、设备及存储介质 | |
CN112532587B (zh) | 基于PeerTrust的DPos的共识节点评估方法 | |
CN111510502A (zh) | 一种基于动态信誉值的pbft共识传播优化方法 | |
CN111026578A (zh) | 一种基于预言机的智能合约安全检测方法 | |
CN113407632A (zh) | 一种基于pbft的委托权益证明区块链共识算法 | |
CN113992526B (zh) | 一种基于可信度计算的联盟链跨链数据融合方法 | |
CN109347877B (zh) | 区块链结构化存储控制方法 | |
CN112118138B (zh) | 区块链共识机制实现***和方法 | |
CN114503146A (zh) | 用于在区块链网络中注册和鉴别矿工身份的方法和装置 | |
CN114372589A (zh) | 一种联邦学习方法及相关装置 | |
CN113645190A (zh) | 一种考虑节点信誉的拜占庭容错共识方法及区块链 | |
CN113660125A (zh) | 一种基于随机可信委员会的共识方法及装置 | |
CN110930158A (zh) | 一种基于奖惩机制的区块链DPoS共识方法 | |
CN112565370B (zh) | 基于无线通信与区块链场景的计算结果验证方法及*** | |
CN110585722A (zh) | 基于区块链的游戏时间信息的处理方法及装置、游戏控制方法及装置 | |
CN116996521B (zh) | 基于信任评估模型的中继委员会跨链交互***及方法 | |
CN113282418A (zh) | 一种模型聚合处理方法及装置 | |
CN112700266B (zh) | 一种基于区块链预言机的数据判断方法及*** | |
CN112600682A (zh) | 一种基于委托权益证明算法的区块链共识方法和装置 | |
CN112689834A (zh) | 在区块链上进行选举的证明的方法和*** | |
CN112258326A (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 |