CN110011814B - 一种可验证的DPoS共识方法及其系统 - Google Patents

一种可验证的DPoS共识方法及其系统 Download PDF

Info

Publication number
CN110011814B
CN110011814B CN201910306005.XA CN201910306005A CN110011814B CN 110011814 B CN110011814 B CN 110011814B CN 201910306005 A CN201910306005 A CN 201910306005A CN 110011814 B CN110011814 B CN 110011814B
Authority
CN
China
Prior art keywords
block
node
super node
verifying
verified
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
Application number
CN201910306005.XA
Other languages
English (en)
Other versions
CN110011814A (zh
Inventor
吉建勋
杨慧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Ruice Technology Co Ltd
Original Assignee
Beijing Ai Morui Strategic Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Ai Morui Strategic Technology Co Ltd filed Critical Beijing Ai Morui Strategic Technology Co Ltd
Priority to CN201910306005.XA priority Critical patent/CN110011814B/zh
Publication of CN110011814A publication Critical patent/CN110011814A/zh
Application granted granted Critical
Publication of CN110011814B publication Critical patent/CN110011814B/zh
Priority to PCT/CN2019/129715 priority patent/WO2020211461A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

本申请公开了一种可验证的DPoS共识方法及其系统,该系统包括超级节点、验证节点以及普通节点,至少一个普通节点选择N个超级节点;该方法包括:第一超级节点接收至少一个普通节点发送的请求数据;对预设时间段内的第一请求数据打包成第一区块,并对其进行验证;第一区块验证通过后,将第一区块发送给其余超级节点进行验证;其余超级节点采用PBFT对第一区块进行验证;当验证通过后,第一超级节点通过VRF算法随机选择M个验证节点,M个验证节点采用PBFT算法对第一区块进行验证;当验证通过后,第一区块上链。本申请提高区块的产生效率和区块链系统的安全性;且去中心化程度相对较高。

Description

一种可验证的DPoS共识方法及其系统
技术领域
本申请涉及区块链技术领域,尤其涉及一种可验证的DPoS共识方法及其系统。
背景技术
目前,区块链、物联网以及人工智能并列为未来科技的三大技术。区块链技术是基于去中心化的对等网络,用开源软件把密码学原理、时序数据和共识机制相结合,来保障分布式数据库中各节点的连贯和持续,使信息能即时验证、可追溯,但难以篡改和无法屏蔽,从而创造了一套隐私、高效、安全的共享价值体系。
共识算法是区块链技术的核心组成部分,主要解决由构建和检验区块的主体是谁,以及如何维护区块链统一的问题。在中心化的结构体系中,整个系统的共识算法由中心来决定,各个参与方只需要服从这个中心即可,因此在中心化的系统中,共识算法的建立是极为高效的;而区块链技术是一种去中心化的系统,系统中每个参与节点地位平等,当出现分歧时,共识算法就成为解决此类问题的重要方法与手段。
目前,区块链技术常用的共识算法有工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,POS)、授权股权证明(Delegated Proof of Stake,DPoS)与实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)等。
然而,PoW算法去中心化程度最高,需要大量的哈希计算,浪费太多电力能源,并且10分钟左右产生一个新的区块,效率较低;DPoS算法是PoS算法的升级,由节点投票选择若干代理节点,若干代理节点进行验证和记账,30秒左右产生一个新的区块,解决了PoW算法效率低下的问题,但是代理节点一般低于100个,中心化程度较低,代理节点容易作恶,安全性相对于PoW算法较低。
随着区块链的场景应用越来越广泛,如何找到一种共识方法,不仅能够提高区块的产生效率,而且能够提高区块链系统去中心化程度和安全性,成为亟待解决的问题。
发明内容
为了解决上述问题,本申请提供一种可验证的DPoS共识方法及其系统,该方法不仅能够提高区块的产生效率,而且能够提高区块链系统的去中心化程度和安全性。
本申请第一方面公开了一种可验证的DPoS共识方法,应用于一种可验证的DPoS共识系统中,所述系统包括超级节点、验证节点以及普通节点,所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;其中,至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点;所述方法包括:
所述第一超级节点接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值;
所述第一超级节点对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证;
所述第一超级节点对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级节点中除所述第一超级节点外的超级节点;
所述其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证;
当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数;
当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。
在一种可能的实施方式中,超级节点N的取值范围为10-100。
在一种可能的实施方式中,所述请求信息包括交易信息和/或业务信息;其中,所述交易信息包括交易金额和买方的数字签名;所述业务信息包括业务数据,所述业务数据包括业务属性数据、价格数据以及所有者数据。
在一种可能的实施方式中,所述第一请求数据包括所述第一区块与所述第一区块之前区块之间的全部所述请求数据。
在一种可能的实施方式中,所述其余超级节点对所述第一区块验证通过后,所述第一超级节点确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一区块划分为至少两个分片区块;所述第一超级节点通过可验证的随机算法随机选择至少两个验证节点组,所述至少两个验证节点组采用实用拜占庭容错算法对所述至少两个分片区块进行验证;其中,一个验证节点组对应验证一个分片区块;所述第一超级节点接受所述至少两个验证节点组对所述至少两个分片区块的通过验证消息,所述第一区块上链。
在一种可能的实施方式中,所述N个超级节点按照顺序打包区块,所述第一超级节点连续打包L个区块后,再按顺序由下一个超级节点打包区块,L为正整数;其中,所述N个超级节点打包区块的顺序,由所述第一超级节点通过迪杰斯特拉算法计算全局路径后确定。
在一种可能的实施方式中,第一超级节点连续打包L个区块,L的取值范围为1-100。
在一种可能的实施方式中,当所述第一超级节点打包第一区块,且确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一区块划分为至少两个分片区块;其中,至少两个分片区块包括第一分片区块和所述第二分片区块,第一分片区块由所述第一超级节点打包,所述第二分片区块由所述第一超级节点通过可验证的随机算法随机选择所述其余超级节点中的一个超级节点打包。
在一种可能的实施方式中,当所述其余超级节点对所述第一区块进行验证时,和/或当M个所述验证节点对所述第一区块进行验证时;所述第一超级节点对预设时间段内的第二请求数据打包成第二区块,并对所述第二区块进行验证。
在一种可能的实施方式中,当所述其余超级节点对所述第一区块验证通过后,所述其余超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点对所述第一区块进行验证,M为正整数;或
当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择m1个所述验证节点,m1个所述验证节点通过可验证的随机算法随机选择m2个所述验证节点,m1、m2均为正整数,且m1+m2=M,M个所述验证节点对所述第一区块进行验证。
在一种可能的实施方式中,验证节点M的取值20-200。
在一种可能的实施方式中,所述第一区块的验证包括对所述第一区块中全部请求数据进行哈希验证和请求双方的身份验证。
本申请第二方面提供一种可验证的DPoS共识系统,所述系统包括N个超级节点,验证节点以及普通节点;其中,至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点;
所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;
所述第一超级节点接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值;
所述第一超级节点对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证;
所述第一超级节点对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级节点中除所述第一超级节点外的超级节点;
所述其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证;
当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数;
当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。
本申请的方法不仅能够提高区块的产生效率,而且能够提高区块链系统的安全性;相对于DPoS共识机制来说,增加了去中心化程度。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1为本申请实施例提供的一种可验证的DPoS共识方法流程示意图;
图2为本申请实施例提供的一种可验证的DPoS共识系统结构示意图;
图3为本申请实施例提供的一种区块分片进行打包或验证的结构示意图。
具体实施方式
为了更清楚的阐释本申请的整体构思,下面结合说明书附图以示例的方式进行详细说明。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的顺序在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例中所称的节点,可以理解为响应外界特定触发条件,并按一定规则做状态转换的抽象机器,可以是手机、平板电脑、掌上电脑、个人PC电脑等可以按照应用软件且能够联网的设备。
如图1所示,一种可验证的DPoS共识方法,应用于如图2的可验证的DPoS共识系统中。
所述系统包括超级节点、验证节点以及普通节点,所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;其中,至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点。
需要说明的是,超级节点以及验证节点都有普通节点的功能;上述N个超级节点可以由若干位权益人通过电脑(没有同步区块链上的数据)投票产生,也可以由若干位权益人通过普通节点(同步了区块链上的数据)投票产生。
所述方法包括步骤S101-S106。
S101,所述第一超级节点接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值。
在一个示例中,所述请求信息包括交易信息和/或业务信息;其中,所述交易信息包括交易金额和买方的数字签名;所述业务信息包括业务数据,所述业务数据包括业务属性数据、价格数据以及所有者数据。
此外,业务数据可以是结构化数据,可以包括业务数据的版本信息、价格信息、浏览次数信息、收藏次数信息、数据所有者信息以及数据创建者信息等中的一个或多个;并且,业务数据带有时间戳,是以时间轴连续的数据,例如:版本信息包括1.0版本、2.0版本,价格信息包括初始价格和变动价格。
S102,所述第一超级节点对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证。
此时,预设时间段是指两个区块生成之间的时间。
在一个示例中,所述第一请求数据包括所述第一区块与所述第一区块之前区块之间的全部所述交易数据。
在一个示例中,所述N个超级节点按照顺序打包区块,所述第一超级节点连续打包L个区块后,再按顺序由下一个超级节点打包区块,L为正整数;其中,所述N个超级节点打包区块的顺序,由所述第一超级节点通过动态规划方法确定。
此外,上述提到的每轮打包区块之前,需要确定打包区块的超级节点的顺序,以使得在各超级节点在每一轮打包区块过程中,全局路径最短;此时,可以采用动态规划方法解决该旅行商问题(Traveling Salesman Problem,TSP),即已知任意两个节点的距离,求如何从一个节点遍历所有节点,路径最短的问题。动态规划方法可以采用最短路径迪杰斯特拉Dijkstra算法,也可以采用全局最短路径Floyd-warshall算法。
还需要说明的是,N个超级节点组成P2P网络,N个超级节点之间的数据传输,同样采用动态规划的方式来提高数据传输效率。每个超级节点传输数据时,不再直接向另外一个超级节点通信,而是通过动态规划方法选择两个超级节点之间的最短路径进行通信,能减少两个超级节点间的数据传输时间,从而提高网络效率。
本申请对超级节点和超级节点连续打包区块的个数,不进行限定。在一个示例中,超级节点N的取值范围为10-100;第一超级节点连续打包L个区块,L的取值范围为1-100。
S103,所述第一超级节点对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级节点中除所述第一超级节点外的超级节点。
S104,所述其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证。
需要说明的是,实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT)可以容忍小于1/3个无效或者恶意节点,本申请实施例对该算法不进行详细说明。
S105,当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数。
在一个示例中,当所述其余超级节点对所述第一区块进行验证时,和/或当M个所述验证节点对所述第一区块进行验证时;所述第一超级节点对预设时间段内的第二请求数据打包成第二区块,并对所述第二区块进行验证。
换句话说,上述其余超级节点对上述第一区块进行验证,与第一超级节点对第二请求数据打包生成第二区块过程,可以同时进行,不需要等待第一区块验证过程完全结束后,才开始产生第二区块,从而提高了区块的产生效率;同时,上述M个验证节点对第一区块进行验证,与第一超级节点产生第二区块的过程,也可以同时进行。
此时,利用可验证随机算法(Verifiable Random Function,VRF)选择M个验证节点对第一区块进行验证,可以防止超过三分之一的超级节点做恶;如果有超过三分之一的超级节点做恶,第一超级节点随机选择的M个验证节点对第一区块拒绝验证,或者验证不通过,第一区块不能成功上链。
从而,第一超级节点采用VRF算法对上链的区块进行验证,能够提升区块链系统的安全性;并且,上述讨论可知,第一超级节点采用VRF算法对上链的区块进行验证时,第一超级节点还可以继续打包生成第二区块,既还能够提升区块链系统的区块生成效率。
需要指出的是,M个验证节点也采用PBFT算法对第一区块进行验证。
此外,由于M个验证节点能够存储整条区块链,相对于现有的DPoS算法(DPoS算法中,只有100个左右的代理权益节点才有验证的功能),增加了区块链系统的去中心化程度。验证节点发现第一区块验证不通过时,将第一区块废弃,从该第一区块的上一个区块重新进行区块生成和验证流程;并且将其余超级节点中判断该第一区块验证通过的超级节点,作为做恶节点;然后,验证节点将该做恶节点拉入黑名单,新增超级节点对做恶的超级节点进行替换。本申请的区块链系统中,根据上述机制,可以防止任意数量的超级节点做恶。
在一个示例中,当所述其余超级节点对所述第一区块验证通过后,所述其余超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点所述第一区块进行验证,M为正整数。
在一个示例中,当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择m1个所述验证节点,m1个所述验证节点通过可验证的随机算法随机选择m2个所述验证节点,m1、m2均为正整数,且m1+m2=M,M个所述验证节点对所述第一区块进行验证。
本申请对于验证节点的取值不进行限定。在一个示例中,验证节点M的取值20-200。
S106,当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。
需要指出的是,上述任一区块被验证后,被验证的区块上链;区块上链之后,并没有成为不可逆块;只有该上链区块后续有多个区块(例如:后续有6个区块)被确认上链后,该区块才成为不可逆块。
在一个示例中,上述第一区块的验证包括对所述第一区块中全部请求数据进行哈希验证和请求双方的身份验证。
验证方式例如:通过交易中,发送方的公钥验证发送方是否通过私钥进行了签名,通过第一区块中区块头的哈希Merkle数根验证第一区块中的交易数据是否被篡改。需要说明的是,对区块的验证是本领域技术人员的常规技术手段,本申请对此不进行详细说明。
在一个示例中,所述其余超级节点对所述第一区块验证通过后,所述第一超级节点确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一区块划分为至少两个分片区块;所述第一超级节点通过可验证的随机算法随机选择至少两个验证节点组,所述至少两个验证节点组采用实用拜占庭容错算法对所述至少两个分片区块进行验证;其中,一个验证节点组对应验证一个分片区块;所述第一超级节点接受所述至少两个验证节点组对所述至少两个分片区块的通过验证消息,所述第一区块上链。
如图3所示,区块的字节数大于字节阈值,区块被分成分片区块1、分片区块2以及、分片区块3、分片区块n,采用VRF算法随机选择验证节点组6、验证节点组3以及验证节点组8对该区块进行验证。
在一个示例中,当所述第一超级节点打包第一区块,且确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一区块划分为至少两个分片区块;其中,至少两个分片区块包括第一分片区块和所述第二分片区块,第一分片区块由所述第一超级节点打包,所述第二分片区块由所述第一超级节点通过可验证的随机算法随机选择所述其余超级节点中的一个超级节点打包。
如图3所示,区块字节大于字节阈值,该区块被划分为分片区块1、分片区块2、分片区块3、分片区块n,第一超级节点通过VRF算法随机选择超级节点VRF对分片区块1打包,超级节点2对分片区块2打包,超级节点9对分片区块3打包。
需要说明的是,字节数阈值可根据需要设定。
如图2所示,一种可验证的DPoS共识系统,所述系统包括N个超级节点,验证节点以及普通节点。
至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点。
所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;并且接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值;且对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证;且对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级节点中除所述第一超级节点外的超级节点。
其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证;当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数。
当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。
在一个示例中,所述请求信息包括交易信息和/或业务信息;其中,所述交易信息包括交易金额和交易双方的数字签名;所述业务信息包括业务数据,所述业务数据包括业务属性数据、价格数据以及所有者数据。
在一个示例中,当所述其余超级节点对所述第一区块进行验证时,和/或当M个所述验证节点对所述第一区块进行验证时;所述第一超级节点对预设时间段内的第二请求数据打包成第二区块,并对所述第二区块进行验证。
本申请的方法不仅能够提高区块的产生效率,而且能够提高区块链系统的安全性;相对于DPoS共识机制来说,增加了去中心化程度。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种可验证的DPoS共识方法,其特征在于,应用于基于可验证的DPoS共识机制的共识系统中,所述系统包括超级节点、验证节点以及普通节点,所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;其中,至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点;所述方法包括:
所述第一超级节点接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值;
所述第一超级节点对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证;
所述第一超级节点对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级节点中除所述第一超级节点外的超级节点;
所述其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证;
当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数,所述可验证的随机算法为VRF;
当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。
2.根据权利要求1所述的方法,其特征在于,所述请求信息包括交易信息和/或业务信息;其中,
所述交易信息包括交易金额和买方的数字签名;
所述业务信息包括业务数据,所述业务数据包括业务属性数据、价格数据以及所有者数据。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述其余超级节点对所述第一区块验证通过后,所述第一超级节点确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一区块划分为至少两个分片区块;
所述第一超级节点通过可验证的随机算法随机选择至少两个验证节点组,所述至少两个验证节点组采用实用拜占庭容错算法对所述至少两个分片区块进行验证;其中,一个验证节点组对应验证一个分片区块;
所述第一超级节点接受所述至少两个验证节点组对所述至少两个分片区块的通过验证消息,所述第一区块上链。
4.根据权利要求1所述的方法,其特征在于,所述N个超级节点按照顺序打包区块,所述第一超级节点连续打包L个区块后,再按顺序由下一个超级节点打包区块,L为正整数;其中,
所述N个超级节点打包区块的顺序,由所述第一超级节点通过动态规划方法来决定;和/或
在每一轮打包顺序确定后,所述N个超级节点之间的数据传输路径,由动态规划方法来确定。
5.根据权利要求1或4所述的方法,其特征在于,当所述其余超级节点对所述第一区块进行验证时,和/或
当M个所述验证节点对所述第一区块进行验证时;所述第一超级节点对预设时间段内的第二请求数据打包成第二区块,并对所述第二区块进行验证。
6.根据权利要求1所述的方法,其特征在于,当所述其余超级节点对所述第一区块验证通过后,所述其余超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点对所述第一区块进行验证,M为正整数;或
当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择m1个所述验证节点,m1个所述验证节点通过可验证的随机算法随机选择m2个所述验证节点,m1、m2均为正整数,且m1+m2=M,M个所述验证节点对所述第一区块进行验证。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一超级节点打包第一区块,且确定所述第一区块的字节大于预设字节阈值时,所述第一超级节点将所述第一区块划分为至少两个分片区块;其中,至少两个分片区块包括第一分片区块和第二分片区块,第一分片区块由所述第一超级节点打包,所述第二分片区块由所述第一超级节点通过可验证的随机算法随机选择所述其余超级节点中的一个超级节点打包。
8.一种可验证的DPoS共识系统,其特征在于,所述系统包括N个超级节点,验证节点以及普通节点;其中,至少一个所述普通节点选择N个超级节点,N为正整数,所述N个超级节点包括第一超级节点;
所述超级节点用于打包区块和验证区块,所述验证节点用于验证区块,所述普通节点用于同步区块链上的数据;
所述第一超级节点接收至少一个所述普通节点发送的请求数据,所述请求数据包括请求信息、请求双方地址以及所述请求信息的哈希值;
所述第一超级节点对预设时间段内的第一请求数据打包成第一区块,并对所述第一区块进行验证;
所述第一超级节点对所述第一区块验证通过后,将所述第一区块发送给其余超级节点进行验证,所述其余超级节点为所述N个超级节点中除所述第一超级节点外的超级节点;
所述其余超级节点采用实用拜占庭容错算法对所述第一区块进行验证;
当所述其余超级节点对所述第一区块验证通过后,所述第一超级节点通过可验证的随机算法随机选择M个所述验证节点,M个所述验证节点采用实用拜占庭容错算法对所述第一区块进行验证,M为正整数,所述可验证的随机算法为VRF;
当所述M个验证节点对所述第一区块验证通过后,所述第一区块上链。
9.根据权利要求8所述的系统,其特征在于,所述请求信息包括交易信息和/或业务信息;其中,
所述交易信息包括交易金额和交易双方的数字签名;
所述业务信息包括业务数据,所述业务数据包括业务属性数据、价格数据以及所有者数据。
10.根据权利要求8所述的系统,其特征在于,当所述其余超级节点对所述第一区块进行验证时,和/或当M个所述验证节点对所述第一区块进行验证时;
所述第一超级节点对预设时间段内的第二请求数据打包成第二区块,并对所述第二区块进行验证。
CN201910306005.XA 2019-04-16 2019-04-16 一种可验证的DPoS共识方法及其系统 Active CN110011814B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910306005.XA CN110011814B (zh) 2019-04-16 2019-04-16 一种可验证的DPoS共识方法及其系统
PCT/CN2019/129715 WO2020211461A1 (zh) 2019-04-16 2019-12-30 一种可验证的共识方法及其系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910306005.XA CN110011814B (zh) 2019-04-16 2019-04-16 一种可验证的DPoS共识方法及其系统

Publications (2)

Publication Number Publication Date
CN110011814A CN110011814A (zh) 2019-07-12
CN110011814B true CN110011814B (zh) 2019-10-15

Family

ID=67172340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910306005.XA Active CN110011814B (zh) 2019-04-16 2019-04-16 一种可验证的DPoS共识方法及其系统

Country Status (2)

Country Link
CN (1) CN110011814B (zh)
WO (1) WO2020211461A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011814B (zh) * 2019-04-16 2019-10-15 北京艾摩瑞策科技有限公司 一种可验证的DPoS共识方法及其系统
CN110445616B (zh) * 2019-07-15 2022-03-04 杭州复杂美科技有限公司 一种区块打包节点的打包顺序确定方法、设备及存储介质
CN110474765B (zh) * 2019-07-29 2022-06-14 广东工业大学 一种基于委托权益证明扩展的量子区块链构建方法
CN110445778B (zh) * 2019-08-01 2020-12-22 中盾云链(广州)信息科技有限公司 一种应用于联盟链的共识算法
CN110675257B (zh) * 2019-09-12 2022-09-06 广州蚁比特区块链科技有限公司 一种区块组链的构建方法及装置
CN110554616B (zh) * 2019-09-24 2021-04-27 北京瑞策科技有限公司 在区块链上的物联网的智能家居数据上链方法及系统
CN110601834B (zh) * 2019-09-30 2023-02-10 深圳市迅雷网络技术有限公司 一种共识方法、装置、设备及可读存储介质
CN110933022A (zh) * 2019-10-11 2020-03-27 深圳壹账通智能科技有限公司 区块处理方法、装置、计算机设备及存储介质
CN111259078B (zh) * 2020-01-15 2023-10-10 广州运通链达金服科技有限公司 区块链共识方法、装置、计算机设备和存储介质
CN111355799A (zh) * 2020-02-27 2020-06-30 百度在线网络技术(北京)有限公司 基于区块链的投票方法、装置、设备和存储介质
CN113055188B (zh) * 2021-03-02 2022-04-15 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN114466042A (zh) * 2022-01-25 2022-05-10 北京工业大学 一种应用于农产品供应链场景的共识方法
CN115002221B (zh) * 2022-06-06 2023-06-23 长春理工大学 一种适用于物联网的区块链共识方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107360248A (zh) * 2017-07-31 2017-11-17 众安信息技术服务有限公司 用于配置局部共识的方法和装置及计算机可读存储介质
CN107438002A (zh) * 2016-05-27 2017-12-05 索尼公司 基于区块链的系统以及系统中的电子设备和方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9992028B2 (en) * 2015-11-26 2018-06-05 International Business Machines Corporation System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger
CN108667614B (zh) * 2018-04-19 2021-02-02 上海分布信息科技有限公司 一种拜占庭容错方法及其实现系统
CN108848085A (zh) * 2018-06-04 2018-11-20 温州市图盛科技有限公司 一种基于区块链的电力数据分布式安全防护工具
CN110011814B (zh) * 2019-04-16 2019-10-15 北京艾摩瑞策科技有限公司 一种可验证的DPoS共识方法及其系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107438002A (zh) * 2016-05-27 2017-12-05 索尼公司 基于区块链的系统以及系统中的电子设备和方法
CN107360248A (zh) * 2017-07-31 2017-11-17 众安信息技术服务有限公司 用于配置局部共识的方法和装置及计算机可读存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
区块链共识机制综述;杨宇光,张树新;《信息安全研究》;20180430;第4卷(第4期);第369-379页 *
区块链共识算法的发展现状与展望;袁勇,倪晓春,曾帅,王飞跃;《自动化学报》;20181130;第44卷(第11期);第2011-2011页 *
区块链技术共识算法综述;王晓光;《信息与电脑》;20190930(第9期);第72-74页 *

Also Published As

Publication number Publication date
WO2020211461A1 (zh) 2020-10-22
CN110011814A (zh) 2019-07-12

Similar Documents

Publication Publication Date Title
CN110011814B (zh) 一种可验证的DPoS共识方法及其系统
CN111464518B (zh) 一种跨链通信数据的发送、验证方法及装置
CN110784346B (zh) 一种基于信誉值的pbft共识系统及方法
CN107851253B (zh) 合约合意方法、合意验证方法、合约合意系统、合意验证装置、合约合意装置、计算机可读记录介质
CN110351133A (zh) 用于区块链系统中的主节点切换处理的方法及装置
CN109819443A (zh) 基于区块链的注册认证方法、装置及系统
CN109871669A (zh) 一种基于区块链技术的数据共享解决方法
CN109360100A (zh) 基于区块链技术的交易快速确认方法及装置
CN109067543A (zh) 数字证书管理方法、装置、计算机设备和存储介质
CN109377198A (zh) 一种基于联盟链多方共识的签约系统
CN111291060B (zh) 一种管理区块链节点的方法、装置及计算机可读介质
CN108389045A (zh) 基于区块链技术的网络标识根区数据管理方法及系统
CN109194465A (zh) 用于管理密钥的方法、用户设备、管理设备、存储介质和计算机程序产品
CN110458560A (zh) 用于进行交易验证的方法及装置
CN113328997B (zh) 联盟链跨链系统及方法
CN110377635B (zh) 基于区块链架构的人民币跨境支付查询查复方法及装置
KR102010571B1 (ko) 블록체인을 이용한 스마트그리드 이종 데이터 보안 저장 방법
CN109872156A (zh) 一种联盟链共识系统及方法
CN109981565A (zh) 基于Meta-BFT共识机制的区块链平台及实现方法
CN106886722A (zh) 大数据信息处理方法及装置
CN111464633B (zh) 用于区块链的交易信息的共识方法及系统
CN114240439B (zh) 基于阈值签名与双哈希链模式的跨链交易回滚方法及装置
CN109472698A (zh) 基于区块链的公益监督方法及系统
JP6911231B1 (ja) デジタル資産データパケットの信頼性検証システム
CN111865595A (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
CB02 Change of applicant information

Address after: 100000 Beijing Haidian District, Shangdi 9 Street, 1st Floor 108

Applicant after: Beijing AI morui Strategic Technology Co Ltd

Address before: Room 205, Building No. 6, 1107 Yuyuan Road, Changning District, Shanghai 200000

Applicant before: Beijing AI morui Strategic Technology Co Ltd

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 108, 1 / F, 9 shangdijiu street, Haidian District, Beijing

Patentee after: Beijing ruice Technology Co.,Ltd.

Address before: 108, 1 / F, 9 shangdijiu street, Haidian District, Beijing

Patentee before: BEIJING AIMO RUICE TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder