CN114466034A - 一种基于匿名主节点的区块链共识方法 - Google Patents

一种基于匿名主节点的区块链共识方法 Download PDF

Info

Publication number
CN114466034A
CN114466034A CN202210275543.9A CN202210275543A CN114466034A CN 114466034 A CN114466034 A CN 114466034A CN 202210275543 A CN202210275543 A CN 202210275543A CN 114466034 A CN114466034 A CN 114466034A
Authority
CN
China
Prior art keywords
node
block
message
height
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.)
Granted
Application number
CN202210275543.9A
Other languages
English (en)
Other versions
CN114466034B (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN202210275543.9A priority Critical patent/CN114466034B/zh
Publication of CN114466034A publication Critical patent/CN114466034A/zh
Application granted granted Critical
Publication of CN114466034B publication Critical patent/CN114466034B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • 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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于匿名主节点的区块链共识方法,包括准备阶段、预提交阶段、提交阶段、预决定阶段和决定阶段,该区块链共识方法是一种区块链高效共识算法,主要用于在隐藏主节点身份的条件下,实现可扩展和高效的区块链数据共识,包含匿名节点身份认证机制,支持匿名主节点下的区块共识,降低了主节点被攻击的可能性,而且,本发明提供的基于匿名主节点的区块链共识方法是一种多阶段区块共识算法,通过主节点与其他所有节点的一对多通讯取代n‑n广播,降低了算法复杂度,支持异常处理与故障恢复功能,具有良好的性能与可扩展性。

Description

一种基于匿名主节点的区块链共识方法
技术领域
本发明涉及一种基于匿名主节点的区块链共识方法。
背景技术
区块链本质上是一个分布式的数据库,由多个互相独立,物理隔绝,互补信任的节点共同维护,区块链具有防篡改、可追踪、多方参与的特点,已经与金融、贸易、法律、溯源等多重场景结合,为数字化存储提供了信任的基础。
区块链网络中的节点为了获得全局一致的链状数据库,须通过共识算法同步彼此的数据库状态,只要诚实节点占多数,那么共识的结果就是一致的。区块链由单一的区块的形式构成,每一个区块记录了数据库在当前时刻的状态变更,所有的区块可以组合成完整的历史数据,并且为了防止区块链状态的割裂或伪造,使用hash值将区块进行链接,区块之间形成的线性顺序是不可更改的。正是这种特殊的区块结构和运行机制使得区块链技术具备去中心化、匿名性、不可篡改、安全稳定的特性。
计算机科学领域的早期共识研究一般聚焦于分布式一致性, 即如何保证分布式系统集群中所有节点的数据完全相同并且能够对某个提案达成一致的问题,是分布式计算的根本问题之一。
为了获得全局一致的账本,需要通过共识算法(Consensus algorithm)使得各个节点达成一致。共识算法是指在多方协同的条件下,所有参与方对任务执行结果达成共识的算法。共识算法多应用于确保分布式系统数据的一致性,作为区块链系统的核心,直接影响区块链系统的性能与可扩展性。在区块链中引入共识算法最早是为了解决新交易块加入哈希链表中可能出现的“块冲突”问题,也就是同时多个块被不同的块创建者加入到哈希链表中而引起的链表分叉问题。
区块要想加入到区块链系统,需要经过区块链各个节点的共识,同时区块链的不可篡改性也是由区块链的共识算法来保证的。区块链作为一个去中心化的分布式系统,其决策权分散在各个节点中,并且节点之间无需信任,因此,为了达到共同记账的目的,需要使用共识算法使各个节点对区块数据的有效性达成一致。共识算法作为区块链中的关键技术,直接影响着区块链的交易处理能力、可扩展性和安全性,因此成为区块链技术研究的热点。
现有大多数共识算法中,各个节点和身份信息全网公开可见,节点按照固定的顺序依次作为主节点产生区块,容易导致共识节点在网络攻击的条件下存在鲁棒性差,抗攻击性差的问题,从而造成导致主节点的提案被中断,影响系统安全性。此外,在节点共识的过程中,主节点需要与所有的副本节点交互以推动共识状态的更新,随着参与共识的节点数量的增多,主节点处理数据和网络通讯的负载成为系统共识的瓶颈,影响了区块链系统的可扩展性。
发明内容
为了解决上述技术问题,本发明提供一种基于匿名主节点的区块链共识方法。
本发明采用以下技术方案:
一种基于匿名主节点的区块链共识方法,包括:
准备阶段:第一节点更改自身共识状态,生成并向其他节点广播准备消息;
预提交阶段:第二节点接收到准备消息后,对准备消息进行相关验证,若验证通过,则第二节点更改自身共识状态,提议所述第一节点为候选主节点,生成并向所述第一节点发送预提交消息,所述预提交消息包括用于表示第二节点是否同意第一节点作为主节点的投票的第一部分门限签名;
提交阶段:第一节点搜集其他节点发送的预提交消息,并验证所述第一部分门限签名的有效性,若第一节点接收到超过第一预设门限值个有效的部分门限签名,则第一节点更改自身共识状态,生成并向其他节点广播提交消息;
预决定阶段;第二节点对接收到的来自第一节点的提交消息进行相关验证,若验证通过,则第二节点更改自身共识状态,生成并向第一节点发送预决定消息,所述预决定消息包括用于表示第二节点是否同意在预设视图、预设高度下的区块提议的第二部分门限签名;
决定阶段:第一节点接收到预决定消息后对第二部分门限签名进行有效性验证,若第一节点接收到超过第二预设门限值个有效的部分门限签名,则第一节点生成并向其他节点广播决定消息;第二节点接收到决定消息后,根据决定消息判断是否修改第二节点的区块链。
进一步地,所述准备阶段中的准备消息包括领导者节点凭证、第一节点提议新区块的高度和视图,所述第一节点提议新区块的高度为所述预设高度,所述第一节点提议新区块的视图为所述预设视图。
进一步地,所述预提交阶段中,第二节点对准备消息进行相关验证,包括:
验证所述节点凭证的有效性、验证第一节点提议新区块的高度和视图的有效性、验证领导者节点次序的正确性,若三者均验证通过,则判定对准备消息的验证通过。
进一步地,所述第一节点将所述超过第一预设门限值个有效的部分门限签名合成第一完整门限签名,并生成区块提议的消息签名,所述提交消息包括第一节点提议新区块的高度和视图、第一节点提议新区块、所述第一完整门限签名和所述区块提议的消息签名。
进一步地,所述预决定阶段中,第二节点对接收到的来自第一节点的提交消息进行相关验证,包括:对所述第一完整门限签名和区块提议进行验证。
进一步地,所述决定消息还包括第一节点提议新区块的高度和视图;
所述决定阶段中,第二节点根据决定消息判断是否修改第二节点的区块链,包括:
若第二节点判断决定消息中,第一节点提议新区块的高度和视图与第二节点请求生成的新区块的高度和视图相同,将所述第二节点请求生成的新区块的高度更改为第二节点区块的高度,将第一节点提议新区块链接在第二节点的区块链构成第二节点新的区块链;
若第二节点判断决定消息中,第一节点提议新区块的高度大于第二节点请求生成的新区块的高度,且第一节点提议新区块的视图大于第二节点请求生成的新区块的视图,第二节点从第一节点下载缺失的区块信息,所述缺失的区块信息包括大于第二节点请求生成的新区块的高度,且小于或者等于第一节点提议新区块的高度所对应的区块信息。
进一步地,所述基于匿名主节点的区块链共识方法还包括异常阶段,如果第二节点的计时器超时时第二节点仍然无法进入决定阶段对应的共识状态,则进入异常阶段;
所述异常阶段中,第二节点的共识状态更改为异常阶段对应的共识状态,初始化计时器并向其他节点广播异常消息,所述异常消息表示第二节点请求在第一预设空区块高度产生一个第一空区块,所述第一空区块为不包含命令的区块,所述第一预设空区块高度表示提议的第一空区块的高度;
所述第二节点广播异常消息的同时,也在接收来自其他节点发送的异常消息,若第二节点累计接收到预设数量的异常消息,则第二节点重置计时器,更改第二节点的共识状态为决定阶段对应的共识状态,并且,将第二节点对应的区块高度更改为所述第一预设空区块高度,将所述第一空区块加入到所述第二节点对应的区块链,构成新区块链;若第二节点没有接收到所述预设数量的异常消息,则第二节点向其他节点广播请求消息,所述请求消息表示在第二预设空区块高度产生一个第二空区块,所述第二空区块为不包含交易的区块,并重置计时器。
本发明提供的基于匿名主节点的区块链共识方法是一种区块链高效共识算法,主要用于在隐藏主节点身份的条件下,实现可扩展和高效的区块链数据共识,包含匿名节点身份认证机制,支持匿名主节点下的区块共识,降低了主节点被攻击的可能性,而且,本发明提供的基于匿名主节点的区块链共识方法是一种多阶段区块共识算法,通过主节点与其他所有节点的一对多通讯取代n-n广播,降低了算法复杂度,支持异常处理与故障恢复功能,具有良好的性能与可扩展性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍:
图1是本申请实施例提供的一种基于匿名主节点的区块链共识方法的流程图;
图2是本申请实施例提供的一种基于匿名主节点的区块链共识方法对应的算法流程图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了说明本申请所述的技术方案,下面通过具体实施方式来进行说明。
如图1所示,为本申请实施例提供的一种基于匿名主节点的区块链共识方法的流程图。图2是本申请实施例提供的一种基于匿名主节点的区块链共识方法对应的算法流程图。
本实施例提供的一种基于匿名主节点的区块链共识方法在算法正常执行时包括五个阶段,分别是准备阶段(Prepare Phase)、预提交阶段(PreCommit Phase)、提交阶段(Commit Phase)、预决定阶段(PreDecide Phase)和决定阶段(Decide Phase)。本实施例中,区块链共识方法还可以包括异常阶段(Exception Phase)。图2中,Leader和其他三个副本(Replica1、Replica2、Replica3)都代表不同角色的节点。如果发生异常则进入异常阶段,实线表示共识正确情况下消息的流向,虚线表示发生异常情况时的消息流向。
以下分别对各个阶段进行具体说明。
准备阶段:第一节点更改自身共识状态,生成并向其他节点广播准备消息:
本实施例中,第一节点以节点
Figure 548482DEST_PATH_IMAGE001
为例进行描述。节点
Figure 457532DEST_PATH_IMAGE001
首先更改自己共识状态
Figure 464802DEST_PATH_IMAGE002
,即将自己的共识状态修改为与准备阶段相对应的共识状态。启动计时器,并向节点集合中其他节点广播准备消息,即
Figure 459303DEST_PATH_IMAGE003
消息:
Figure 210222DEST_PATH_IMAGE004
Figure 973778DEST_PATH_IMAGE003
消息包括领导者节点凭证
Figure 151950DEST_PATH_IMAGE005
、节点
Figure 633747DEST_PATH_IMAGE001
提议新区块的高度
Figure 922777DEST_PATH_IMAGE006
和视图
Figure 806419DEST_PATH_IMAGE007
。凭证
Figure 483388DEST_PATH_IMAGE005
是节点
Figure 124585DEST_PATH_IMAGE001
使用私钥对最新区块产生的数字签名。由于凭证需要用私钥生成,它不能被其它节点伪造。凭证是唯一的,节点
Figure 545202DEST_PATH_IMAGE001
通过凭证向其他节点证明自己的主节点身份。为了防止
Figure 158717DEST_PATH_IMAGE003
消息被伪造,节点使用私钥和签名函数产生签名。
本实施例中,i和j对应表示节点
Figure 803325DEST_PATH_IMAGE001
和节点
Figure 135080DEST_PATH_IMAGE001
的下标的编号,不同编号提议的高度和视图可能不同,为了区别不同节点提议的高度和视图,用不同的下标(i和j)进行区分。
本实施例中,节点
Figure 890547DEST_PATH_IMAGE001
提议的新区块的高度=节点
Figure 621218DEST_PATH_IMAGE001
的高度+1。视图分两种情况:第一种情况,节点
Figure 171148DEST_PATH_IMAGE001
提议的新区块的视图=节点
Figure 990199DEST_PATH_IMAGE001
的视图(当不更新有序领导者序列时,节点视图不变);第二种情况,节点
Figure 814936DEST_PATH_IMAGE001
提议的新区块的视图=节点
Figure 403043DEST_PATH_IMAGE001
的视图+1(当更新有序领导者序列时,节点视图+1)。
本实施例中,为了节点间的匿名化通信,所有参与共识节点的节点都有
Figure 389454DEST_PATH_IMAGE005
凭证,它是共识节点使用私钥对最新区块产生的数字签名。
Figure 430222DEST_PATH_IMAGE008
表示节点
Figure 527491DEST_PATH_IMAGE001
在区块高度h的凭证,不同高度的对应的凭证不同。凭证需要用私钥生成,节点无法伪造生成其他节点的凭证。由于公钥是公开可见的,凭证
Figure 235684DEST_PATH_IMAGE005
可以被节点集合中其他节点验证。节点的身份通过凭证信息进行匿名化,通过最新区块可以计算出凭证,但是根据凭证信息却无法反向计算出最新区块,通过凭证可以实现节点之间的匿名化身份认证。
假设
Figure 392996DEST_PATH_IMAGE001
是有序领导者序列中对应的领导者节点,节点
Figure 921060DEST_PATH_IMAGE001
提议在高度
Figure 822020DEST_PATH_IMAGE006
和视图
Figure 384720DEST_PATH_IMAGE007
生成区块
Figure 712933DEST_PATH_IMAGE009
,即区块
Figure 56190DEST_PATH_IMAGE009
为区块提议
Figure 370627DEST_PATH_IMAGE009
,也可以定义为提议的新区块
Figure 912467DEST_PATH_IMAGE009
,即本实施例中,区块提议与提议的新区块是相同的概念,比如:节点
Figure 284018DEST_PATH_IMAGE001
提议新区块为
Figure 911309DEST_PATH_IMAGE009
,节点
Figure 29437DEST_PATH_IMAGE001
区块提议也为
Figure 425784DEST_PATH_IMAGE009
。节点
Figure 236745DEST_PATH_IMAGE010
是节点集合中参与共识的普通节点,该节点提议在高度
Figure 351331DEST_PATH_IMAGE011
和视图
Figure 7572DEST_PATH_IMAGE012
生成区块
Figure 524004DEST_PATH_IMAGE013
,即节点
Figure 240287DEST_PATH_IMAGE010
提议新区块为
Figure 842170DEST_PATH_IMAGE013
,节点
Figure 302101DEST_PATH_IMAGE001
区块提议也为
Figure 673039DEST_PATH_IMAGE013
,节点
Figure 560224DEST_PATH_IMAGE010
提议新区块
Figure 852665DEST_PATH_IMAGE013
的高度和视图分别为高度
Figure 975342DEST_PATH_IMAGE011
和视图
Figure 76153DEST_PATH_IMAGE012
。有序领导者序列包含了一组身份隐藏的匿名有序主节点。节点只知道自身在有序领导者序列中的排序,其他节点的身份是未知的。
预提交阶段:第二节点接收到准备消息后,对准备消息进行相关验证,若验证通过,则第二节点更改自身共识状态,提议所述第一节点为候选主节点,生成并向所述第一节点发送预提交消息,所述预提交消息包括用于表示第二节点是否同意第一节点作为主节点的投票的第一部分门限签名:
本实施例中,第二节点为节点
Figure 524452DEST_PATH_IMAGE010
。节点
Figure 707784DEST_PATH_IMAGE010
收到
Figure 634152DEST_PATH_IMAGE003
消息后,需要对
Figure 855049DEST_PATH_IMAGE003
消息进行相关验证,验证过程由实际需要进行设置,比如可以仅仅是验证
Figure 208670DEST_PATH_IMAGE003
消息的实际组成与预设组成是否一样,若一样,则验证通过,若不同,则验证不通过。本实施例中,节点
Figure 882227DEST_PATH_IMAGE010
Figure 612286DEST_PATH_IMAGE003
消息的验证过程为对
Figure 687689DEST_PATH_IMAGE003
消息的有效性进行验证,验证分为三个步骤:(1)验证节点凭证的有效性,具体地:把节点
Figure 212212DEST_PATH_IMAGE010
自身在高度h上的区块作为输入参数,使用公钥和验证函数验证凭证
Figure 373066DEST_PATH_IMAGE005
的有效性。(2)验证节点
Figure 906815DEST_PATH_IMAGE001
提议新区块的高度
Figure 836725DEST_PATH_IMAGE006
和视图
Figure 797728DEST_PATH_IMAGE007
的有效性。与自身对比,判断是否同意在对应高度和视图产生新的区块。(3)验证领导者节点次序的正确性。若上述三者均验证通过,则判定对
Figure 445878DEST_PATH_IMAGE003
消息的验证通过。
Figure 252160DEST_PATH_IMAGE003
消息验证通过后,节点
Figure 302156DEST_PATH_IMAGE010
更改自身共识状态
Figure 168481DEST_PATH_IMAGE014
,即将自身共识状态更改为与预提交阶段相对应的共识状态,提议
Figure 300997DEST_PATH_IMAGE001
节点为候选主节点,并且,节点
Figure 910970DEST_PATH_IMAGE010
生成并向
Figure 815472DEST_PATH_IMAGE001
节点发送预提交消息,即
Figure 321540DEST_PATH_IMAGE015
消息:
Figure 803337DEST_PATH_IMAGE016
其中,
Figure DEST_PATH_IMAGE017
表示节点
Figure 623525DEST_PATH_IMAGE010
命令池搜集的按时间排序命令列表,即
Figure 382534DEST_PATH_IMAGE015
消息还包括节点
Figure 856240DEST_PATH_IMAGE010
搜集的按时间排序的命令列表
Figure 700700DEST_PATH_IMAGE017
Figure 652475DEST_PATH_IMAGE015
消息无需使用私钥和签名函数产生消息签名,这样可以减少消息的签名和验证的资源消耗。但是,节点
Figure 531569DEST_PATH_IMAGE010
需要通过部分门限签名函数
Figure 176177DEST_PATH_IMAGE018
生成第一部分门限签名,即部分门限签名
Figure 507933DEST_PATH_IMAGE019
。部分门限签名
Figure 528978DEST_PATH_IMAGE019
代表节点
Figure 997000DEST_PATH_IMAGE010
是否同意节点
Figure 812509DEST_PATH_IMAGE001
作为主节点的投票。
提交阶段:第一节点搜集其他节点发送的预提交消息,并验证所述第一部分门限签名的有效性,若第一节点接收到超过第一预设门限值个有效的部分门限签名,则第一节点更改自身共识状态,生成并向其他节点广播提交消息:
节点
Figure 628631DEST_PATH_IMAGE001
,即主节点
Figure 187788DEST_PATH_IMAGE001
搜集网络中其他节点发送的
Figure 775896DEST_PATH_IMAGE015
消息,并验证部分门限签名
Figure 496727DEST_PATH_IMAGE020
的有效性。如果节点
Figure 130971DEST_PATH_IMAGE001
接收到超过第一预设门限值个有效的部分门限签名
Figure 103606DEST_PATH_IMAGE020
,本实施例中,第一预设门限值为门限值
Figure 936433DEST_PATH_IMAGE021
,说明在高度
Figure 703531DEST_PATH_IMAGE006
和视图
Figure 621809DEST_PATH_IMAGE007
下,至少有2f+1个节点投票同意节点
Figure 398135DEST_PATH_IMAGE001
是主节点,然后,节点
Figure 819889DEST_PATH_IMAGE001
更改共识状态
Figure 289048DEST_PATH_IMAGE022
,即将自身共识状态修改为与提交阶段相对应的共识状态。本实施例中,n表示所有参与共识节点的数量,n个节点参与区块链共识,n个节点包含正常与可能的故障节点,f表示可能发生故障的节点数量,n>f。节点
Figure 429042DEST_PATH_IMAGE001
生成并向其他节点广播提交消息,即
Figure 9059DEST_PATH_IMAGE023
消息。本实施例中,节点
Figure 550899DEST_PATH_IMAGE001
将超过门限值
Figure 925379DEST_PATH_IMAGE021
个有效的部分门限签名
Figure 552670DEST_PATH_IMAGE020
合成第一完整门限签名,第一完整门限签名为完整门限签名
Figure 667869DEST_PATH_IMAGE024
。本实施例中,根据收到的来自不同节点的命令列表
Figure 267477DEST_PATH_IMAGE025
,生成区块提议
Figure 937493DEST_PATH_IMAGE009
,并生成区块提议
Figure 927446DEST_PATH_IMAGE009
的消息签名
Figure 708320DEST_PATH_IMAGE026
,作为一个具体实施方式,使用私钥和签名函数产生区块提议
Figure 100118DEST_PATH_IMAGE009
的消息签名
Figure 941035DEST_PATH_IMAGE026
。那么,
Figure 418284DEST_PATH_IMAGE023
消息为:
Figure 2849DEST_PATH_IMAGE027
Figure 514733DEST_PATH_IMAGE023
消息包含视图
Figure 526552DEST_PATH_IMAGE007
、高度
Figure 225517DEST_PATH_IMAGE006
、区块提议
Figure 613773DEST_PATH_IMAGE028
、完整门限签名和消息签名
Figure 714585DEST_PATH_IMAGE026
预决定阶段;第二节点对接收到的来自第一节点的提交消息进行相关验证,若验证通过,则第二节点更改自身共识状态,生成并向第一节点发送预决定消息,所述预决定消息包括用于表示第二节点是否同意在预设视图、预设高度下的区块提议的第二部分门限签名:
节点收到来自节点
Figure 897304DEST_PATH_IMAGE001
Figure 349145DEST_PATH_IMAGE023
消息后,对
Figure 275513DEST_PATH_IMAGE023
消息进行相关验证,验证方式由实际需要进行设置,比如:验证过可以仅仅是验证
Figure 251338DEST_PATH_IMAGE023
消息的实际组成与预设组成是否一样,若一样,则验证通过,若不同,则验证不通过。本实施例中,节点
Figure 870539DEST_PATH_IMAGE010
Figure 544097DEST_PATH_IMAGE023
消息的验证过程包括:对完整门限签名
Figure 477417DEST_PATH_IMAGE024
和区块提议
Figure 411875DEST_PATH_IMAGE028
进行验证。更加优化地,节点
Figure 77343DEST_PATH_IMAGE010
对消息的验证过程包括:节点
Figure 362831DEST_PATH_IMAGE010
首先对
Figure 506367DEST_PATH_IMAGE023
消息的有效性进行验证,然后对完整门限签名
Figure 560911DEST_PATH_IMAGE024
和区块提议
Figure 397280DEST_PATH_IMAGE028
进行验证。如果以上两个步骤都验证通过,则认为
Figure 904485DEST_PATH_IMAGE023
消息是有效的,节点
Figure 851712DEST_PATH_IMAGE010
更改共识状态
Figure DEST_PATH_IMAGE029
,即将自身共识状态更改为与预决定阶段相对应的共识状态,节点
Figure 432866DEST_PATH_IMAGE010
生成并向节点
Figure 299191DEST_PATH_IMAGE001
发送预决定消息,即
Figure 700217DEST_PATH_IMAGE030
消息。
Figure 310189DEST_PATH_IMAGE030
消息包括用于表示节点
Figure 211762DEST_PATH_IMAGE010
是否同意在预设视图、预设高度下的区块提议
Figure 983409DEST_PATH_IMAGE009
的第二部分门限签名,其中,预设视图具体为视图
Figure 871730DEST_PATH_IMAGE007
,预设高度具体为高度
Figure 19815DEST_PATH_IMAGE006
,第二部分门限签名为部分门限签名,即部分门限签名
Figure 44403DEST_PATH_IMAGE031
代表节点
Figure 252530DEST_PATH_IMAGE010
同意视图
Figure 96989DEST_PATH_IMAGE007
、高度
Figure 48765DEST_PATH_IMAGE006
下的区块提议
Figure 193438DEST_PATH_IMAGE009
决定阶段:第一节点接收到预决定消息后对第二部分门限签名进行有效性验证,若第一节点接收到超过第二预设门限值个有效的部分门限签名,则第一节点生成并向其他节点广播决定消息;第二节点接收到决定消息后,根据决定消息判断是否修改第二节点的区块链:
节点
Figure 572467DEST_PATH_IMAGE001
接收到
Figure 904223DEST_PATH_IMAGE030
消息后,对部分门限签名
Figure 659689DEST_PATH_IMAGE031
进行有效性验证,若节点
Figure 393290DEST_PATH_IMAGE001
接收到超过第二预设门限值个有效的部分门限签名,本实施例中,第二预设门限值为门限值
Figure 208799DEST_PATH_IMAGE021
,说明在高度
Figure 27850DEST_PATH_IMAGE006
和视图
Figure 321429DEST_PATH_IMAGE007
下,至少2f+1个节点投票同意区块提议。那么,若节点
Figure 906606DEST_PATH_IMAGE001
接收到超过第二预设门限值个有效的部分门限签名,则节点
Figure 893017DEST_PATH_IMAGE001
生成第二完整门限签名,第二完整门限签名为完整门限签名
Figure 199364DEST_PATH_IMAGE032
,本实施例中,节点
Figure 296633DEST_PATH_IMAGE001
通过使用签名函数生成完整门限签名
Figure 739247DEST_PATH_IMAGE032
,生成并向其他节点广播决定消息,即
Figure 896559DEST_PATH_IMAGE033
消息:
Figure 18099DEST_PATH_IMAGE034
从上述
Figure 325583DEST_PATH_IMAGE033
消息可知,
Figure 216179DEST_PATH_IMAGE033
消息包括视图
Figure 419758DEST_PATH_IMAGE007
、高度
Figure 559753DEST_PATH_IMAGE006
、以及完整门限签名
Figure 139770DEST_PATH_IMAGE032
节点
Figure 681609DEST_PATH_IMAGE010
接收到
Figure 56090DEST_PATH_IMAGE033
消息后,根据
Figure 683380DEST_PATH_IMAGE033
消息判断是否修改节点
Figure 801509DEST_PATH_IMAGE010
的区块链,本实施例中,节点
Figure 463435DEST_PATH_IMAGE010
接收到
Figure 5887DEST_PATH_IMAGE033
消息后,使用公钥集合和验证函数验证
Figure 120473DEST_PATH_IMAGE033
消息中的完整门限签名
Figure 776714DEST_PATH_IMAGE032
的有效性,并根据
Figure 293146DEST_PATH_IMAGE033
消息中包含的高度
Figure 9429DEST_PATH_IMAGE006
和视图
Figure 611312DEST_PATH_IMAGE007
,判断是否修改节点
Figure 71243DEST_PATH_IMAGE010
的区块链。作为一个具体实施方式,以下给出具体实现过程:
1)如果
Figure 442182DEST_PATH_IMAGE035
Figure 657262DEST_PATH_IMAGE036
,表示节点
Figure 356228DEST_PATH_IMAGE010
判断接收到的
Figure 744484DEST_PATH_IMAGE023
消息中包含的节点
Figure 845295DEST_PATH_IMAGE001
请求生成的新区块的高度
Figure 28015DEST_PATH_IMAGE006
和视图
Figure 479856DEST_PATH_IMAGE007
与节点
Figure 406224DEST_PATH_IMAGE010
自身请求生成的新区块的高度
Figure 627120DEST_PATH_IMAGE011
和视图
Figure 246321DEST_PATH_IMAGE012
一致。其中,节点
Figure 916949DEST_PATH_IMAGE001
自身的高度为
Figure DEST_PATH_IMAGE037
,视图为
Figure 787953DEST_PATH_IMAGE038
,节点
Figure 987990DEST_PATH_IMAGE010
自身的高度为
Figure 981354DEST_PATH_IMAGE039
,视图为
Figure 673366DEST_PATH_IMAGE040
,节点
Figure 410378DEST_PATH_IMAGE010
提议在新的高度
Figure 137026DEST_PATH_IMAGE011
和视图
Figure 707816DEST_PATH_IMAGE012
生成新区块。节点
Figure 480599DEST_PATH_IMAGE010
认为
Figure 755723DEST_PATH_IMAGE023
消息中请求生成区块的高度和视图与自身一致,认为验证通过。重置节点
Figure 336877DEST_PATH_IMAGE010
的计时器,更改共识状态
Figure 672043DEST_PATH_IMAGE041
。执行区块提议
Figure 541910DEST_PATH_IMAGE009
对应的命令,更新节点
Figure 417463DEST_PATH_IMAGE010
的高度
Figure 321965DEST_PATH_IMAGE042
和区块链
Figure 359191DEST_PATH_IMAGE043
。其中,
Figure 979003DEST_PATH_IMAGE042
表示更新节点
Figure 392667DEST_PATH_IMAGE010
的自身的高度信息,将新的高度
Figure 417255DEST_PATH_IMAGE011
信息更新自身区块高度
Figure 625383DEST_PATH_IMAGE044
,即将新的高度
Figure 797738DEST_PATH_IMAGE011
信息更改为自身区块高度
Figure 687196DEST_PATH_IMAGE044
Figure 628608DEST_PATH_IMAGE045
表示节点
Figure 148582DEST_PATH_IMAGE010
高度为h+1的区块链的整条链的链状数据库,
Figure 604971DEST_PATH_IMAGE046
表示高度为h的区块链的整条链的链状数据库,由于节点
Figure 235804DEST_PATH_IMAGE010
判定新的单独一个区块
Figure 94038DEST_PATH_IMAGE009
是有效的,因此
Figure 50493DEST_PATH_IMAGE043
表示把这个新区块
Figure 728599DEST_PATH_IMAGE009
链接在节点
Figure 163122DEST_PATH_IMAGE010
自身的区块链上,构成节点
Figure 875863DEST_PATH_IMAGE010
新的区块链,链接后从高度h变为高度h+1。当更新有序领导者序列时,视图也应该增加
Figure 737640DEST_PATH_IMAGE047
2)如果
Figure 168622DEST_PATH_IMAGE048
Figure 469153DEST_PATH_IMAGE049
,说明区块链
Figure 908837DEST_PATH_IMAGE046
与区块链
Figure 66149DEST_PATH_IMAGE050
相比,缺失从高度
Figure 594213DEST_PATH_IMAGE011
到高度
Figure 760752DEST_PATH_IMAGE006
的区块信息
Figure 323452DEST_PATH_IMAGE051
。其中,
Figure 651665DEST_PATH_IMAGE050
表示节点
Figure 667026DEST_PATH_IMAGE001
高度为h的区块链的整条链的链状数据库。那么,节点
Figure 106097DEST_PATH_IMAGE010
需要从主节点
Figure 523303DEST_PATH_IMAGE001
下载缺失的区块信息。缺失的区块信息包括大于高度
Figure 225680DEST_PATH_IMAGE011
,且小于或者等于高度
Figure 852970DEST_PATH_IMAGE006
所对应的区块信息,即上述中的从高度
Figure 971099DEST_PATH_IMAGE011
到高度
Figure 633025DEST_PATH_IMAGE006
的区块信息
Figure 178407DEST_PATH_IMAGE051
。接下来重置计时器,清空命令缓冲池,更改共识状态
Figure 292993DEST_PATH_IMAGE041
如果不是上述两种情况,为了保持节点
Figure 214813DEST_PATH_IMAGE010
与其他诚实节点的数据一致,节点
Figure 731245DEST_PATH_IMAGE010
不执行区块提议
Figure 444598DEST_PATH_IMAGE009
的中包含的命令,虽然区块提议经过验证是有效的。此时节点
Figure 780902DEST_PATH_IMAGE010
的计时器持续计时。应当理解,由于节点可能发生故障,只有保持诚实,不发生故障的节点之间的数据是保持一致的。那么,本实施例中,其他节点是指:除了节点
Figure 240833DEST_PATH_IMAGE010
自身,n个节点中其他n-1个节点都是其他节点。其他诚实节点是指:除了节点
Figure 815034DEST_PATH_IMAGE010
自身,n个节点中其他n-f个不是故障节点的节点。
本实施例中,异常阶段是一个可选的阶段。如果节点
Figure 826852DEST_PATH_IMAGE010
计时器超时时节点
Figure 791397DEST_PATH_IMAGE010
仍然无法进入决定阶段对应的共识状态,即
Figure 914074DEST_PATH_IMAGE052
共识状态,则进入异常阶段。异常阶段中,节点
Figure 280464DEST_PATH_IMAGE010
更改共识状态,更改为异常阶段对应的共识状态,即
Figure 463184DEST_PATH_IMAGE053
,初始化计时器并向其他节点广播异常消息,即
Figure 915025DEST_PATH_IMAGE054
消息:
Figure 841393DEST_PATH_IMAGE055
Figure 62290DEST_PATH_IMAGE054
消息表示节点
Figure 822435DEST_PATH_IMAGE010
请求在第一预设空区块高度,即高度
Figure 620627DEST_PATH_IMAGE011
产生一个第一空区块,即空区块
Figure 226052DEST_PATH_IMAGE056
,空区块
Figure 426089DEST_PATH_IMAGE056
为不包含命令的区块,是一种特殊区块。高度
Figure 846485DEST_PATH_IMAGE011
表示提议的空区块的高度,
Figure 131973DEST_PATH_IMAGE057
表示通过私钥和签名函数产生的签名。
本实施例中,收到
Figure 868985DEST_PATH_IMAGE054
消息后,节点集合中其他节点可以使用公钥和验证函数验证签名的有效性。
节点
Figure 736578DEST_PATH_IMAGE010
广播
Figure 432001DEST_PATH_IMAGE054
消息的同时,也在接收来自其他节点发送的异常消息。计时器超时时间内,节点
Figure 80152DEST_PATH_IMAGE010
根据收到异常消息的数量,决定是否最终生成一个空区块,这可分为以下两种情况:
若节点
Figure 152013DEST_PATH_IMAGE010
累计接收到预设数量的异常消息,本实施例中,预设数量为2f+1条(包含自身向自己发出的),则认为大多数诚实节点同意在该高度生成空区块,那么,节点
Figure 936429DEST_PATH_IMAGE010
重置计时器,更改节点
Figure 333912DEST_PATH_IMAGE010
的共识状态为决定阶段对应的共识状态,即
Figure 203780DEST_PATH_IMAGE041
,并且,将节点
Figure 79332DEST_PATH_IMAGE010
对应的区块高度更改为高度
Figure 718255DEST_PATH_IMAGE011
,将空区块
Figure 21060DEST_PATH_IMAGE056
链接入到节点
Figure 706119DEST_PATH_IMAGE010
对应的区块链,构成新区块链,即区块高度更改为:
Figure 995149DEST_PATH_IMAGE042
,区块链更改为:
Figure 878792DEST_PATH_IMAGE058
。本实施例中,当更新有序领导者序列时,视图也应该更改为:
Figure 224935DEST_PATH_IMAGE047
若节点
Figure 194028DEST_PATH_IMAGE010
计时器超时,且节点
Figure 286749DEST_PATH_IMAGE010
没有接收到预设数量的异常消息,即没有收到超过2f+1条消息请求在高度
Figure 24898DEST_PATH_IMAGE011
生成空区块,则节点
Figure 810451DEST_PATH_IMAGE010
向其他节点广播请求消息,请求消息表示在第二预设空区块高度产生一个第二空区块,本实施例中,第二预设空区块高度为高度
Figure DEST_PATH_IMAGE059
,第二预设空区块高度用于表示与第一预设空区块高度是不同的高度,具体是比第一预设空区块高度大一个高度,第二空区块为不包含交易的区块,即空区块
Figure 673365DEST_PATH_IMAGE060
,并重置计时器。
在共识算法的各个阶段,节点会持续接收并保存来自其他节点的异常消息。节点会保存不同高度的异常消息数量,并不断更新计时器的值。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (7)

1.一种基于匿名主节点的区块链共识方法,其特征在于,包括:
准备阶段:第一节点更改自身共识状态,生成并向其他节点广播准备消息;
预提交阶段:第二节点接收到准备消息后,对准备消息进行相关验证,若验证通过,则第二节点更改自身共识状态,提议所述第一节点为候选主节点,生成并向所述第一节点发送预提交消息,所述预提交消息包括用于表示第二节点是否同意第一节点作为主节点的投票的第一部分门限签名;
提交阶段:第一节点搜集其他节点发送的预提交消息,并验证所述第一部分门限签名的有效性,若第一节点接收到超过第一预设门限值个有效的部分门限签名,则第一节点更改自身共识状态,生成并向其他节点广播提交消息;
预决定阶段;第二节点对接收到的来自第一节点的提交消息进行相关验证,若验证通过,则第二节点更改自身共识状态,生成并向第一节点发送预决定消息,所述预决定消息包括用于表示第二节点是否同意在预设视图、预设高度下的区块提议的第二部分门限签名;
决定阶段:第一节点接收到预决定消息后对第二部分门限签名进行有效性验证,若第一节点接收到超过第二预设门限值个有效的部分门限签名,则第一节点生成并向其他节点广播决定消息;第二节点接收到决定消息后,根据决定消息判断是否修改第二节点的区块链。
2.根据权利要求1所述的基于匿名主节点的区块链共识方法,其特征在于,所述准备阶段中的准备消息包括领导者节点凭证、第一节点提议新区块的高度和视图,所述第一节点提议新区块的高度为所述预设高度,所述第一节点提议新区块的视图为所述预设视图。
3.根据权利要求2所述的基于匿名主节点的区块链共识方法,其特征在于,所述预提交阶段中,第二节点对准备消息进行相关验证,包括:
验证所述节点凭证的有效性、验证第一节点提议新区块的高度和视图的有效性、验证领导者节点次序的正确性,若三者均验证通过,则判定对准备消息的验证通过。
4.根据权利要求2或3所述的基于匿名主节点的区块链共识方法,其特征在于,所述第一节点将所述超过第一预设门限值个有效的部分门限签名合成第一完整门限签名,并生成区块提议的消息签名,所述提交消息包括第一节点提议新区块的高度和视图、第一节点提议新区块、所述第一完整门限签名和所述区块提议的消息签名。
5.根据权利要求4所述的基于匿名主节点的区块链共识方法,其特征在于,所述预决定阶段中,第二节点对接收到的来自第一节点的提交消息进行相关验证,包括:对所述第一完整门限签名和区块提议进行验证。
6.根据权利要求4所述的基于匿名主节点的区块链共识方法,其特征在于,所述决定消息还包括第一节点提议新区块的高度和视图;
所述决定阶段中,第二节点根据决定消息判断是否修改第二节点的区块链,包括:
若第二节点判断决定消息中,第一节点提议新区块的高度和视图与第二节点请求生成的新区块的高度和视图相同,将所述第二节点请求生成的新区块的高度更改为第二节点区块的高度,将第一节点提议新区块链接在第二节点的区块链构成第二节点新的区块链;
若第二节点判断决定消息中,第一节点提议新区块的高度大于第二节点请求生成的新区块的高度,且第一节点提议新区块的视图大于第二节点请求生成的新区块的视图,第二节点从第一节点下载缺失的区块信息,所述缺失的区块信息包括大于第二节点请求生成的新区块的高度,且小于或者等于第一节点提议新区块的高度所对应的区块信息。
7.根据权利要求4所述的基于匿名主节点的区块链共识方法,其特征在于,所述基于匿名主节点的区块链共识方法还包括异常阶段,如果第二节点的计时器超时时第二节点仍然无法进入决定阶段对应的共识状态,则进入异常阶段;
所述异常阶段中,第二节点的共识状态更改为异常阶段对应的共识状态,初始化计时器并向其他节点广播异常消息,所述异常消息表示第二节点请求在第一预设空区块高度产生一个第一空区块,所述第一空区块为不包含命令的区块,所述第一预设空区块高度表示提议的第一空区块的高度;
所述第二节点广播异常消息的同时,也在接收来自其他节点发送的异常消息,若第二节点累计接收到预设数量的异常消息,则第二节点重置计时器,更改第二节点的共识状态为决定阶段对应的共识状态,并且,将第二节点对应的区块高度更改为所述第一预设空区块高度,将所述第一空区块加入到所述第二节点对应的区块链,构成新区块链;若第二节点没有接收到所述预设数量的异常消息,则第二节点向其他节点广播请求消息,所述请求消息表示在第二预设空区块高度产生一个第二空区块,所述第二空区块为不包含交易的区块,并重置计时器。
CN202210275543.9A 2022-03-21 2022-03-21 一种基于匿名主节点的区块链共识方法 Active CN114466034B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210275543.9A CN114466034B (zh) 2022-03-21 2022-03-21 一种基于匿名主节点的区块链共识方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210275543.9A CN114466034B (zh) 2022-03-21 2022-03-21 一种基于匿名主节点的区块链共识方法

Publications (2)

Publication Number Publication Date
CN114466034A true CN114466034A (zh) 2022-05-10
CN114466034B CN114466034B (zh) 2022-09-02

Family

ID=81417103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210275543.9A Active CN114466034B (zh) 2022-03-21 2022-03-21 一种基于匿名主节点的区块链共识方法

Country Status (1)

Country Link
CN (1) CN114466034B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110246038A (zh) * 2019-04-26 2019-09-17 众安信息技术服务有限公司 一种区块链交易快速确认方法及系统
CN110493198A (zh) * 2019-07-26 2019-11-22 北京工业大学 一种基于改进PBFT算法防御区块链中Sybil攻击的方法
CN111061769A (zh) * 2019-12-24 2020-04-24 腾讯科技(深圳)有限公司 一种区块链系统的共识方法及相关设备
US20210326352A1 (en) * 2020-04-17 2021-10-21 International Business Machines Corporation Faster view change for blockchain
CN114050904A (zh) * 2022-01-11 2022-02-15 天津眧合数字科技有限公司 一种基于两层级领导节点分片结构的共识系统及方法
CN114169670A (zh) * 2021-10-25 2022-03-11 网络通信与安全紫金山实验室 一种区块链两阶段共识方法、装置、设备和介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110246038A (zh) * 2019-04-26 2019-09-17 众安信息技术服务有限公司 一种区块链交易快速确认方法及系统
CN110493198A (zh) * 2019-07-26 2019-11-22 北京工业大学 一种基于改进PBFT算法防御区块链中Sybil攻击的方法
CN111061769A (zh) * 2019-12-24 2020-04-24 腾讯科技(深圳)有限公司 一种区块链系统的共识方法及相关设备
US20210326352A1 (en) * 2020-04-17 2021-10-21 International Business Machines Corporation Faster view change for blockchain
CN114169670A (zh) * 2021-10-25 2022-03-11 网络通信与安全紫金山实验室 一种区块链两阶段共识方法、装置、设备和介质
CN114050904A (zh) * 2022-01-11 2022-02-15 天津眧合数字科技有限公司 一种基于两层级领导节点分片结构的共识系统及方法

Also Published As

Publication number Publication date
CN114466034B (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
CN109462587B (zh) 区块链分层共识方法、区块链网络系统及区块链节点
Wan et al. Recent advances in consensus protocols for blockchain: a survey
Xiao et al. Distributed consensus protocols and algorithms
US11128522B2 (en) Changing a master node in a blockchain system
Thin et al. Formal analysis of a proof-of-stake blockchain
US11177939B2 (en) Blockchain system including a distributed network of a plurality of nodes and a method for achieving an agreement between the plurality of nodes executed by processors of the block chain system
Carrara et al. Consistency, availability, and partition tolerance in blockchain: a survey on the consensus mechanism over peer-to-peer networking
CN111131209B (zh) 一种改进的高效共识方法、系统、计算机设备及存储介质
CN110189128B (zh) 一种用于区块快速生成的分布式共识的方法和装置
CN111082943B (zh) 一种高效的区块链共识方法
CN110771127A (zh) 用于区块链网络中一致分布式内存池的方法和系统
CN112636905B (zh) 基于多角色的可扩展共识机制的系统及方法
CN111931220B (zh) 区块链网络的共识处理方法、装置、介质及电子设备
Liu et al. Cross-shard transaction processing in sharding blockchains
CN115633035B (zh) 一种基于改进的pbft物联网区块链共识算法
Fu et al. Teegraph: A Blockchain consensus algorithm based on TEE and DAG for data sharing in IoT
Lone et al. Consensus protocols as a model of trust in blockchains
Xu et al. A scalable two-layer blockchain system for distributed multicloud storage in IIoT
CN113568972A (zh) 一种面向图式区块链的混合共识实现装置及实现方法
CN112395113A (zh) 实用拜占庭容错共识方法及装置、可读存储介质
Erwig et al. Commitee: An efficient and secure commit-chain protocol using tees
CN115021929A (zh) 算力网络的信任管理方法及装置、存储介质、电子设备
CN114140233A (zh) 分片区块链安全跨片视图转换方法及装置
Prabhakar et al. TCON-A lightweight Trust-dependent Consensus framework for blockchain
EP4004853A1 (en) Unity protocol consensus

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