CN113326516A - 区块链共识方法、区块链系统及计算机设备 - Google Patents
区块链共识方法、区块链系统及计算机设备 Download PDFInfo
- Publication number
- CN113326516A CN113326516A CN202110437626.9A CN202110437626A CN113326516A CN 113326516 A CN113326516 A CN 113326516A CN 202110437626 A CN202110437626 A CN 202110437626A CN 113326516 A CN113326516 A CN 113326516A
- Authority
- CN
- China
- Prior art keywords
- node
- verification
- nodes
- block chain
- information
- 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.)
- Pending
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/604—Tools and structures for managing or administering access control systems
-
- 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)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Accounting & Taxation (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Automation & Control Theory (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了一种区块链共识方法、区块链系统及计算机设备。该方法包括:当前验证节点接收对交易信息的第一投票信息,其中,第一投票信息来自于其他验证节点且包括其他验证节点的信誉分值,信誉分值用于表示对应节点的能力和/或可信程度;当前验证节点基于第一投票信息中的信誉分值,对第一投票信息进行第一验证;若第一验证通过,则当前验证节点向统计节点发送交易信息的第一验证通过信息。上述方案,能够基于验证节点的信誉分值进行共识,提高区块链共识的可靠性。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及一种区块链共识方法、区块链系统及计算机设备。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式,区块链通过集体维护、分布式记录、分布式存储的特征实现去中心化,以密码学方式保证的不可篡改和不可伪造,具有去中心化、开放性、信息不可篡改等特征,可广泛应用于多种场景。
共识机制是区块链节点就区块信息达成全网一致共识的机制,共识机制可以保证区块链中每个节点存储的区块链信息一致。目前,常用的共识机制例如PoW(Proof ofWork,工作量证明)、PoS(Proof of Stake,权益证明)、PBFT(Practical Byzantine FaultTolerance,实用拜占庭)等。在区块链中使用这些共识机制进行共识时,共识性能较差,区块链共识的稳定性较差。
发明内容
本申请主要解决的技术问题是提供一种区块链共识方法、区块链系统及计算机设备,能够基于验证节点的信誉分值进行共识,提高区块链共识的可靠性。
为了解决上述问题,本申请第一方面提供了一种区块链共识方法,该方法包括:当前验证节点接收对交易信息的第一投票信息,其中,第一投票信息来自于其他验证节点且包括其他验证节点的信誉分值,信誉分值用于表示对应节点的能力和/或可信程度;当前验证节点基于第一投票信息中的信誉分值,对第一投票信息进行第一验证;若第一验证通过,则当前验证节点向统计节点发送交易信息的第一验证通过信息。
为了解决上述问题,本申请第二方面提供了一种计算机设备,该计算机设备包括相互耦接的存储器和处理器,存储器中存储有程序数据,处理器用于执行程序数据以实现上述区块链共识方法中的任一步骤。
为了解决上述问题,本申请第三方面提供了一种区块链系统,该区块链系统包括验证节点和统计节点,其中,验证节点和统计节点用于执行上述区块链共识方法中任一项对应的步骤。
上述方案,区别于现有技术,本申请中当前验证节点接收对交易信息的第一投票信息,而第一投票信息来自于其他验证节点且包括其他验证节点的信誉分值,由于信誉分值用于表示对应节点的能力和/或可信程度,基于第一投票信息中的信誉分值,对第一投票信息进行第一验证,能够确定共识节点对交易信息投票的可靠性,提高区块链共识的稳定性。
附图说明
为了更清楚地说明本申请中的技术方案,下面将对实施例描述中所需要的附图作简单的介绍,显而易见地,下面描述的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请区块链系统第一实施例的结构示意图;
图2是本申请区块链共识方法第一实施例的流程示意图;
图3是本申请区块链共识方法第二实施例的流程示意图;
图4是本申请图3中步骤S32一实施例的流程示意图;
图5是本申请区块链共识节点的确定方法第一实施例的流程示意图;
图6是本申请区块链共识节点的确定方法第二实施例的流程示意图;
图7是本申请图6中步骤S52一实施例的流程示意图;
图8是本申请区块链共识方法第三实施例的流程示意图;
图9是本申请计算机设备一实施例的结构示意图;
图10是本申请区块链系统第二实施例的结构示意图;
图11是本申请区块链系统第三实施例的结构示意图;
图12是本申请存储装置一实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请提供以下实施例,下面对各实施例进行具体说明。
请参阅图1,图1是本申请区块链系统第一实施例的结构示意图。该区块链系统100中包括多个共识节点,共识节点可以用于对区块链系统100中的节点之间的交易信息进行排序、验证、统计、记账等。例如区块链系统100中的共识节点可以包括排序节点101、验证节点102、统计节点103和记账节点104。可以理解的是,区块链系统100中还可以包括其他区块链节点(未示出),本申请对此不做限制。
排序节点101可以用于对交易信息进行初步认证,判断交易信息是否合法,若判断结果为合法,排序节点则对交易信息进行时间排序。
验证节点102可以用于验证排序后的交易信息,以及用于对交易信息进投票,并将投票信息转发给其他验证节点。同时,验证节点102还可以验证其他验证节点发送的投票信息,若验证通过,验证节点102则可以将验证通过信息转发给统计节点103。
统计节点103可以用于接收验证节点102发送的验证通过信息,并基于接收的验证通过信息,将验证通过信息发送给记账节点104。另外,统计节点103还可以用于获取区块链系统100中每个区块链节点进行信誉计算和分析,以获取区块链节点的信誉分值并更新区块链节点信誉分值,在一些应用场景中,统计节点103还可以剔除或替换信誉分值更新失败的区块链节点。
记账节点104用于接收统计节点103发送的验证通过信息,并将所有验证通过消息所对应的有效交易信息集合打包成新区块,另外,可以通过P2P(Peer-to-Peer,点对点传输)的传输机制将新的交易区块广播给区块链系统中所有的区块链节点。另外,记账节点104还可以将发送交易已成功上链存储的消息给进行交易的客户端。
在一些实施例中,区块链系统100还可以包括认证(Certification Authority,CA)节点(未示出),CA节点可以用于对区块链系统100中区块链节点的数字证书进行管理,CA节点可以是公钥基本结构,可以用于描述管制或操纵证书与公钥及私钥的策略、标准和软件。
在一些实施例中,认证节点可以对区块链节点进行CA认证,认证节点可以是CA认证机构,其中,CA机构是签发、认证和管理数字证书的权威机构,可以作为交易中受信任的第三方,并承担公钥体系中公钥的合法性检验的责任,CA机构例如为中国金融认证中心(China Financial Certification Authority,简称CFCA)等。
区块链节点可以申请属于自己的证书,区块链节点可以是用户,区块链节点可以向CA机构提出申请,由CA机构对区块链节点的身份进行认证,为其分配一个公钥,并且将该公钥与区块链节点的身份信息关联绑定,CA机构对其进行签名形成数字证书发给申请者的区块链节点。其中,数字证书的基本架构是公开密钥PKI(Public Key Infrastructure,公开密钥体系),即利用一对密钥进行加密和解密,其加密属于非对称加密算法,例如非对称加密算法可以为RSA算法、DSA算法、ECC算法或DH算法等。此外,密钥包括公钥和私钥,区块链节点可以使用私钥进行签名和解密,私钥由区块链节点自己存储;区块链节点可以使用公钥用于验证和加密,公钥可以被多个用户共享。比如,区块链节点A将消息传送给区块链节点B时,区块链节点A会使用自己的私钥对消息进行加密,然后将加密后的消息发送给区块链节点B,区块链节点B接收到消息后,会使用区块链节点A的公钥对加密后的消息进行解密,从而确保消息是由区块链节点A发送的,可以提高信息传输的安全性。
请参阅图2,图2是本申请区块链共识方法第一实施例的流程示意图。该方法可以包括以下步骤:
S21:当前验证节点接收对交易信息的第一投票信息,其中,第一投票信息来自于其他验证节点且包括其他验证节点的信誉分值,信誉分值用于表示对应节点的能力和/或可信程度。
在一些实施例中,用户可以将交易信息发送给客户端,其中,用户可以是发生交易行为的用户端,客户端可以与区块链系统中的区块链节点服务器进行通信。客户端接收交易信息后,可以通过KPI接口(Application Programming Interface,应用程序接口)与区块链系统中的排序节点进行连接,客户端并可以将交易信息发送给区块链系统中的排序节点。
排序节点对接收的交易信息进行初步验证,判断交易信息是否合法,若判断为合法,则对接收的交易信息进行时间排序,排序完成后,排序节点可以将排序好的交易信息发送给所有的验证节点进行验证。若判断为如不合法,则可以放弃该笔交易,使得交易信息不进行共识上链。
当前验证节点接收其他验证节点对交易信息的第一投票信息,其中,第一投票信息来自于其他验证节点,其他验证节点对交易信息进行验证,若其他验证节点验证交易信息为合法的、准确的,则其他验证节点可将第一投票信息广播给当前验证节点。其中,第一投票信息中包括其他验证节点的信誉分值,信誉分值可以用于表示对应节点的能力和/或可信程度。在一些实施例中,第一投票信息中可以包括交易信息、其他验证节点的信誉分值、其他验证节点的数字签名等信息。
在一些实施例中,在步骤S21之前还可以包括:当前验证节点对接收到的排序节点发送的交易信息进行第二验证;若第二验证通过,验证交易信息为合法的、准确的,则生成对交易信息的第二投票信息,可将当前验证节点的信誉分值进行抵押,并将第二投票信息广播给其他验证节点。若第二验证未通过,则不将第二投票信息广播给其他验证节点。其中,第二投票信息中包括当前验证节点的信誉分值,其信誉分值可以用于表示当前验证节点的能力和/或可信程度。在一些实施例中,第二投票信息中可以包括交易信息、当前验证节点的信誉分值、当前验证节点的数字签名等信息,以使得当前验证节点将第二投票信息广播给其他验证节点。
S22:当前验证节点基于第一投票信息中的信誉分值,对第一投票信息进行第一验证。
当前验证节点基于接收到的第一投票信息中的信誉分值,根据接收到的第一投票信息中信誉分值的占比,对第一投票信息进行第一验证,若第一验证通过,则可以确定为当前验证节点验证交易信息的内容是准确性。
S23:若第一验证通过,则当前验证节点向统计节点发送交易信息的第一验证通过信息。
若当前验证节点对第一投票信息进行第一验证通过,可以表示对交易信息的验证结果的可靠性高,则当前验证节点向统计节点发送交易信息的第一验证通过信息。
若当前验证节点对第一投票信息进行第一验证不通过,可以表示对交易信息的验证结果的可靠性较低,则当前验证节点不向统计节点发送交易信息的第一验证通过信息。
本实施例中,当前验证节点接收对交易信息的第一投票信息,而第一投票信息来自于其他验证节点且包括其他验证节点的信誉分值,由于信誉分值用于表示对应节点的能力和/或可信程度,基于第一投票信息中的信誉分值,对第一投票信息进行第一验证,能够确定共识节点对交易信息投票的可靠性,提高区块链共识的稳定性。
请参阅图3,图3是本申请区块链共识方法第二实施例的流程示意图。该方法可以包括以下步骤:
S31:当前验证节点接收对交易信息的第一投票信息,其中,第一投票信息来自于其他验证节点且包括其他验证节点的信誉分值,信誉分值用于表示对应节点的能力和/或可信程度。
S32:当前验证节点基于第一投票信息中的信誉分值,对第一投票信息进行第一验证。
在一些实施例中,请参阅图4,步骤S32可以包括以下步骤:
S321:当前验证节点统计在第一预设时间内接收的第一投票信息中的信誉分值。
当前验证节点可以在接收多个其他验证节点发送的对交易信息的第一投票信息后,可以统计在第一预设时间内接收的第一投票信息中的总的信誉分值。
其中,第一预设时间可以是根据验证节点自身业务需要预先设置的时间值,第一预设时间比如为1秒、5秒、10秒或20秒等。对于每个验证节点,第一预设时间的时间起点可以是第一个验证节点(如当前验证节点)发送开始要将第一投票信息发送给其他验证节点的消息的时间点,也可以是每一个验证节点(如当前验证节点)接收到第一个第一投票信息的时间点,以第一预设时间的时间起点开始,往后计算一个第一预设时间(1秒、5秒、10秒或20秒等),在第一预设时间范围内当前验证节点收到的第一投票信息为有效信息,在超出第一预设时间范围收到的第一投票信息为无效信息。
S322:当前验证节点判断统计的信誉分值是否满足第一预设要求。
当前验证节点判断统计的信誉分值是否满足第一预设要求,第一预设要求为统计的信誉分值与信誉分值总和之间的比例大于或等于预设阈值;其中,信誉分值总和为区块链中的所有验证节点的信誉分值的总和。在一些应用场景中,信誉分值总和也可以是区块链中对交易信息进行验证的所有验证节点的信誉分值的总和,本申请对此不做限制。例如,当前验证节点统计在第一预设时间内接收的第一投票信息中所包含的信誉分值与信誉分值总和之间的比例大于或等于2/3,则可以确定第一投票信息的准确性和合法性,确定第一验证通过。否则,则确定第一验证不通过。
若当前验证节点判断统计的信誉分值满足第一预设要求,则确定第一验证通过,执行步骤S323。
若当前验证节点判断统计的信誉分值不满足第一预设要求,则确定第一验证不通过,执行步骤S324。
S323:确定第一验证通过。
确定第一验证通过,则可以执行步骤S33。
S324:确定第一验证不通过。
确定第一验证不通过,则可以继续执行步骤S31或结束本次流程。
基于第一投票信息中的信誉分值,对第一投票信息进行第一验证,能够确定共识节点对交易信息投票的可靠性,提高区块链共识的稳定性。
S33:若第一验证通过,则当前验证节点向统计节点发送交易信息的第一验证通过信息。
本实施例中,步骤S31至步骤S33的具体实施过程可以参考上述实施例中步骤S21至步骤S23的实施过程,本申请在此不再赘述。
S34:统计节点统计在第二预设时间内接收的第一验证通过信息的数量。
统计节点接收验证节点发送的交易信息的第一验证通过信息,统计在第二预设时间内接收的第一验证通过信息的数量。其中,第二预设时间是根据统计节点自身业务需要预先设置的时间值,第二预设时间比如为1秒、5秒、10秒或20秒等。第二预设时间的时间起点可以是验证节点发送开始要将第一验证通过信息发送给统计节点的消息的时间点,也可以是统计节点收到验证节点发送的第一个第一验证通过信息的时间点,以第二预设时间的时间起点开始,往后计算一个第二预设时间(1秒、5秒、10秒或20秒等),整个时间范围为统计节点收集所有第一验证通过信息的时间段,在第二预设时间范围内收到的第一验证通过信息为有效信息,在超出第二预设时间范围收到的第一验证通过信息为无效信息。
S35:统计节点判断在第二预设时间内接收的第一验证通过信息的数量是否满足第二预设要求。
统计节点判断在第二预设时间内接收的第一验证通过信息的数量是否满足第二预设要求。其中,第二预设要求为第一验证信息的数量与数量总和的占比大于或等于预设数量阈值,数量总和为验证节点的数量总和,也即是为区块链中的所有验证节点的数量总和,也可以表示对区块链中对交易信息进行验证的所有验证节点的数量总和。例如,若统计节点在第二预设时间内接收的第一验证通过信息的数量大于或等于2/3,则可以确定统计节点验证第一验证通过信息满足准确性和合法性。若统计节点在第二预设时间内接收的第一验证通过信息的数量小于2/3,则可以确定统计节点验证第一验证通过信息不满足准确性和合法性,则可以不对验证的交易信息进行上链存储。
在步骤S35中,若判断为统计的数量满足第二预设要求,则执行步骤S36。
S36:统计节点生成对交易信息的第二验证通过信息,并将第二验证通过信息发送给记账节点。
若统计节点判断在第二预设时间内接收的第一验证通过信息的数量满足第二预设要求,统计节点生成对交易信息的第二验证通过信息,并将第二验证通过信息发送给记账节点。
S37:记账节点获取在第三预设时间内接收的第二验证通过信息。
记账节点接收第三预设时间之内统计节点发送的所有第二验证通过信息,其中,第三预设时间是根据记账节点自身业务需要预先设置的时间值,第三预设时间大于第一预设时间和/或第二预设时间。第三预设时间的时间起点可以是区块链共识开始的时间点,即从客户端将交易信息发送给排序节点开始计算,以此时间起点开始,往后计算一个第三预设时间,记账节点可以在第三预设时间范围内接收所有第二验证通过信息。另外,记账节点还可以将超过第三预设时间范围接收的第二验证通过信息所对应的交易添加到下一轮共识的新区块中。
S38:记账节点基于获取的第二验证通过信息,将交易信息打包成区块并存储至区块链中。
记账节点基于获取的第二验证通过信息,将交易信息打包成区块并存储至区块链中。具体地,记账节点可以获取所有第二验证通过信息中对应的有效交易集合,其中,每一个第二验证通过信息对应每一笔交易,在第三预设时间内可以接收多笔交易。有效交易集合指的是第三预设时间之内统计节点发送给记账节点的第二验证通过信息对应的交易信息中合法有效的交易信息进行汇总后所形成的集合,既可以提高记账节点写入新区块速度,同时还可以再一次确定交易信息的合法性,避免排序节点合法性验证或审核遗漏问题。另外,记账节点可以将接收到的非法或者无效的交易信息进行删除,也可以将非法或者无效的交易单独存放在一个服务器节点中,以供用户后续查验,服务器节点可以是区块链中的区块链节点,该服务器节点可以是物理服务器、云服务器等,本申请对此不做限制。记账节点将第三预设时间之内统计节点发送的所有第二验证通过信息所对应的有效交易集合打包成新区块并存储至区块链中,若超出了第三预设时间的时间限制,则对应的交易可以添加到下一轮共识的新区块中,从而可以提升区块链共识的效率。
记账节点在将第三预设时间之内接收统计节点发送的所有第二验证通过信息所对应的有效交易集合打包成新区块之后,记账节点还可以通过P2P的传输机制将新的交易区块广播给区块链系统中所有的区块链节点,其中,区块链节点中包括排序节点、验证节点、统计节点与排序节点及所有区块链节点(包括非共识节点),使得可以以高效率的方式实现分布式存储,即区块链系统中每个区块链节点的账本实行同步更新,同时,区块链节点的区块高度加1。记账节点将交易信息已成功上链存储的消息发送给客户端。
在一些实施例中,若区块链节点因网络故障导致没有收到记账节点广播的新区块的信息,区块链节点在后续参与共识进行记账过程中,区块链节点自己账本中的区块高度低于其他区块链节点账本中的区块高度时,该区块链节点则可以将最新区块添加到自身节点账本中。
记账节点对在第三预设时间之内的交易进行上链存储之后,则可以开启下一轮的交易信息共识上链操作。可以基于更新后的信誉分值选择排序节点、验证节点、统计节点和记账节点,从而使得新的排序节点、验证节点、统计节点和记账节点重新开启新一轮的区块链共识。
区别于上述实施例,本实施例中,当前验证节点统计在第一预设时间内接收的第一投票信息中的信誉分值,并进行第一验证向统计节点发送交易信息的第一验证通过信息,统计节点统计在第二预设时间内接收的第一验证通过信息的数量,并判断在第二预设时间内接收的第一验证通过信息的数量是否满足第二预设要求,并将第二验证通过信息发送给记账节点,记账节点获取在第三预设时间内接收的第二验证通过信息,将交易信息打包成区块并存储至区块链中。在区块链共识过程中,对验证节点、统计节点、记账节点分别增加第一预设时间、第二预设时间、第三预设时间的时间限制,可以提高区块链共识效率,并且可以动态的调整第一预设时间、第二预设时间、第三预设时间,可以提高区块链共识的适用性。
在一些实施例中,在步骤S21之前,还可以包括:统计节点获取区块链节点广播的区块链节点的信誉分值。统计节点基于信誉分值,从区块链节点中选出验证节点、备选记账节点中的至少一个。
其中,记账节点为从备选记账节点中根据预设随机函数选出得到的。信誉分值是基于验证节点的内部信誉分值、外部信誉分值或共识评价分值中至少一者与各自权重得到的。其中,内部信誉分值是基于区块链节点的成功记账次数、响应时间得到的;外部信誉分值是基于其他区块链节点对区块链节点的评分得到的;共识评价分值是基于区块链节点参与共识过程的行为确定的。
统计节点获取区块链节点的信誉分值,由于信誉分值用于表示区块链节点的能力和/或可信程度,基于每个区块链节点的信誉分值,从区块链节点中选出共识节点,能够提高选取区块链共识节点的可靠性,使得区块链节点对共识节点的竞争更加全面、合理、公平,从而提高区块链共识的稳定性。
对于上述实施例,统计节点基于信誉分值,从区块链节点中选出验证节点、备选记账节点中的至少一个,从区块链节点中确定区块链共识节点,可以具体参阅本申请以下实施例。
请参阅图5,图5是本申请区块链共识节点的确定方法第一实施例的流程示意图。该方法包括:
S41:统计节点获取区块链节点的信誉分值;其中,信誉分值是区块链节点响应于统计指令而广播的,用于表示区块链节点的能力和/或可信程度。
区块链节点可以响应于统计指令广播区块链节点自身的信誉分值,信誉分值可以用于表示区块链节点的能力和/或可信程度。统计节点可以是由区块链系统管理员从信誉分值排序前预设数量的区块链节点中随机选择的一个区块链节点。统计节点可以获取区块链节点的信誉分值,其中,统计节点可以以每一轮共识为周期,对区块链节点的信誉分值进行计算和更新,避免更新不及时的现象出现,保证每个区块链节点所拥有的信誉分的时效性。
S42:基于每个区块链节点的信誉分值,从区块链节点中选出共识节点。
统计节点基于每个区块链节点的信誉分值,从区块链节点中选出共识节点,其中,共识节点可以包括排序节点、验证节点、备选记账节点等节点。可以基于每个区块链节点的信誉分值,采用不同的方式选出每种共识节点。
S43:向共识节点发送通知信息,以通知共识节点的身份。
在选出共识节点后,可以向共识节点发送通知信息,以通知区块链节点作为共识节点的身份。另外,统计节点也可以向区块链节点广播共识节点信息,以使得向区块链节点通知共识节点的身份信息。
本实施例中,本申请中统计节点获取区块链节点的信誉分值,由于信誉分值用于表示区块链节点的能力和/或可信程度,基于每个区块链节点的信誉分值,从区块链节点中选出共识节点,能够提高选取区块链共识节点的可靠性,使得区块链节点对共识节点的竞争更加全面、合理、公平,从而提高区块链共识的稳定性。
请参阅图6,图6是本申请区块链共识节点的确定方法第二实施例的流程示意图。该方法包括:
S51:统计节点获取区块链节点的信誉分值;其中,信誉分值是区块链节点响应于统计指令而广播的,用于表示区块链节点的能力和/或可信程度。
在一些实施例中,上述步骤S51中,统计节点获取区块链节点的信誉分值,可以包括:基于区块链节点的内部信誉分值、外部信誉分值或共识评价分值中的至少一者得到信誉分值。
其中,内部信誉分值是基于区块链节点的成功记账次数、响应时间得到的。区块链节点的成功记账次数可以是累加的数值,例如,区块链节点成功记账一次,则该区块链节点的成功记账次数加一。区块链节点的响应时间可以是发送信息或接收信息的反应或响应的时长,响应时间可以代表区块链节点的节点服务器的CPU(Central Processing Unit,中央处理器)运行速度和网络传输能力。
外部信誉分值是基于其他区块链节点对区块链节点的评分得到的。其中,外部信誉分值由所有其他的区块链节点的评分决定,例如某个其他区块链节点的评分可以是其他区块链节点基于对该区块链节点的认可程度所进行投票的数量。其他区块链节点可以包括发生过直接交易的区块链节点、没有发生过直接交易的区块链节点,对于发生过直接交易的区块链节点,可以对其评分数赋予较高权重,而对于没有发生过直接交易的区块链节点,则对其评分数赋予较低权重。
共识评价分值是基于区块链节点参与共识过程的行为确定的。其中,共识评价分值可以是正数,也可以是负数。区块链节点在参与共识过程中,若区块链节点发生过恶意行为,比如篡改交易账本、贿赂其他节点等,若其他区块链节点发现该区块链节点的恶意行为,则可以举报该区块链节点的恶意行为,则降低该区块链节点的信誉分值,举报该恶意行为的区块链节点可以获取奖励分值,例如每举报一次可以获得一定奖励分值,以增加信誉分值,使得可以增加其作为共识节点参与共识过程的概率。
另外,若区块链节点发生过恶意行为,还可以限制其区块链节点作为共识节点参与共识过程的次数或概率等,例如限制其1轮、3轮或6轮等不能参与共识过程,也即是不能作为共识节点参与共识过程,例如不能作为排序节点、验证节点、统计节点或记账节点等参与共识过程。从而可以减小区块链节点恶意行为发生的概率。可以理解的是,在限制区块链节点作为共识节点参与共识过程时,该区块链节点仍然可以同步区块链账本,以使得区块链系统中的区块链节点的账本同步。
可选地,基于区块链节点的内部信誉分值、外部信誉分值或共识评价分值中的至少一者得到信誉分值,包括:对区块链节点的内部信誉分值、外部信誉分值或共识评价分值中的至少两者进行加权求和,得到信誉分值。例如可以对区块链节点的内部信誉分值、外部信誉分值进行加权求和,得到信誉分值。例如对区块链节点的内部信誉分值、共识评价分值中进行加权求和,得到信誉分值。例如对区块链节点的外部信誉分值、共识评价分值进行加权求和,得到信誉分值。例如对区块链节点的内部信誉分值、外部信誉分值和共识评价分值进行加权求和,得到信誉分值。
在一些实施例中,加权权重包括内部信誉分值可以对应内部信誉权重、外部信誉分值对应外部信誉权重、共识评价分值对应共识评价权重中的至少一者。可以对区块链节点的内部信誉分值与内部信誉权重的乘积、外部信誉分值与外部信誉权重的乘积、共识评价分值与共识评价权重的乘积求和,得到信誉分值。
具体地,对区块链节点的成功记账次数、响应时间进行加权求和,得到内部信誉分值,例如内部信誉分值可以为成功记账次数和成功记账次数的权重值的乘积与响应时间和响应时间的权重值的乘积等二者之和。对发生过直接交易的区块链节点、没有发生过直接交易的区块链节点的评分进行加权求和,得到外部信誉分值,例如外部信誉分值可以为发生过直接交易的区块链节点的评分和相应的权重值的乘积与未发生过直接交易的区块链节点的评分和相应的权重值的乘积之和。
区块链节点的成功记账次数、发生过直接交易的节点的评估分数、未发生过直接交易的节点的评分等越高,区块链节点的信誉分值也越高,成功记账次数、发生过直接交易的节点的评估分数、未发生过直接交易的节点的评分与信誉分值可以成正比例关系。而响应时间越短,区块链节点的信誉分越高,响应时间与信誉分值可以成反比例关系。
在一些实施例中,区块链节点的信誉分值可以采用百分制的方式来表示,即信誉分值最大值为100,最小值是某一个预设分值,该方式可以避免信誉分值的差距太大。本申请的信誉分值中内部信誉分值、外部信誉分值、共识评价分值等对应的权重可以根据具体应用场景的实际需要来进行设置,使得区块链共识的可控性较高,适应性强。
信誉分值可以用于表示区块链节点的能力和/或可信程度。信誉分值越高,则区块链节点自身的综合能力越强和信用水平越高,产生恶意行为的可能性越小,信誉分值越低则相反。信誉分值通过区块链节点的多项指标得到,可以避免随机选取共识节点,使得区块链节点的选取更加可靠,共识节点的竞争更加全面、准确、合理,提高区块链共识机制的稳定性和可靠性。
S52:基于每个区块链节点的信誉分值,从区块链节点中选出共识节点。
在一些实施例中,请参阅图7,上述步骤S52,基于每个区块链节点的信誉分值,从区块链节点中选出共识节点,可以包括以下至少一个步骤:
S521:基于每个区块链节点的信誉分值,选择满足第一预设条件的区块链节点作为验证节点。
其中,第一预设条件为区块链节点的信誉分值在所有区块链节点的信誉分值的总和的占比大于或等于预设比值。可以基于每个区块链节点的信誉分值,从区块链系统所有区块链节点中根据区块链节点信誉分值在所有区块链节点信誉分值总和中的比重来选择验证节点,例如区块链节点的信誉分值在所有区块链节点的信誉分值总和中的占比大于或等于1/n,则可以被确定为验证节点用于去验证交易内容准确性,其中,n为该区块链系统中包含的区块链节点的数量。区块链节点的信誉分值在所有区块链节点的信誉分值总和中的占比小于1/n,因该区块链节点的信誉分值过低,其验证结果的可靠性较低,则不能被选择作为验证节点。另外,选择的验证节点的数量为多个,即选择不少于2个满足第一预设条件的区块链节点作为验证节点。
S522:基于至少一个区块链节点的数量,选择第一预设数量的区块链节点作为备选记账节点。
基于至少一个区块链节点的信誉分值,按照信誉分值的大小的顺序对至少一个区块链节点进行排名,统计节点可以根据至少一个区块链节点的数量,来选择第一预设数量的区块链节点作为备选记账节点。
可选地,统计节点可以根据所有参与共识节点的数量来选择第一预设数量的区块链节点作为记账备选节点,其中,第一预设数量可以与参与共识节点的数量相关,选出第一预设数量的区块链节点作为备选记账节点后,统计节点向备选记账节点发送通知信息,以通知区块链节点作为备选记账节点的身份。
对于选出的备选记账节点的第一预设数量,可以根据参与共识节点的数量区间分别设置。例如所有参与共识节点的数量大于或等于1000,则选择的备选记账节点的第一预设数量为所有参与共识节点的1/3;例如所有参与共识节点的数量大于或等于100且小于1000,则选择的备选记账节点第一预设数量为参与共识节点的1/5;例如所有参与共识节点的数量大于或等于20且小于100时,则选择的备选记账节点第一预设数量为参与共识节点的1/6;例如所有参与共识节点的数量小于20,则选择的备选记账节点第一预设数量可以为3。可以理解的是,若备选记账节点数量是非整数时,可以对该数量进行四舍五入,从而保证备选记账节点的数量是整数。此外,第一预设数量为多个,且不少于3个。
S523:基于每个区块链节点的信誉分值,为每个区块链节点进行排序,并基于每个区块链节点的排序,选择满足第二预设条件的区块链节点作为排序节点。
基于每个区块链节点的信誉分值,根据信誉分值的大小顺序为每个区块链节点进行排序,并基于每个区块链节点的排序,选择排序中满足第二预设条件的区块链节点作为排序节点。其中,第二预设条件为区块链节点的排序为前第二预设数量。例如选择的排序节点可以是信誉分值排序在前30%的区块链节点中的一个。另外,选择的排序节点的数量为一个。
在一些实施例中,可以基于每个区块链节点的排序,选择满足第二预设条件的区块链节点作为统计节点,其中,统计节点的数量为一个。
在一些实施例中,作为排序节点的区块链节点,还可以同时作为验证节点或记账备选节点。作为统计节点的区块链节点,还可以同时作为验证节点或记账备选节点。本申请对此不做限制。
在一些实施例中,记账节点为从备选记账节点中根据预设随机函数选出得到的。例如可以通过VRF(Verifiable Random Function,可验证随机函数)从备选记账节点中选择一个节点作为记账节点。该方式可以避免某一区块链节点长期占有记账权,增加了记账节点的随机性。另外,若某一区块链节点在本轮担任了记账节点,则可以设置该区块链节点在下一轮共识中不能作为记账节点,以实现区块链系统算法的去中心化,增加区块链节点共识的合理性。
具体地,每个备选记账节点输入共同的随机种子和各自的私钥,例如其随机种子为区块高度。经过哈希函数的计算,得到记账证明信息和随机数,记账证明信息例如为零知识证明。若备选记账节点的随时数满足预设随机条件,则该备选记账节点被选择为记账节点。其中,预设随机条件可以包括:随机数在预设值域范围之内、随机数小于预设阈值、随机数为最小中的至少一种。记账节点可以将随机数、记账证明信息和打包好的区块向其他区块链节点进行广播,使得其他区块链节点可以通过可验证随机函数对记账证明信息进行验证,若验证通过,则证明该随机数输出是正确的,可以表明该随机数是该记账节点生成的,以证明记账节点的记账权。
可选地,通过VRF函数选出记账节点后,记账节点可以打包区块并广播区块信息给所有区块链节点。在广播区块信息该所有区块链节点之后,其他区块链节点才知道被选中作为记账节点的区块链节点,具有事后验证的特点,能够防止恶意攻击区块链节点,避免提前获取记账节点信息,从而防止在记账节点打包区块和广播区块时受攻击。另外,在备选记账节点中随机选出一个节点作为记账节点,保证了选取记账节点的随机性,避免按照制定顺序进行打包区块的区块链系统中的作恶问题,减小区块链节点作恶的概率。从备选记账节点根据预设随机函数选择出记账节点可以增强区块链安全性。
在一些实施例中,统计节点在每一轮共识后,统计节点会根据区块链节点的内部信誉分值、外部信誉分值、共识评价分值计算区块链节点的信誉分值。并判断每个区块链节点的当前信誉分值与上一轮共识中获取的信誉分值是否相同,若同一区块链节点的当前信誉分值与上一轮共识中获取的信誉分值相同,则不需要更新该区块链节点的信誉分值;若同一区块链节点的当前信誉分值与上一轮共识中获取的信誉分值不相同,说明书该区块链节点的信誉分值发生变化,则需要在本轮共识中对区块链节点的信誉分值进行更新,将当前信誉分值更新到区块链节点中,以及时对区块链节点的信誉分值进行更新。
另外,若其中一个或者多个区块链节点因为网络不通畅或者其他原因出现信誉分值更新失败的情况,则可以在共识节点中剔除信誉分值更新失败的区块链节点,或者从区块链系统中重新选择区块链节点替换信誉分值更新失败的区块链节点来参与共识过程。
可选地,若信誉分值更新失败的区块链节点是排序节点,统计节点可以基于每个区块链节点的排序,在被选作为验证节点和/或备选记账节点的区块链节点之外,选择满足第二预设条件的区块链节点中随机选择一个区块链节点作为排序节点。例如在区块链节点中信誉分值排序前30%的节点中随机选择的一个区块链节点作为排序节点。
可选地,若信誉分值更新失败的区块链节点是验证节点,统计节点可以在作为排序节点、验证节点、统计节点和/或备选记账节点之外的区块链节点中,基于每个区块链节点中信誉分值排序,选择区块链节点的排序为前第三预设数量中随机选择的区块链节点,例如选取前3名中任一区块链节点作为验证节点。
可选地,若信誉分值更新失败的区块链节点是备选记账节点,统计节点可以在作为排序节点、验证节点、统计节点和/或备选记账节点之外的区块链节点中,基于每个区块链接节点的排序,选择信誉分值最高的区块链节点作为备选记账节点。
在一些实施例中,基于每个区块链节点的信誉分值,从区块链节点中选出共识节点之后,还可以包括以下步骤:
S53:接收记账节点广播的打包区块信息和/或记账证明信息。
统计节点可以接收记账节点广播的打包区块信息和记账证明信息,其中,记账节点为备选记账节点根据预设随机函数选择出来的,记账证明信息用于证明记账节点的记账权,使得统计节点可以通过记账证明信息对记账节点的身份进行验证。
该步骤中选取记账节点的具体实施过程可以参考上述步骤S52,在此不再赘述。
S54:向共识节点发送通知信息,以通知共识节点的身份。
该步骤的具体实施过程可以参考上述实施例中步骤S43的实施过程,在此不再赘述。
区别于上述实施例,本实施例中,对区块链节点的内部信誉分值、外部信誉分值或共识评价分值中的至少两者进行加权求和,得到信誉分值,使得区块链节点的信誉分值是通过区块链节点的多元化指标得到的,基于区块链节点的信誉分值选取共识节点,选取的共识节点更加可靠,使得区块链节点成为参与共识节点的竞争更加全面、准确、合理,提高区块链共识机制的稳定性和可靠性。另外,记账节点是从备选记账节点中通过随机函数随机选取得到的,记账节点的选取具有随机性,可以避免某一个区块链节点长期拥有记账权,增加区块链节点作为记账节点的概率,使得共识节点的选取更加合理,从而进一步增加区块链共识的稳定性和可靠性。
请参阅图8,图8是本申请区块链共识方法第三实施例的流程示意图。该方法包括:
S71:验证节点接收排序节点发送的交易信息,并对交易信息进行第三验证。
验证节点也可以对接收到的排序节点发送的交易信息,并对交易信息进行第三验证,验证交易信息是否是合法的、准确的。若验证接收的交易信息为合法的、准确的,则第三验证通过;否则,若验证接收的交易信息不合法或不准确等,则确定第三验证未通过。
S72:若第三验证通过,则向其他验证节点广播对交易信息的第二投票信息;其中,第二投票信息包括验证节点的信誉分值。
验证节点对交易信息进行第三验证,若第三验证通过,则生成对交易信息的第二投票信息,可将验证节点的信誉分值进行抵押,验证节点向其他验证节点广播对交易信息的第二投票信息,其中,第二投票信息中包括验证节点的信誉分值,其信誉分值可以用于表示验证节点的能力和/或可信程度。在一些实施例中,第二投票信息中可以包括交易信息、验证节点的信誉分值、验证节点的数字签名等信息,以使得验证节点将第二投票信息广播给其他验证节点。
S73:验证节点接收其他验证节点发送的对交易信息的第一投票信息,并对第一投票信息进行第一验证,以得到交易信息的第一验证通过信息。
S74:统计节点接收验证节点发送的第一验证通过信息,并对第一验证通过信息进行第二验证,以得到交易信息的第二验证通过信息。
S75:记账节点接收统计节点发送的第二验证通过信息,基于第二验证信息,将交易信息打包成区块并存储至区块链中。
其中,验证节点、排序节点和记账节点为由统计节点根据区块链节点的信誉分值从区块链节点中选出的,信誉分值用于表示区块链节点的能力和/或可信程度。
该实施例中步骤S73至步骤S75的具体实施过程可以参考上述实施例的实施过程,本申请在此不再赘述。
本实施例中,验证节点接收排序节点发送的交易信息,并对交易信息进行第三验证,若第三验证通过,则向其他验证节点广播对交易信息的第二投票信息;其中,第二投票信息包括验证节点的信誉分值,而信誉分值用于表示对应节点的能力和/或可信程度,能够提高验证节点对交易信息验证而广播的第二投票信息的可靠性,提高区块链共识的稳定性。
对于上述实施例,本申请提供一种计算机设备,请参阅图9,图9是本申请计算机设备一实施例的结构示意图。该计算机设备200包括存储器201和处理器202,其中,存储器201和处理器202相互耦接,存储器201中存储有程序数据,处理器202用于执行程序数据以实现上述任一实施例中的步骤。
在本实施例中,处理器202还可以称为CPU(Central Processing Unit,中央处理单元)。处理器202可能是一种集成电路芯片,具有信号的处理能力。处理器202还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器202也可以是任何常规的处理器等。
该实施例的具体实施方式可参考上述实施例的实施过程,在此不再赘述。
对于上述实施例,请参阅图10,图10是本申请区块链系统第二实施例的结构示意图。该区块链系统300包括验证节点301和统计节点302,其中,验证节点301和统计节点302用于执行上述任一实施例中对应的步骤。
该实施例的具体实施方式可参考上述实施例的实施过程,在此不再赘述。
对于上述实施例,请参阅图11,图11是本申请区块链系统第三实施例的结构示意图。该区块链系统400包括验证节点401、统计节点402和记账节点403,其中,验证节点401、统计节点402和记账节点403用于执行上述任一实施例中对应步骤。
该实施例的具体实施方式可参考上述实施例的实施过程,在此不再赘述。
对于上述实施例的方法,其可以采用计算机程序的形式实现,因而本申请提出一种存储装置,请参阅图12,图12是本申请存储装置一实施例的结构示意图。该存储装置500中存储有能够被处理器运行的程序数据501,程序数据可被处理器执行以实现上述权能配置方法任一实施例的步骤。
该实施例的具体实施方式可参考上述实施例的实施过程,在此不再赘述。
本实施例存储装置500可以是U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等可以存储程序数据的介质,或者也可以为存储有该程序数据的服务器,该服务器可将存储的程序数据发送给其他设备运行,或者也可以自运行该存储的程序数据。
在本申请所提供的几个实施例中,应该理解的,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储装置中,该存储装置是一种计算机可读取存储介质。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种区块链共识方法,其特征在于,包括:
当前验证节点接收对交易信息的第一投票信息,其中,所述第一投票信息来自于其他验证节点且包括所述其他验证节点的信誉分值,所述信誉分值用于表示对应节点的能力和/或可信程度;
所述当前验证节点基于所述第一投票信息中的信誉分值,对所述第一投票信息进行第一验证;
若所述第一验证通过,则所述当前验证节点向统计节点发送所述交易信息的第一验证通过信息。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述当前验证节点对接收到的所述交易信息进行第二验证;
若所述第二验证通过,生成对所述交易信息的第二投票信息,并将所述第二投票信息广播给所述其他验证节点。
3.根据权利要求1所述的方法,其特征在于,所述当前验证节点基于所述第一投票信息中的信誉分值,对所述第一投票信息进行第一验证,包括:
所述当前验证节点统计在第一预设时间内接收的所述第一投票信息中的信誉分值;
所述当前验证节点判断统计的所述信誉分值是否满足第一预设要求,若是,则确定所述第一验证通过。
4.根据权利要求3所述的方法,其特征在于,
所述第一预设要求为统计的所述信誉分值与信誉分值总和之间的比例大于或等于预设阈值;其中,所述信誉分值总和为区块链中的所有验证节点的信誉分值的总和。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述统计节点统计在第二预设时间内接收的所述第一验证通过信息的数量;
若所述统计的数量满足第二预设要求,则所述统计节点生成对所述交易信息的第二验证通过信息,并将所述第二验证通过信息发送给记账节点。
6.根据权利要求5所述的方法,其特征在于,所述第二预设要求为所述第一验证信息的数量与数量总和的占比大于或等于预设数量阈值,所述数量总和为所述验证节点的数量总和;
和/或,所述方法还包括:
所述记账节点获取在第三预设时间内接收的所述第二验证通过信息;
所述记账节点基于获取的所述第二验证通过信息,将所述交易信息打包成区块并存储至区块链中。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述统计节点获取区块链节点广播的所述区块链节点的信誉分值;
所述统计节点基于所述信誉分值,从所述区块链节点中选出所述验证节点、备选记账节点中的至少一个;其中,记账节点为从所述备选记账节点中根据预设随机函数选出得到的。
8.根据权利要求1所述的方法,其特征在于,
所述信誉分值是基于所述验证节点的内部信誉分值、外部信誉分值或共识评价分值中至少一者与各自权重得到的;
其中,所述内部信誉分值是基于所述区块链节点的成功记账次数、响应时间得到的;所述外部信誉分值是基于其他区块链节点对所述区块链节点的评分得到的;所述共识评价分值是基于所述区块链节点参与共识过程的行为确定的。
9.一种计算机设备,其特征在于,包括相互耦接的存储器和处理器,所述存储器中存储有程序数据,所述处理器用于执行所述程序数据以实现权利要求1至8任一项所述方法的步骤。
10.一种区块链系统,其特征在于,包括验证节点和统计节点,其中,所述验证节点和统计节点用于执行权利要求1至8中任一项对应的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110437626.9A CN113326516A (zh) | 2021-04-22 | 2021-04-22 | 区块链共识方法、区块链系统及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110437626.9A CN113326516A (zh) | 2021-04-22 | 2021-04-22 | 区块链共识方法、区块链系统及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113326516A true CN113326516A (zh) | 2021-08-31 |
Family
ID=77415015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110437626.9A Pending CN113326516A (zh) | 2021-04-22 | 2021-04-22 | 区块链共识方法、区块链系统及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326516A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113807850A (zh) * | 2021-09-30 | 2021-12-17 | 北京优品三悦科技发展有限公司 | 一种共识节点的状况评估方法、装置及电子设备 |
CN113824565A (zh) * | 2021-09-24 | 2021-12-21 | 广东卓启云链科技有限公司 | 区块链敏感信息管理方法及相关装置 |
CN114465866A (zh) * | 2022-01-21 | 2022-05-10 | 北京航空航天大学 | 区块链的产生方法和装置、存储介质及电子设备 |
CN114520733A (zh) * | 2021-12-29 | 2022-05-20 | 中国科学院信息工程研究所 | 数据传输与处理可信认证的方法、装置及电子设备 |
CN114710340A (zh) * | 2022-03-25 | 2022-07-05 | 绿盟科技集团股份有限公司 | 一种安全认证系统及方法 |
CN114764709A (zh) * | 2021-01-14 | 2022-07-19 | 富士通株式会社 | 信息处理装置和信息处理方法 |
CN115118436A (zh) * | 2022-08-23 | 2022-09-27 | 北京优品三悦科技发展有限公司 | 区块链共识方法及装置、存储介质及电子设备 |
CN115712921A (zh) * | 2022-10-19 | 2023-02-24 | 哈尔滨工业大学(深圳) | 一种基于区块链的数据管理方法、装置及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108122165A (zh) * | 2017-12-15 | 2018-06-05 | 北京中电普华信息技术有限公司 | 一种区块链共识方法及系统 |
CN109559120A (zh) * | 2018-12-03 | 2019-04-02 | 国网电子商务有限公司 | 基于权重的区块链共识方法、系统、存储介质及电子设备 |
CN110502905A (zh) * | 2019-07-10 | 2019-11-26 | 布比(北京)网络技术有限公司 | 一种隐私保护的分布式账本交易方法和系统 |
CN110826903A (zh) * | 2019-11-04 | 2020-02-21 | 云南电网有限责任公司电力科学研究院 | 一种基于区块链的企业信誉度评估方法 |
CN110995701A (zh) * | 2019-12-02 | 2020-04-10 | 远光软件股份有限公司 | 一种区块链共识方法、系统、电子设备、存储介质 |
CN111104460A (zh) * | 2019-12-02 | 2020-05-05 | 远光软件股份有限公司 | 一种区块链共识方法、系统、电子设备、存储介质 |
CN111241114A (zh) * | 2020-01-07 | 2020-06-05 | 中国科学院信息工程研究所 | 一种结合交易与共识的智能服务交易区块链信誉管理方法和系统 |
-
2021
- 2021-04-22 CN CN202110437626.9A patent/CN113326516A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108122165A (zh) * | 2017-12-15 | 2018-06-05 | 北京中电普华信息技术有限公司 | 一种区块链共识方法及系统 |
CN109559120A (zh) * | 2018-12-03 | 2019-04-02 | 国网电子商务有限公司 | 基于权重的区块链共识方法、系统、存储介质及电子设备 |
CN110502905A (zh) * | 2019-07-10 | 2019-11-26 | 布比(北京)网络技术有限公司 | 一种隐私保护的分布式账本交易方法和系统 |
CN110826903A (zh) * | 2019-11-04 | 2020-02-21 | 云南电网有限责任公司电力科学研究院 | 一种基于区块链的企业信誉度评估方法 |
CN110995701A (zh) * | 2019-12-02 | 2020-04-10 | 远光软件股份有限公司 | 一种区块链共识方法、系统、电子设备、存储介质 |
CN111104460A (zh) * | 2019-12-02 | 2020-05-05 | 远光软件股份有限公司 | 一种区块链共识方法、系统、电子设备、存储介质 |
CN111241114A (zh) * | 2020-01-07 | 2020-06-05 | 中国科学院信息工程研究所 | 一种结合交易与共识的智能服务交易区块链信誉管理方法和系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114764709A (zh) * | 2021-01-14 | 2022-07-19 | 富士通株式会社 | 信息处理装置和信息处理方法 |
CN113824565A (zh) * | 2021-09-24 | 2021-12-21 | 广东卓启云链科技有限公司 | 区块链敏感信息管理方法及相关装置 |
CN113824565B (zh) * | 2021-09-24 | 2023-08-25 | 广东卓启云链科技有限公司 | 区块链敏感信息管理方法及相关装置 |
CN113807850A (zh) * | 2021-09-30 | 2021-12-17 | 北京优品三悦科技发展有限公司 | 一种共识节点的状况评估方法、装置及电子设备 |
CN113807850B (zh) * | 2021-09-30 | 2023-03-31 | 北京优品三悦科技发展有限公司 | 一种共识节点的状况评估方法、装置及电子设备 |
CN114520733A (zh) * | 2021-12-29 | 2022-05-20 | 中国科学院信息工程研究所 | 数据传输与处理可信认证的方法、装置及电子设备 |
CN114465866B (zh) * | 2022-01-21 | 2023-08-15 | 北京航空航天大学 | 基于信任度和PBFT的DPoS方法 |
CN114465866A (zh) * | 2022-01-21 | 2022-05-10 | 北京航空航天大学 | 区块链的产生方法和装置、存储介质及电子设备 |
CN114710340A (zh) * | 2022-03-25 | 2022-07-05 | 绿盟科技集团股份有限公司 | 一种安全认证系统及方法 |
CN114710340B (zh) * | 2022-03-25 | 2023-05-23 | 绿盟科技集团股份有限公司 | 一种安全认证系统及方法 |
CN115118436A (zh) * | 2022-08-23 | 2022-09-27 | 北京优品三悦科技发展有限公司 | 区块链共识方法及装置、存储介质及电子设备 |
CN115118436B (zh) * | 2022-08-23 | 2022-11-22 | 北京优品三悦科技发展有限公司 | 区块链共识方法及装置、存储介质及电子设备 |
CN115712921A (zh) * | 2022-10-19 | 2023-02-24 | 哈尔滨工业大学(深圳) | 一种基于区块链的数据管理方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11232478B2 (en) | Methods and system for collecting statistics against distributed private data | |
CN113326516A (zh) | 区块链共识方法、区块链系统及计算机设备 | |
CN111427957B (zh) | 区块链投票信息校验方法、装置、设备以及存储介质 | |
CN110708171B (zh) | 区块链共识投票方法、装置、设备以及存储介质 | |
CN111445333B (zh) | 区块生成方法、装置、计算机设备以及存储介质 | |
US9749297B2 (en) | Manicoding for communication verification | |
US20180285838A1 (en) | Scalable and distributed shared ledger transaction management | |
CN112446785A (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
US20180068280A1 (en) | Verifying electronic transactions | |
EP3419210A1 (en) | Method for generating a transaction of a blockchain and method for validating a block of a blockchain | |
US10607297B2 (en) | Scalable and distributed shared ledger transaction management | |
KR102601973B1 (ko) | 시스템 아키텍처 및 시스템 아키텍처에서 데이터를 처리하는 방법 | |
CN113301114B (zh) | 区块链共识节点选择方法、装置、计算机设备和存储介质 | |
US11362836B2 (en) | Consensus protocol for permissioned ledgers | |
CN112651830B (zh) | 应用于电力资源共享网络的区块链共识方法 | |
CN111523890A (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN112600678A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
Wang et al. | Exploring unfairness on proof of authority: Order manipulation attacks and remedies | |
Aluko et al. | Proof-of-reputation: an alternative consensus mechanism for blockchain systems | |
CN111865595A (zh) | 一种区块链的共识方法及装置 | |
Bezuidenhout et al. | Permissionless blockchain systems as pseudo-random number generators for decentralized consensus | |
CN111833062B (zh) | 数字资产数据包的可信性验证系统 | |
CN112995167A (zh) | 基于Kafka机制的用电信息采集方法、区块链网络及用户端 | |
CN113301118B (zh) | 区块链共识节点的确定方法、共识方法、系统及设备 | |
Yang et al. | An association ring signature for block chain e-money transactions |
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 |