CN108111604A - 区块链共识方法、装置和系统、标识信息处理方法和装置 - Google Patents
区块链共识方法、装置和系统、标识信息处理方法和装置 Download PDFInfo
- Publication number
- CN108111604A CN108111604A CN201711397099.3A CN201711397099A CN108111604A CN 108111604 A CN108111604 A CN 108111604A CN 201711397099 A CN201711397099 A CN 201711397099A CN 108111604 A CN108111604 A CN 108111604A
- Authority
- CN
- China
- Prior art keywords
- request
- node
- result
- client
- identification 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请涉及一种区块链共识方法,客户端向主节点发送携带行为请求的行为信息;主节点接收行为信息,向第一可信设备发送携带行为请求的标识生成请求;第一可信设备生成携带针对行为请求的唯一编号的标识信息,将标识信息发送至主节点;主节点将标识信息广播给各从节点,并执行行为请求,将生成的执行结果发送至客户端;各从节点接收到标识信息后,向相应第二可信设备发送携带标识信息的标识验证请求;各第二可信设备对标识信息中的唯一编号进行合法性验证;各从节点接收到相应的第二可信设备返回的合法结果后,执行行为请求,并将生成的执行结果发送至客户端;客户端基于接收到的执行结果确定共识结果。本申请提供的方案能减少网络及硬件的开销。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种区块链共识方法、装置和系统、及标识信息处理方法和装置。
背景技术
随着网络技术的发展,分布式系统逐渐成为主流的系统架构。在分布式系统中,若干个节点协作配合,共同完成预定任务,如存储任务和计算任务等。
分布式系统的工作过程中,各节点常需要就某数据或决议达成一致,然而,异常节点(如故障节点和恶意节点)或网络故障等因素均可能破坏各节点的一致性。以区块链应用为例,其关键问题就是要解决分布式系统下各节点账本的一致性,原因在于区块链网络涉及P2P(Peer to Peer,对等网络)的拓扑结构,网络中随时可能存在节点或者网络故障,甚至拜占庭节点(恶意节点)。基于此,需要引入共识(Consensus)机制解决分布式系统的一致性问题。
传统方法中,主要基于拜占庭容错算法实现共识。然而,传统拜占庭容错算法中,假设异常节点的数目不超过f,则该分布式系统达成一致需要至少(3f+1)个节点。并且,从节点均须按照主节点的排序结果执行客户端发送的行为请求,为此各节点需要就执行顺序进行多轮投票。以区块链应用为例,基于状态机复制技术,进行每笔交易的过程中均会修改节点的状态,为保证区块链系统中的各正常节点的状态一致,交易在所有节点上都必须按照相同的顺序执行,为此各节点需要就交易的执行顺序进行多轮投票(投票是指节点之间相互广播消息)。因此,传统方法存在网络及硬件开销大,并发性不高、吞吐量低和共识时间长等问题,影响系统的整体性能。
发明内容
基于此,有必要针对传统方法中网络及硬件开销大的问题,提供一种区块链共识方法和装置、标识信息处理方法和装置。
一种区块链共识方法,包括:客户端向主节点发送携带行为请求的行为信息;所述主节点接收所述行为信息,向第一可信设备发送携带所述行为请求的标识生成请求;所述第一可信设备基于所述标识生成请求生成标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号;所述主节点接收所述标识信息,将所述标识信息广播给各从节点;所述主节点执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端;各所述从节点接收所述标识信息,向各自对应的第二可信设备发送携带所述标识信息的标识验证请求;各所述第二可信设备接收所述标识验证请求,对接收到的所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将该合法性验证结果发送至对应的从节点;各所述从节点分别接收所述合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端;所述客户端基于接收到的所述第一执行结果和各所述第二执行结果确定共识结果。
以应用于主节点对应的服务器为例,一种区块链共识方法,包括:接收客户端发送的携带行为请求的行为信息;向第一可信设备发送携带所述行为请求的标识生成请求,所述标识生成请求用于触发该第一可信设备生成标识信息,所述标识信息包括针对所述行为请求的唯一编号;接收所述第一可信设备根据所述标识生成请求返回的标识信息,将所述标识信息广播至各从节点,触发各所述从节点分别向对应的第二可信设备发送用于触发该第二可信设备对所述唯一编号进行合法性验证的标识验证请求,并触发各所述从节点在接收到相应的第二可信设备返回的合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端;执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端;所述第一执行结果和各所述第二执行结果用于触发所述客户端确定共识结果。
以应用于从节点对应的服务器为例,一种区块链共识方法,包括:接收主节点发送的标识信息,所述标识信息包括针对行为请求的唯一编号,且所述标识信息为第一可信设备基于所述主节点发送的携带所述行为请求的标识生成请求生成,所述标识生成请求由所述主节点在接收到所述客户端发送的携带所述行为请求的行为信息时向所述第一可信设备发送;向第二可信设备发送携带所述标识信息的标识验证请求,所述标识验证请求用于触发所述第二可信设备对所述唯一编号进行合法性验证;接收所述第二可信设备返回的合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,生成第二执行结果,并将所述第二执行结果发送至所述客户端;所述第二执行结果用于触发所述客户端基于所述第二执行结果和所述主节点执行所述行为请求后发送的第一执行结果确定共识结果。
一种标识信息的处理方法,包括:当接收到主节点发送的携带行为请求的标识生成请求后,生成针对所述行为请求的标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号;当接收到从节点发送的携带所述标识信息的标识验证请求后,对所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将所述合法性验证结果发送至所述从节点,所述验证结果包括合法结果或非法结果。
一种区块链共识系统,包括客户端、主节点、从节点、第一可信设备和第二可信设备;所述客户端用于向主节点发送携带行为请求的行为信息;所述主节点用于接收所述行为信息,向第一可信设备发送携带所述行为请求的标识生成请求;所述第一可信设备用于基于所述标识生成请求生成标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号;所述主节点用于接收所述标识信息,将所述标识信息广播给各从节点;所述主节点用于执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端;各所述从节点用于接收所述标识信息,向各自对应的第二可信设备发送携带所述标识信息的标识验证请求;各所述第二可信设备用于接收所述标识验证请求,对接收到的所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将该合法性验证结果发送至对应的从节点;各所述从节点用于分别接收所述合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端;所述客户端用于基于接收到的所述第一执行结果和各所述第二执行结果确定共识结果。
以应用于主节点对应的服务器为例,一种区块链共识装置,包括:行为信息接收模块,用于接收客户端发送的携带行为请求的行为信息;证书请求发送模块,用于向第一可信设备发送携带所述行为请求的标识生成请求,所述标识生成请求用于触发该第一可信设备生成标识信息,所述标识信息包括针对所述行为请求的唯一编号;标识信息广播模块,用于接收所述第一可信设备根据所述标识生成请求返回的标识信息,将所述标识信息广播至各从节点,触发各所述从节点分别向对应的第二可信设备发送用于触发该第二可信设备对所述唯一编号进行合法性验证的标识验证请求,并触发各所述从节点在接收到相应的第二可信设备返回的合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端;第一执行结果发送模块,用于执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端;所述第一执行结果和各所述第二执行结果用于触发所述客户端确定共识结果。
以应用于从节点对应的服务器为例,一种区块链共识装置,包括:标识信息发送模块,用于接收主节点发送的标识信息,所述标识信息包括针对行为请求的唯一编号,且所述标识信息为第一可信设备基于所述主节点发送的携带所述行为请求的标识生成请求生成,所述标识生成请求由所述主节点在接收到所述客户端发送的携带所述行为请求的行为信息时向所述第一可信设备发送;验证请求发送模块,用于向第二可信设备发送携带所述标识信息的标识验证请求,所述标识验证请求用于触发所述第二可信设备对所述唯一编号进行合法性验证;第二执行结果发送模块,用于接收所述第二可信设备返回的合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,生成第二执行结果,并将所述第二执行结果发送至所述客户端;所述第二执行结果用于触发所述客户端基于所述第二执行结果和所述主节点执行所述行为请求后生成并发送的第一执行结果确定共识结果。
一种标识信息的处理装置,包括:标识信息生成模块,用于当接收到主节点发送的携带行为请求的标识生成请求后,生成针对所述行为请求的标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号;标识信息验证模块,用于当接收到从节点发送的携带所述标识信息的标识验证请求后,对所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将所述合法性验证结果发送至所述从节点,所述验证结果包括合法结果或非法结果。
以上本发明实施例所述区块链共识方法、装置和系统、标识信息处理方法和装置,主节点调用与之对应的可信设备生成标识信息,该标识信息包括针对客户端当前发送的行为请求的唯一编号。相应地,从节点调用与之对应的可信设备对标识信息中的唯一编号进行合法性验证。由于可信设备针对各个行为请求生成的唯一编号均是互不相同,因而能够有效防止主节点为不同的行为请求配置相同的编号,从而能够在共识网络的异常节点的个数不超过f个时,将达成一致所需的节点总个数从(3f+1)个减至(2f+1)个,减少了网络及硬件的开销,提升了系统的稳定性和共识效率。
并且,还可以通过对客户端的身份以及客户端提交的行为请求提前进行验证,以此排除大部分客户端作恶的可能,提高作恶的成本。此外,在共识网络中的各节点上集成可信设备,使得主节点无法随意操作排序结果(有效防止主节点为不同的行为请求配置相同的编号),这一限定条件可以在保证拜占庭将军问题解决的情况下,减少共识网络中所需节点的数量。
附图说明
图1为一个实施例中区块链共识方法的应用环境图;
图2为一个实施例中区块链共识方法的流程示意图;
图3为一个实施例中标识信息的数据结构示意图;
图4为一个实施例中对客户端进行授权验证的步骤的流程示意图;
图5为一个实施例中区块链共识方法的时序图;
图6为一个实施例中区块链共识系统的结构框图;
图7为另一个实施例中主节点对应的区块链共识方法的流程示意图;
图8为另一个实施例中主节点对应的区块链共识装置的结构框图;
图9为又一个实施例中从节点对应的区块链共识方法的流程示意图;
图10为又一个实施例中从节点对应的区块链共识装置的结构框图;
图11为一个实施例中标识信息的处理方法的流程示意图;
图12为一个实施例中标识信息的处理装置的流程示意图;
图13为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
图1为一个实施例中区块链共识方法的应用环境图。如图1所示,该方法应用于分布式系统100,该分布式系统100可涉及用户终端110、服务器120、服务器121、服务器123、可信设备130、可信设备131和可信设备132。
其中,假设分布式系统100中的异常服务器(故障服务器和恶意服务器)的数目不超过f,则该分布式系统100达成一致需要的服务器的数目至少为(2f+1),f为自然数。图1示出了f为1的情况,在此情况下,为使该分布式系统100能够达成一致,该分布式系统100中包含的服务器的数目可以为三,分别为服务器120、服务器121和服务器122。此外,分布式系统100中包含的各服务器(如服务器120、服务器121以及服务器122)均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
此外,分布式系统100包含的各服务器可视为共识网络中的节点,共识网络可以指需要达成一致的各个节点所组成的网络架构。可以理解的是,在进行共识的过程中,客户端发送的行为请求在共识网络中的各个节点上均按照确定的顺序执行,对于共识网络中包含的各个节点,其中一个节点作为主节点,负责对客户端发送的行为请求进行排序,剩余的其它节点则作为从节点,可按照该主节点提供的排序结果执行行为请求。以图1示出的分布式系统100为例,在一次共识过程中,服务器120可以为主节点对应的服务器,服务器121以及服务器122分别为两个从节点对应的服务器。
用户终端110上安装有客户端,该客户端可分别通过网络与服务器120、服务器121和服务器123进行通信,以协助分布式系统100达成一致。用户终端110可以是台式终端或移动终端,其中,移动终端具体可以是手机、平板电脑、笔记本电脑、以及穿戴式设备等中的至少一种。
分布式系统100中的可信设备可以与服务器配套使用,即可信设备与服务器一一对应。如图1所示,可信设备130与服务器120配套使用、可信设备131与服务器121配套使用、并且可信设备132与服务器122配套使用。分布式系统100中包含的各可信设备(如可信设备130、可信设备131和可信设备132)均具备生成标识信息以及对标识信息的合法性进行验证等功能,标识信息中包括针对客户端发送的行为请求的唯一编号,并且,可信设备针对不同的行为请求生成的唯一编号均是互不相同的。
需要说明的是,在实际应用中,区块链系统一般涉及P2P网络,在工作过程中,随时可能出现网络故障或异常节点(故障节点和恶意节点),这些因素均可能导致分布式系统无法顺利达成一致。本申请各实施例提供的区块链共识方法可应用于区块链中的许可链,以解决分布式异步系统下各节点上的账本的一致性的问题。对于许可链而言,参与到许可链系统中的各个节点均是经过许可的,联盟链则是一种常见的许可链。
此外,多数情况下,许可链中的节点处于安全环境中,可由客户端协助解决分布式系统的一致性问题。具体地,从节点按照主节点的排序结果执行客户端发送的行为请求,并向客户端发送执行结果,进而由客户端基于接收到的执行结果确定共识结果。然而,在此情况下,从节点依赖主节点提供的排序结果,若主节点作恶,则会给共识过程带来负面影响,甚至导致无法顺利达成一致。
基于此,本申请各实施例提供的区块链共识方法中,主节点调用与之对应的可信设备生成标识信息,该标识信息包括针对客户端当前发送的行为请求的唯一编号,相应地,从节点调用与之对应的可信设备对标识信息中的唯一编号进行合法性验证。由于可信设备针对各个行为请求生成的唯一编号均是互不相同,能够有效地防止主节点为不同的行为请求配置相同的编号,即使得主节点无法随意操作排序结果,减少了主节点作恶的空间。
如图2所示,在一个实施例中,提供了一种区块链共识方法。本实施例主要以该方法应用于上述图1中的分布式系统100为例进行说明。该区块链共识方法具体可以包括如下步骤:
S202,客户端向主节点发送携带行为请求的行为信息。
其中,客户端是指安装于用户终端上的应用程序。在实际应用中,用户可以通过客户端向分布式系统中的服务器发送行为信息,该行为信息中可以携带行为请求。
行为请求可以指用于触发接收方完成预定任务的指令。以应用场景是区块链系统为例,行为请求可以为交易请求,例如,请求完成由账号A向账号B转账人民币100元的任务。可以理解的是,在其他应用场景中,行为请求还可以为存储请求或计算请求等,本申请不作具体限定。
S204,所述主节点接收所述行为信息,向第一可信设备发送携带所述行为请求的标识生成请求。
在一个实施例中,所述步骤S204之前,还可以包括如下步骤:满足预定的选举触发条件时,从共识网络包含的各节点中,选举一个节点作为主节点,相应地,剩余的其它节点则均作为从节点。具体地,可基于当前视图编号确定主节点,共识网络中各节点通常都具有一个身份编号,在此情况下,用当前视图编号除以节点总数,得到余数,将其身份编号与该余数相等的节点确定为主节点,节点总数为共识网络的节点总数目。此外,应用于区块链时,从节点也可称之为副本节点。
在本实施例中,主节点接收到客户端发送的行为信息后,可以直接调用第一可信设备,即直接向第一可信设备发送携带该行为请求的标识生成请求。
其中,第一可信设备是指该主节点对应的可信设备,例如以USB(UniversalSerial Bus,通用串行总线)连接方式与该主节点对应的服务器连接的可信设备。标识生成请求可用于触发该第一可信设备生成携带针对行为请求的唯一编号的标识信息,并将该标识信息发送至该主节点。
S206,所述第一可信设备基于所述标识生成请求生成标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号。
需要说明的是,在进行共识的过程中,客户端发送的行为请求在共识网络中的各个节点(即主节点及各从节点)上均按照确定的顺序执行,主节点负责实现客户端发送的行为请求的排序,从节点则可按照该主节点提供的排序结果执行行为请求。可以理解的是,行为请求的唯一编号可以指该行为请求对应的唯一执行序号。
在本实施例中,对于客户端发送的任一行为请求,主节点均会调用其对应的第一可信设备生成该行为请求对应标识信息,该标识信息中可包括针对该行为请求的唯一编号。可见,主节点调用第一可信设备对客户端发送的行为请求进行排序,并且,第一可信设备生成的针对客户端发送的各个行为请求的唯一编号均是互不相同的,即不同的行为请求对应不同的唯一编号。
在一个具体示例中,第一可信设备生成针对行为请求的标识信息的步骤,可以包括如下步骤:第一可信设备获取当前第一编号;第一可信设备基于当前第一编号和第一预定调整值获得第一更新后编号,第一更新后编号即为针对行为请求的唯一编号;基于唯一编号生成针对行为请求的标识信息。
以下结合一个实例补充说明,第一可信设备可包括计数器,计数器的计数值依次递增。具体地,主节点每调用一次其对应的第一可信设备,该第一可信设备中的计数器的计数值就增加1。基于此,第一可信设备接收到主节点发送的标识生成请求后,读取计数器的当前计数值,再将该当前计数值增加1,获得更新后计数值,该更新后计数值即为针对标识生成请求中的行为请求的唯一编号,再基于该唯一编号生成针对该行为请求的标识信息。此外,第一可信设备每生成一个唯一编号,则采用本地存储的第一密钥对其进行加密,以避免在传输过程中被其他应用程序篡改。
S208,所述主节点接收所述标识信息,将所述标识信息广播给各从节点。
S210,所述主节点执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端。
在本实施例中,由客户端协助解决分布式系统的一致性问题。因此,主节点执行客户端发送的行为请求,获得第一执行结果后,将该第一执行结果发送至客户端。其中,第一执行结果可用于触发客户端基于该第一执行结果、以及各从节点分别执行行为请求后发送的第二执行结果确定共识结果。以行为请求为请求完成由账号A向账号B转账人民币100元的任务为例,假设转账之前,账号A的余额为人民币500元,账号B的余额为人民币200元,则执行该行为请求后,第一执行结果可以包括账号A和账号B的当前余额信息,即用于表征账号A的当前余额为人民币400元,账号B的当前余额为人民币300元的余额信息。需要说明的是,具体实施时,余额信息可以为经哈希处理过的二进制数组。
S212,各所述从节点接收所述标识信息,向各自对应的第二可信设备发送携带所述标识信息的标识验证请求。
在本实施例中,各个从节点均一一对应一个第二可信设备,例如各个从节点对应的服务器上均通过USB接口连接一个第二可信设备。对于任一从节点而言,在接收到标识信息后,向该从节点对应的第二可信设备发送携带该标识信息的标识验证请求。标识验证请求用于触发第二可信设备对标识信息中的唯一编号进行合法性验证。
S214,各所述第二可信设备接收所述标识验证请求,对接收到的所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将该合法性验证结果发送至对应的从节点。
对于任一第二可信设备而言,接收到与之对应的从节点发送的携带标识信息的标识验证请求后,对该标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将该合法性验证结果发送至该从节点。可以理解的是,合法性验证结果可包括合法结果或非法结果。
在一个具体示例中,第二可信设备对其接收到的所述标识信息中的唯一编号进行合法性验证的步骤,可以包括如下步骤:第二可信设备获取当前第二编号;第二可信设备基于所述当前第二编号和第二预定调整值获得第二更新后编号;第二可信设备基于所述第二更新后编号对所述标识信息中的唯一编号进行合法性验证。
以下结合一个实例补充说明,第二可信设备可包括计数器,从节点每调用一次第二可信设备,该第二可信设备中的计数器的计数值就增加1,因此,第二可信设备接收到从节点发送的标识验证请求后,读取计数器的当前计数值,再将该当前计数值增加1,获得更新后计数值,并判断该更新后计数值与标识验证请求中的唯一编号是否相同,若相同,则生成合法结果,若不相同,则生成非法结果。
S216,各所述从节点分别接收所述合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端。
对于任一从节点而言,接收到与之对应的第二可信设备返回的合法性验证结果为合法结果时,执行基于主节点发送的标识信息获得的行为请求,生成相应的第二执行结果,并将该第二执行结果发送至客户端,该第二执行结果用于触发客户端基于该第二执行结果、以及主节点执行行为请求后发送的第一执行结果确定共识结果。相反地,接收到非法结果后,放弃执行该行为请求。
S218,所述客户端基于接收到的所述第一执行结果和各所述第二执行结果确定共识结果。
在本实施例中,客户端基于接收到的主节点发送的第一执行结果以及各从节点分别发送的第二执行结果确定共识结果。在一个具体示例中,客户端可基于接收到的第一执行结果和第二执行结果中相同的执行结果的总数目确定共识结果,例如,图1示出的分布式系统,若客户端接收到的执行结果包括服务器120、服务器121以及服务器122发送的执行结果,且服务器120和服务器121发送的执行结果是相同的,则客户端接收到的执行结果中相同执行结果的总数目为2。
需要说明的是,在其他可选的实施例中,如图3所示,标识信息中除唯一编号(Counter)外,还可以包括经密钥签名的行为请求(Sign{行为请求})、执行日志以及数字签名(Sign{Hash{执行日志}})。其中,经密钥签名的行为请求是第一可信设备基于第一密钥对主节点发送的行为请求进行加密获得。执行日志中记载了第一可信设备生成标识信息所执行的操作的相关信息,例如执行了当前第一编号的获取操作,并执行了基于当前第一编号和第一预定调整值获得第一更新后编号的操作等。数字签名是第一可信设备先对该执行日志进行哈希处理,获得第一哈希信息,再基于第一密钥对该哈希信息进行加密获得。
相应地,当第二可信设备接收到从节点发送的携带标识信息的标识验证请求后,可对执行日志进行哈希处理,获得第二哈希信息,并利用与第一密钥匹配的第二密钥对数字签名进行解密,获得加密前的摘要信息,再将第二哈希信息与加密前的摘要信息进行比对,若两者相同,说明执行日志未被篡改过。随后,由于执行日志中记载了第一可信设备生成标识信息所执行的操作的相关信息,则可以基于已经确认未被篡改过的执行日志中记载的信息判断第一可信设备是否对其获取的当前第一编号进行过更新操作(如增加1),以此来判断第一可信设备生成的唯一编号是否合法,若进行过,说明合法,则生成合法结果。第二可信设备还可以基于第二密钥对经数字签名的行为请求进行解密,获得加密前的行为请求,当从节点接收到合法结果后,则可以执行该加密前的行为请求,生成第二执行结果,并将该第二执行结果发送至客户端。
此外,各从节点向各自对应的第二可信设备发送的标识验证请求中除标识信息外,还可以携带行为请求(以下称原始行为请求),进而第二可信设备可基于第二密钥对标识信息中的经数字签名的行为请求进行解密,获得加密前的行为请求,并将该加密前的行为请求与上述原始行为请求进行比对,从而判断行为请求是否被篡改过。
需要说明的是,第一密钥可为密钥对中的私钥,相应地,第二密钥可为密钥对中的公钥。并且,在实际应用中,初期进行系统部署时,第一可信设备即可向系统中的第二可信设备分发密钥对中的公钥,以保证后续第二可信设备可以完成解密操作。在其他可选实施例中,第一密钥可为密钥对中的公钥,相应地,第二密钥可为密钥对中的私钥。
此外,各从节点对应的第二可信设备对唯一编号进行合法性验证后,可基于与第一可信设备类似的方法,生成对应的标识信息。后续,各从节点对应的第二可信设备将其生成的合法性验证结果以及标识信息一同发送至对应的从节点,各从节点将其执行结果、其第二可信设备生成的标识信息和主节点对应的第一可信设备生成的标识信息一并发送客户端,客户端可以基于该第二可信设备生成的标识信息和该第一可信设备生成的标识信息验证执行结果的有效性。
还需要说明的是,在实际应用中,第一可信设备和第二可信设备实质上描述的均是可信设备,两者的物理结构及可实现的功能均可以是相同的。在本申请中,仅仅是以“第一”和“第二”来区分其对应的节点的属性,如主节点对应的可信设备命名为第一可信设备,从节点对应的可信设备命名为第二可信设备。但是,可以理解的是,对于任一可信设备,当该可信设备对应的节点为主节点时,该可信设备则执行上述第一可信设备的步骤,当该可信设备对应的节点为从节点时,该可信设备则执行上述第二可信设备的步骤。
此外,可信设备可以为集成有专业级加解密芯片的小型嵌入式系统,该加解密芯片可以支持各种密码算法,例如RSA-512、RSA-1024以及RSA-2048等密码算法。另外,可信设备可通过USB接口连接与之对应的物理机器(如主节点和各从节点对应的服务器)。相应地,该物理机器上需要安装相应的驱动程序及应用库,上层的应用服务通过该应用库调用可信设备提供的功能接口。可信硬件主要提供两个功能接口,一个用于根据行为请求生成标识信息(具体可生成唯一编号和数字签名信息等),另一个用于验证该标识信息的合法性。
还需要说明的是,客户端可具备超时监测的功能,即客户端向主节点发送携带行为请求的行为信息时,启动计时器。若在预定时长内,客户端未接收到主节点返回的送达确认消息,意味着行为请求可能在传输过程中丢失,则客户端可以重新向主节点发送行为消息。
在其他可选的实施例中,当客户端不具备超时监测的功能时,客户端除向主节点发送携带行为请求的行为信息外,还可以向各从节点发送该行为信息,以防止在主节点出现宕机,且客户端不具备超时监测功能的情况下,可能存在的行为请求丢失的问题。
上述区块链共识方法,主节点调用与之对应的可信设备生成标识信息,该标识信息包括针对客户端当前发送的行为请求的唯一编号。相应地,从节点调用与之对应的可信设备对标识信息中的唯一编号进行合法性验证。由于可信设备针对各个行为请求生成的唯一编号均是互不相同,因而能够有效防止主节点为不同的行为请求配置相同的编号,从而能够在共识网络的异常节点的个数不超过f个时,将达成一致所需的节点总个数从(3f+1)个减至(2f+1)个,减少了网络及硬件的开销,提升了系统的稳定性和共识效率。
为进一步对本申请的方案进行更详细的说明,下文对本申请的一些优选实施例进行具体描述或举例说明。
如图4所示,在一个实施例中,在步骤S202之前,还可以包括如下步骤:
S402,客户端向目标节点发送携带行为请求和所述客户端的身份信息的授权请求。
S404,所述目标节点接收所述授权请求,并在所述授权请求满足预定许可授权条件时,生成针对所述授权请求的授权信息,所述许可授权条件包括所述身份信息为合法身份信息、以及所述行为请求为有效行为请求。
S406,所述目标节点将所述授权信息发送至所述客户端。
所述行为信息还包括授权信息;基于此,所述步骤S204,可以包括如下步骤:所述主节点接收所述行为信息,在所述行为信息中携带的授权信息为有效授权信息时,向第一可信设备发送携带所述行为请求的标识生成请求。
需要说明的是,在本实施例中,由客户端协助解决分布式系统的一致性问题。在此情况下,若客户端作恶,则会给共识过程带来负面影响,甚至导致无法顺利达成一致。基于此,本实施例在步骤S202之前,先验证客户端的身份是否合法以及客户端当前发送的行为请求是否有效,以提高共识过程的可靠性。
以应用于联盟链为例,联盟链一般涉及若干个组织,各个组织均对应若干个成员,各成员均具有来自于对应组织的成员证书,该成员证书用于表征成员身份。可以理解的是,允许对具有联盟链中的任一组织发放的成员证书的客户端发送的行为请求进行共识,而禁止对不具备该成员证书的客户端发送的行为请求进行共识,能够有效地提高共识网络的安全性。
基于此,身份信息可以为成员证书,若客户端发送的成员证书与当前联盟链中的任一组织相匹配,则判定该客户端的身份信息为合法身份信息,反之,若客户端发送的成员证书与当前联盟链中的任一组织均不相匹配,则判定该客户端的身份信息为非法身份信息。
此外,用户可基于实际需求通过客户端发送行为请求,但该行为请求不一定有效。例如,行为请求为请求完成由账号A向账号B转账人民币100元的任务,但转账之前,账号A的可用余额仅为人民币50元,显然无法完成由账号A向账号B转账人民币100元这一任务,因而该行为请求为无效行为请求。
基于此,可模拟执行客户端发送的行为请求,若执行结果正常,则判定该行为请求为有效行为请求,反之,若执行结果异常,则判定该行为请求为无效行为请求。
需要说明的是,对于任一节点而言,若该节点生成针对来自于客户端的授权请求的授权信息,则意味着该节点认可该授权请求对应的客户端的身份以及该客户端当前发送的行为请求。
此外,在实际应用中,多数情况下,客户端身份以及该客户端当前发送的行为请求并不需要共识网络涉及的所有节点均认可,而仅需要指定的部分节点认可。基于此,对于客户端而言,在安装链代码时会为该链代码配置预定的授权验证策略,基于该授权验证策略可以确定目标节点(如上述指定的部分节点),后续则可以向该目标节点发送授权请求,以获取该目标节点返回的授权信息。此外,在一个具体示例中,当获得的授权信息为有效授权信息时,客户端才将携带授权信息和行为请求的行为信息发送至主节点。
以图1示出的分布式系统为例,假设基于预定的授权验证策略所确定的目标节点包括服务器120和服务器121中的至少任意一台服务器对应的节点,即客户端需要获得服务器120和/或服务器121返回的授权信息。基于此,在一个具体示例中,客户端可分别向服务器120和服务器121发送授权请求,后续接收到服务器120和/或服务器121返回的授权信息时,即可向主节点发送携带相应授权信息和行为请求的行为信息。
此外,基于功能划分,可将共识网络中的各个节点均细分为验证节点和共识节点,即在分布式系统中的各服务器配置有用于实现验证节点的功能的进程或子服务器,以及配置用于实现共识节点的功能的进程或子服务器。其中,用于实现验证节点的功能的进程或子服务器可执行客户端身份及行为请求验证步骤(如上述步骤S402~S406),用于实现共识节点的功能的进程或子服务器可执行本申请各实施例提供的区块链共识方法中除客户端身份及行为请求验证步骤之外的其它步骤。
以图1示出的分布式系统100为例,在一个具体示例中,分布式系统100中包含的各服务器(如服务器120、服务器121和服务器122)均包括两台子服务器,一个用于实现验证节点的功能,另一个用于实现共识节点的功能。在另一个具体示例中,分布式系统100中包含的各服务器均包括一台服务器,该台服务器上部署有至少两个进程,一个进程用于实现验证节点的功能,另一个进程用于实现共识节点的功能。
在一个具体示例中,客户端可利用自己的私钥对行为请求进行加密,获得授权请求。相应地,验证节点可通过与该私钥对应的公钥对授权请求进行解密,解密成功,则说明该客户端的身份合法,则进一步模拟执行解密获得的行为请求,从而判断该行为请求是否为有效行为请求,若是,则生成针对该授权请求的授权信息,并发送至客户端。
还需要说明的是,在本实施例中,主节点在接收到客户端发送的携带授权信息和行为请求的行为信息后,先判断该行为信息中携带的授权信息是否为有效授权信息,若是,才向第一可信设备发送携带所述行为请求的标识生成请求。具体地,有效授权信息可包括目标节点的授权信息。以图1示出的分布式系统为例,假设基于预定的授权验证策略所确定的目标节点包括服务器120和服务器121中的至少任意一台对应的节点,则服务器120和/或服务器121返回的授权信息即为有效授权信息。
此外,可以理解的是,若判断该行为信息中携带的授权信息不为有效授权信息(即为无效授权信息),则放弃向第一可信设备发送携带所述行为请求的标识生成请求。在一个具体示例中,主节点还可以向客户端发送用于违规提示消息,该违规提示消息可用于表征该客户端发送的行为信息不具备有效授权信息,以及用于提示客户端重发行为信息。
在一个实施例中,所述区块链共识方法,还可以包括如下步骤:
所述客户端在接收到的执行结果中相同执行结果的总数目等于节点总数时,将该相同执行结果确定为共识结果,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目。
需要说明的是,当客户端接收到的执行结果中的相同执行结果的总数目等于节点总数时,则说明相应的共识网络中不存在网络故障和异常节点,因此可直接将该相同执行结果作为共识结果。以生活实例进行类比,即在一次投票过程中,所有投票者选中的投票选项都是相同的,即该投票选项全票通过,则可将该投票选项作为最终的投票结果。
在一个实施例中,所述区块链共识方法,还可以包括如下步骤:
所述客户端在接收到的执行结果中相同执行结果的总数目不等于节点总数,但超过所述节点总数一半时,生成投票确认请求,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目;所述客户端分别向主节点以及各从节点发送所述投票确认请求;所述主节点在接收到所述客户端发送的投票确认请求后,向所述客户端返回针对所述投票确认请求的第一确认结果;各所述从节点在接收到所述客户端发送的投票确认请求后,分别向所述客户端返回针对所述投票确认请求的第二确认结果;所述客户端基于所述第一确认结果和各所述第二确认结果确定共识结果。
可以理解的是,当客户端接收到的执行结果中的相同执行结果的总数目不等于节点总数时,则说明共识网络中存在网络故障或异常节点。但是,当客户端接收到的执行结果中的相同执行结果的总数目超过节点总数的一半时,说明共识网络中的正常节点的总数目超过了半数。在此情况下,仍有可能达成一致。
基于此,客户端可以基于其接收到的所有相同执行结果生成投票确认请求,再向主节点和各从节点发送该投票确认请求,当客户端接收到的确认结果的总数目超过节点总数的一半时,即可将先前接收到的相同执行结果作为共识结果,可以理解的是,客户端接收到的确认结果包括主节点发送的第一确认结果和各从节点发送的第二确认结果。
此外,需要说明的是,投票确认请求可用于保证行为请求在发生视图切换后依旧能够按照正确的排序执行。在发生视图切换后,需要确定行为请求在旧视图中执行的序号(即唯一编号),由此保证在新视图中,该行为请求能够按照相同的排序执行。
在一个实施例中,所述区块链共识方法,还可以包括如下步骤:
所述客户端在接收到的执行结果中相同执行结果的总数目未超过节点总数一半时,将所述行为请求广播各所述从节点,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目;各所述从节点在接收到所述客户端发送的行为请求后,在缓存中查找该行为请求对应的执行结果;各所述从节点在未查找到该行为请求对应的执行结果时,将所述行为请求转发至所述主节点;所述主节点在接收到所述从节点转发的行为请求后,向所述从节点返回针对所述行为请求的标识信息;
各所述从节点在预定时长内未接收到所述主节点返回的针对所述行为请求的标识信息时,向非己从节点广播更换主节点请求。
需要说明的是,当客户端接收到的执行结果中相同执行结果的总数目未超过节点总数一半时,则说明共识网络中的主节点可能为异常节点,导致从节点未接收到主节点发送的标识信息。
基于此,在本实施例中,客户端可以在接收到的执行结果中相同执行结果的总数目未超过节点总数一半时,将行为请求广播至各从节点。各从节点在缓存中查找该行为请求对应的执行结果,各从节点在未查找到该行为请求对应的执行结果时,将行为请求转发至主节点,并启动计时器。相应地,主节点在接收到从节点转发的行为请求后,向相应从节点返回针对行为请求的标识信息。对于任一向主节点转发了行为请求的从节点而言,若在预定时长内未接收到主节点返回的针对行为请求的标识信息,该从节点则认定该主节点为异常节点,此时,该从节点向除自己以外的其它从节点广播更换主节点请求。此外,对于共识网络中的任一节点而言,当其接收到的更换主节点请求的总数目超过节点总数的一半时,开始执行更换主节点的操作。
其中,更换主节点请求可以为视图切换请求,开始执行更换主节点的操作指的则是启动视图切换,以更换主节点。
可以理解的是,各从节点查找到相应行为请求对应的执行结果时,说明该从节点之前执行过该行为请求,则直接将缓存中存储的该行为请求对应的第二执行结果发送至所述客户端,而无需将该行为请求转发至主节点。
在一个实施例中,客户端在向各从节点广播行为请求时,还将该行为请求也发送至主节点,类似地,该主节点在缓存中查找与该行为请求对应的第一执行结果,当查找到该行为请求对应的第一执行结果时,直接将缓存中存储的该行为请求对应的第一执行结果发送至所述客户端。可以理解的是,当该主节点未查找到该行为请求对应的第一执行结果时,跳转至向第一可信设备发送携带所述行为请求的标识生成请求的步骤,并继续执行后续步骤(步骤S206~S216)。
需要说明的是,以下各实施例提供的区块链共识系统、区块链共识方法与装置、标识信息处理方法与装置均与上文所述的区块链共识方法对应,即以下区块链共识系统、区块链共识方法与装置、标识信息处理方法与装置涉及的各技术特征与上文所述的区块链共识方法涉及的相应技术特征所描述的具体内容均是相同的。并且,上文对区块链共识方法的描述内容均适用于以下区块链共识系统、区块链共识方法与装置、标识信息处理方法与装置,出于简洁考虑,以下不再重复描述。
在一个实施例中,假定共识网络中的异常节点的数目不超过f(即分布式系统中的异常服务器的数目不超过f),则该共识网络中的从节点的数目至少为2f(分别为从节点1~从节点2f)。相应地,第二可信设备的数目也为2f(分别为第二可信设备1~第二可信设备2f),f为自然数。此外,还假定主节点为目标节点。基于此,如图5所示,以下对该实施例中客户端、主节点、各从节点、第一可信设备以及各第二可信设备之间的交互情况进行详细描述。
S501,客户端向目标节点发送携带行为请求和所述客户端的身份信息的授权请求;
S502,所述目标节点接收所述授权请求,判断所述授权请求是否满足预定许可授权条件,所述许可授权条件包括所述身份信息为合法的身份信息、以及所述行为请求为有效行为请求;
S503,所述目标节点在判定所述授权请求满足所述预定许可授权条件时,生成针对所述授权请求的授权信息;
S504,所述目标节点将所述授权信息发送至所述客户端;
S505,所述客户端向主节点发送携带行为请求和授权信息的行为信息;
S506,所述主节点接收所述行为信息,判断所述行为信息中携带的授权信息是否为有效授权信息;
S507,所述主节点在判定所述授权信息为有效授权信息时,向第一可信设备发送携带所述行为请求的标识生成请求;
S508,所述第一可信设备基于所述标识生成请求生成标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号;
S509,所述主节点接收所述标识信息,将所述标识信息广播给各从节点;
S510,所述主节点执行所述行为请求,获得第一执行结果;
S511,所述主节点将所述第一执行结果发送至所述客户端;
S512,各所述从节点接收所述标识信息,向各自对应的第二可信设备发送携带所述标识信息的标识验证请求;
S513,各所述第二可信设备接收所述标识验证请求,对接收到的所述标识信息中的唯一编号进行合法性验证;
S514,各所述第二可信设备在验证所述标识信息中的唯一编号合法时,向各所述从节点返回合法结果;
S515各所述从节点分别接收所述合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求;
S516,各所述从节点将其各自生成的第二执行结果发送至所述客户端;
S517,所述客户端基于接收到的所述第一执行结果和各所述第二执行结果确定共识结果。
其中,所述客户端基于接收到的所述第一执行结果和所述第二执行结果确定共识结果的情况可以分为以下三种情况(未图示),具体如下:
1)所述客户端在接收到的执行结果中相同执行结果的总数目等于节点总数时,将该相同执行结果确定为共识结果,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目。
2)所述客户端在接收到的执行结果中相同执行结果的总数目不等于节点总数,但超过所述节点总数一半时,生成投票确认请求,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目;所述客户端分别向主节点以及各从节点发送所述投票确认请求;所述主节点在接收到所述客户端发送的投票确认请求后,向所述客户端返回针对所述投票确认请求的第一确认结果;各所述从节点在接收到所述客户端发送的投票确认请求后,分别向所述客户端返回针对所述投票确认请求的第二确认结果;所述客户端基于所述第一确认结果和各所述第二确认结果确定共识结果。
3)所述客户端在接收到的执行结果中相同执行结果的总数目未超过节点总数一半时,将所述行为请求广播各所述从节点,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目;各所述从节点在接收到所述客户端发送的行为请求后,在缓存中查找该行为请求对应的执行结果;各所述从节点在未查找到该行为请求对应的执行结果时,将所述行为请求转发至所述主节点;所述主节点在接收到所述从节点转发的行为请求后,向所述从节点返回针对所述行为请求的标识信息;各所述从节点在预定时长内未接收到所述主节点返回的针对所述行为请求的标识信息时,向非己从节点广播更换主节点请求。
基于与上述区块链共识方法相同的思想,一个实施例中还提供一种区块链共识系统,如图6所示,所述区块链共识系统600包括客户端602、主节点604、第一可信设备606、从节点608和第二可信设备610。且这些组成部分的用途具体如下:所述客户端602用于客户端向主节点604发送携带行为请求的行为信息;所述主节点604用于所述主节点接收所述行为信息,向第一可信设备606发送携带所述行为请求的标识生成请求;所述第一可信设备606用于基于所述标识生成请求生成标识信息,并将所述标识信息发送至所述主节点604,所述标识信息包括针对所述行为请求的唯一编号;所述主节点604用于接收所述标识信息,将所述标识信息广播给各从节点608;所述主节点604用于执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端602;各所述从节点608用于接收所述标识信息,向各自对应的第二可信设备610发送携带所述标识信息的标识验证请求;各所述第二可信设备610用于接收所述标识验证请求,对接收到的所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将该合法性验证结果发送至对应的从节点608;各所述从节点608用于分别接收所述合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端602;所述客户端602用于基于接收到的所述第一执行结果和各所述第二执行结果确定共识结果。
上述区块链共识系统600,主节点604调用与之对应的可信设备生成标识信息,该标识信息包括针对客户端602当前发送的行为请求的唯一编号。相应地,从节点608调用与之对应的可信设备对标识信息中的唯一编号进行合法性验证。由于可信设备针对各个行为请求生成的唯一编号均是互不相同,因而能够有效防止主节点604为不同的行为请求配置相同的编号,从而能够在共识网络的异常节点的个数不超过f个时,将达成一致所需的节点总个数从(3f+1)个减至(2f+1)个,减少了网络及硬件的开销,提升了系统的稳定性和共识效率。
在一个实施例中,在所述主节点604和各所述从节点608中指定目标节点。基于此,所述客户端602及所述目标节点可具有如下用途:所述客户端602用于客户端向目标节点发送携带行为请求和所述客户端的身份信息的授权请求;所述目标节点用于接收所述授权请求,并在所述授权请求满足预定许可授权条件时,生成针对所述授权请求的授权信息,所述许可授权条件包括所述身份信息为合法的身份信息、以及所述行为请求为有效行为请求;所述目标节点用于将所述授权信息发送至所述客户端602;所述行为信息还包括授权信息,基于此,所述主节点604接收所述行为信息,在所述行为信息中携带的授权信息为有效授权信息时,向第一可信设备606发送携带所述行为请求的标识生成请求。
在一个实施例中,所述客户端602在接收到的执行结果中相同执行结果的总数目等于节点总数时,将该相同执行结果确定为共识结果,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点608所处的共识网络的节点的总数目。
在一个实施例中,所述客户端602、所述主节点604及各所述从节点608还可具有如下用途:所述客户端602用于在接收到的执行结果中相同执行结果的总数目不等于节点总数,但超过所述节点总数一半时,生成投票确认请求,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点608所处的共识网络的节点的总数目;所述客户端602用于分别向主节点604以及各从节点608发送所述投票确认请求;所述主节点604用于在接收到所述客户端602发送的投票确认请求后,向所述客户端602返回针对所述投票确认请求的第一确认结果;各所述从节点608用于在接收到所述客户端602发送的投票确认请求后,分别向所述客户端602返回针对所述投票确认请求的第二确认结果;所述客户端602用于基于所述第一确认结果和各所述第二确认结果确定共识结果。
在一个实施例中,所述客户端602、所述主节点604及各所述从节点608还可具有如下用途:所述客户端602用于在接收到的执行结果中相同执行结果的总数目未超过节点总数一半时,将所述行为请求广播各所述从节点608,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点608所处的共识网络的节点的总数目;
各所述从节点608用于在接收到所述客户端602发送的行为请求后,在缓存中查找该行为请求对应的执行结果;
各所述从节点608用于在未查找到该行为请求对应的执行结果时,将所述行为请求转发至所述主节点604;
所述主节点604用于在接收到所述从节点608转发的行为请求后,向所述从节点608返回针对所述行为请求的标识信息;
各所述从节点608用于在预定时长内未接收到所述主节点604返回的针对所述行为请求的标识信息时,向非己从节点608广播更换主节点604请求。
基于与上述区块链共识方法相同的思想,在另一个实施例中,还提供一种区块链共识方法。如图7所示,本实施例主要以该方法应用于主节点对应的服务器为例进行说明,如上述图1中的服务器120。该区块链共识方法具体可以包括如下步骤:
S702,接收客户端发送的携带行为请求的行为信息;
S704,向第一可信设备发送携带所述行为请求的标识生成请求,所述标识生成请求用于触发该第一可信设备生成标识信息,所述标识信息包括针对所述行为请求的唯一编号;
S706,接收所述第一可信设备根据所述标识生成请求返回的标识信息,将所述标识信息广播至各从节点,触发各所述从节点分别向对应的第二可信设备发送用于触发该第二可信设备对所述唯一编号进行合法性验证的标识验证请求,并触发各所述从节点在接收到相应的第二可信设备返回的合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端;
S708,执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端;所述第一执行结果和各所述第二执行结果用于触发所述客户端确定共识结果。
在一个实施例中,在所述步骤S702之前,还可以包括如下步骤:
接收所述客户端发送的携带行为请求和所述客户端的身份信息的授权请求,并在所述授权请求满足预定许可授权条件时,生成针对所述授权请求的授权信息,将所述授权信息发送至所述客户端,所述许可授权条件包括所述身份信息为合法的身份信息、以及所述行为请求为有效行为请求;所述行为信息还包括授权信息;基于此,所述步骤S704可以包括如下步骤:
在所述行为信息中携带的授权信息为有效授权信息时,向第一可信设备发送携带所述行为请求的标识生成请求。
在一个实施例中,所述方法还可以包括如下步骤:
接收所述客户端发送的投票确认请求,向所述客户端返回针对所述投票确认请求的第一确认结果,所述投票确认请求由所述客户端在接收到的执行结果中相同执行结果的总数目不等于节点总数,但超过所述节点总数一半时生成,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目,所述第一确认结果用于触发所述客户端基于所述第一确认结果、以及各所述从节点接收到所述客户端发送的投票确认请求时返回的第二确认结果确定共识结果。
在一个实施例中,所述方法还可以包括如下步骤:
接收所述从节点转发的行为请求,向所述从节点返回针对所述行为请求的标识信息,其中,所述行为请求为所述从节点在接收到所述客户端发送的行为请求、且在缓存中未查找到该行为请求对应的执行结果时转发,所述行为请求由所述客户端在接收到的执行结果中相同执行结果的总数目未超过节点总数一半时向所述从节点发送,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目。
基于与上述区块链共识方法相同的思想,另一个实施例中还提供一种区块链共识装置(应用于主节点对应的服务器)。如图8所示,所述区块链共识装置800可以包括:
行为信息接收模块802,用于接收客户端发送的携带行为请求的行为信息;
生成请求发送模块804,用于向第一可信设备发送携带所述行为请求的标识生成请求,所述标识生成请求用于触发该第一可信设备生成标识信息,所述标识信息包括针对所述行为请求的唯一编号;
标识信息广播模块806,用于接收所述第一可信设备根据所述标识生成请求返回的标识信息,将所述标识信息广播至各从节点,触发各所述从节点分别向对应的第二可信设备发送用于触发该第二可信设备对所述唯一编号进行合法性验证的标识验证请求,并触发各所述从节点在接收到相应的第二可信设备返回的合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端;
第一行为请求执行模块808,用于执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端;所述第一执行结果和各所述第二执行结果用于触发所述客户端确定共识结果。
在一个实施例中,所述区块链共识装置800还可以包括:
第一授权信息发送模块,用于接收所述客户端发送的携带行为请求和所述客户端的身份信息的授权请求,并在所述授权请求满足预定许可授权条件时,生成针对所述授权请求的授权信息,将所述授权信息发送至所述客户端,所述许可授权条件包括所述身份信息为合法的身份信息、以及所述行为请求为有效行为请求;所述行为信息还包括授权信息;基于此,生成请求发送模块804还可以用于:在所述行为信息中携带的授权信息为有效授权信息时,向第一可信设备发送携带所述行为请求的标识生成请求。
在一个实施例中,所述区块链共识装置800还可以包括:
第一确认结果返回模块,用于接收所述客户端发送的投票确认请求,向所述客户端返回针对所述投票确认请求的第一确认结果,所述投票确认请求由所述客户端在接收到的执行结果中相同执行结果的总数目超过节点总数一半时生成,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目,所述第一确认结果用于触发所述客户端基于所述第一确认结果、以及各所述从节点接收到所述客户端发送的投票确认请求时返回的第二确认结果确定共识结果。
在一个实施例中,所述区块链共识装置800还可以包括:
标识信息返回模块,用于接收所述从节点转发的行为请求,向所述从节点返回针对所述行为请求的标识信息,其中,所述行为请求为所述从节点在接收到所述客户端发送的行为请求、且在缓存中未查找到该行为请求对应的执行结果时转发,所述行为请求由所述客户端在接收到的执行结果中相同执行结果的总数目未超过节点总数一半时向所述从节点发送,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目。
基于与上述区块链共识方法相同的思想,在又一个实施例中,还提供一种区块链共识方法。如图9所示,本实施例主要以该方法应用于从节点对应的服务器为例进行说明,如上述图1中的服务器121或服务器122。该区块链共识方法具体可以包括如下步骤:
S902,接收主节点发送的标识信息,所述标识信息包括针对行为请求的唯一编号,且所述标识信息为第一可信设备基于所述主节点发送的携带所述行为请求的标识生成请求生成,所述标识生成请求由所述主节点在接收到所述客户端发送的携带所述行为请求的行为信息时向所述第一可信设备发送;
S904,向第二可信设备发送携带所述标识信息的标识验证请求,所述标识验证请求用于触发所述第二可信设备对所述唯一编号进行合法性验证;
S906,接收所述第二可信设备返回的合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,生成第二执行结果,并将所述第二执行结果发送至所述客户端;所述第二执行结果用于触发所述客户端基于所述第二执行结果和所述主节点执行所述行为请求后发送的第一执行结果确定共识结果。
在一个实施例中,在所述步骤S902之前,还可以包括如下步骤:
接收客户端发送的携带行为请求和所述客户端的身份信息的授权请求,并在所述授权请求满足预定许可授权条件时,生成针对所述授权请求的授权信息,将所述授权信息发送至所述客户端,所述许可授权条件包括所述身份信息为合法的身份信息、以及所述行为请求为有效行为请求;所述行为信息还包括授权信息,基于此,所述标识生成请求由所述主节点在接收到所述客户端发送的携带授权信息和所述行为请求的行为信息,且判定所述授权信息为有效授权信息时向所述第一可信设备发送。
在一个实施例中,所述方法还可以包括如下步骤:
接收所述客户端发送的投票确认请求,向所述客户端返回针对所述投票确认请求的第二确认结果,所述投票确认请求是所述客户端在接收到的执行结果中相同执行结果的总数目不等于节点总数,但超过所述节点总数一半时生成,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目,所述第二确认结果用于触发所述客户端基于所述第二确认结果、以及所述主节点接收到所述客户端发送的投票确认结果时返回的第一确认结果确定共识结果。
在一个实施例中,所述方法还可以包括如下步骤:
接收所述客户端发送的行为请求,在缓存中查找针对所述行为请求的第二执行结果,当未查找到所述第二执行结果时,将接收到的行为请求转发至所述主节点,并在预定时长内未接收到所述主节点返回的携带针对所述行为请求的唯一编号的标识信息时,向非己从节点广播更换主节点请求。
基于与上述区块链共识方法相同的思想,又一个实施例中还提供一种区块链共识装置(应用于从节点对应的服务器)。如图10所示,所述区块链共识装置1000可以包括:
标识信息接收模块1002,用于接收主节点发送的标识信息,所述标识信息包括针对行为请求的唯一编号,且所述标识信息为第一可信设备基于所述主节点发送的携带所述行为请求的标识生成请求生成,所述标识生成请求由所述主节点在接收到所述客户端发送的携带所述行为请求的行为信息时向所述第一可信设备发送;
验证请求发送模块1004,用于向第二可信设备发送携带所述标识信息的标识验证请求,所述标识验证请求用于触发所述第二可信设备对所述唯一编号进行合法性验证;
执行结果发送模块1006,用于接收所述第二可信设备返回的合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,生成第二执行结果,并将所述第二执行结果发送至所述客户端;
所述第二执行结果用于触发所述客户端基于所述第二执行结果和所述主节点执行所述行为请求后发送的第一执行结果确定共识结果。
在一个实施例中,所述区块链共识装置1000,还可以包括:
第二授权信息发送模块,用于接收客户端发送的携带行为请求和所述客户端的身份信息的授权请求,并在所述授权请求满足预定许可授权条件时,生成针对所述授权请求的授权信息,将所述授权信息发送至所述客户端,所述许可授权条件包括所述身份信息为合法的身份信息、以及所述行为请求为有效行为请求;所述行为信息还包括授权信息,基于此,所述标识生成请求由所述主节点在接收到所述客户端发送的携带授权信息和所述行为请求的行为信息,且判定所述授权信息为有效授权信息时向所述第一可信设备发送。
在一个实施例中,所述区块链共识装置1000,还可以包括:
第二确认结果返回模块,用于接收所述客户端发送的投票确认请求,向所述客户端返回针对所述投票确认请求的第二确认结果,所述投票确认请求是所述客户端在接收到的执行结果中相同执行结果的总数目超过节点总数一半时生成,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目,所述第二确认结果用于触发所述客户端基于所述第二确认结果、以及所述主节点接收到所述客户端发送的投票确认结果时返回的第一确认结果确定共识结果。
在一个实施例中,所述区块链共识装置1000,还可以包括:
第二行为请求转发模块,用于接收所述客户端发送的行为请求,在缓存中查找针对所述行为请求的第二执行结果,当未查找到所述第二执行结果时,将接收到的行为请求转发至所述主节点,并在预定时长内未接收到所述主节点返回的携带针对所述行为请求的唯一编号的标识信息时,向非己从节点广播更换主节点请求。
基于与上述区块链共识方法相同的思想,在又一个实施例中,还提供一种标识信息的处理方法。如图11所示,本实施例主要以该方法应用于上述图1中的各可信设备(可信设备130、可信设备131和可信设备132)为例进行说明,该标识信息的处理方法具体可以包括如下步骤:
S1102,当接收到主节点发送的携带行为请求的标识生成请求后,生成针对所述行为请求的标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号;
S1104,当接收到从节点发送的携带所述标识信息的标识验证请求后,对所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将所述合法性验证结果发送至所述从节点,所述验证结果包括合法结果或非法结果。
上述标识信息的处理方法,当接收到主节点发送的携带行为请求的标识生成请求后,生成针对行为请求的标识信息,并将标识信息发送至主节点,标识信息包括针对行为请求的唯一编号。相应地,当接收到从节点发送的携带标识信息的标识验证请求后,对标识信息中的唯一编号进行合法性验证,并将验证结果发送至从节点,验证结果包括合法结果或非法结果。由于针对各个行为请求生成的唯一编号均是互不相同,因而能够有效防止主节点为不同的行为请求配置相同的编号,从而能够在共识网络的异常节点的个数不超过f个时,将达成一致所需的节点总个数从(3f+1)个减至(2f+1)个,减少了网络及硬件的开销。
在一个实施例中,所述生成针对所述行为请求的标识信息的步骤,可以包括如下步骤:
获取当前第一编号;基于所述当前第一编号和第一预定调整值获得第一更新后编号,并将所述第一更新后编号作为针对所述行为请求的唯一编号;基于所述唯一编号生成针对所述行为请求的标识信息。
另外,所述对所述标识信息中的唯一编号进行合法性验证的步骤,可以包括如下步骤:
获取当前第二编号;基于所述当前第二编号和第二预定调整值获得第二更新后编号;基于所述第二更新后编号对所述标识信息中的唯一编号进行合法性验证。
在一个实施例中,所述标识信息还包括携带数字签名信息的行为请求、执行日志以及携带所述数字签名信息的摘要信息。
基于此,所述生成针对所述行为请求的标识信息的步骤,还包括:
获取本地存储的第一密钥;基于所述第一密钥对所述主节点发送的行为请求进行加密,获得所述携带数字签名信息的行为请求;获取执行日志;对所述执行日志进行哈希处理,获得第一哈希信息;基于所述第一密钥对所述第一哈希信息进行加密,获得所述携带所述数字签名信息的摘要信息。
并且,所述基于所述唯一编号生成针对所述行为请求的标识信息的步骤,可以包括如下步骤:基于所述唯一编号、所述携带数字签名信息的行为请求、所述执行日志以及所述携带所述数字签名信息的摘要信息生成针对所述行为请求的标识信息。
另外,所述对所述标识信息中的唯一编号进行合法性验证的步骤,还可以包括:
获取本地存储的与所述第一密钥相匹配的第二密钥;基于所述第二密钥对所述携带所述数字签名信息的摘要信息进行解密,获得原始摘要信息;对所述执行日志进行哈希处理,获得第二哈希信息。
所述基于所述第二更新后编号对所述标识信息中的唯一编号进行合法性验证的步骤,可以包括:基于所述第二更新后编号、所述原始摘要信息以及所述第二哈希信息对所述标识信息中的唯一编号进行合法性验证。
基于与上述标识信息的处理方法相同的思想,一个实施例中还提供一种标识信息的处理装置。如图12所示,所述标识信息的处理装置1200可以包括:
标识信息生成模块1202,用于当接收到主节点发送的携带行为请求的标识生成请求后,生成针对所述行为请求的标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号;
标识信息验证模块1204,用于当接收到从节点发送的携带所述标识信息的标识验证请求后,对所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将所述合法性验证结果发送至所述从节点,所述验证结果包括合法结果或非法结果。
在一个实施例中,所述标识信息生成模块1202,可以包括:第一编号获取单元,用于获取当前第一编号;唯一编号获取单元,用于基于所述当前第一编号和第一预定调整值获得第一更新后编号,并将所述第一更新后编号作为针对所述行为请求的唯一编号;标识信息生成单元,用于基于所述唯一编号生成针对所述行为请求的标识信息;
另外,所述标识信息验证模块1204,可以包括:第二编号获取单元,用于获取当前第二编号;更新后编号获取模块,用于基于所述当前第二编号和第二预定调整值获得第二更新后编号;合法性验证模块,用于基于所述第二更新后编号对所述标识信息中的唯一编号进行合法性验证。
在一个实施例中,所述标识信息还包括携带数字签名信息的行为请求、执行日志以及携带所述数字签名信息的摘要信息;
基于此,所述标识信息生成模块1202,还可以包括:第一密钥获取单元,用于获取本地存储的第一密钥;加密请求获取单元,用于基于所述第一密钥对所述主节点发送的行为请求进行加密,获得所述携带数字签名信息的行为请求;执行日志获取单元,用于获取执行日志;第一哈希信息获取单元,用于对所述执行日志进行哈希处理,获得第一哈希信息;加密摘要获取单元,用于基于所述第一密钥对所述第一哈希信息进行加密,获得所述携带所述数字签名信息的摘要信息。
并且,所述标识信息生成模块1202,可以包括:标识信息生成子单元,用于基于所述唯一编号、所述携带数字签名信息的行为请求、所述执行日志以及所述携带所述数字签名信息的摘要信息生成针对所述行为请求的标识信息。
另外,所述标识信息验证模块1204,还可以包括:第二密钥获取单元,用于获取本地存储的与所述第一密钥相匹配的第二密钥;原始摘要获取单元,用于基于所述第二密钥对所述携带所述数字签名信息的摘要信息进行解密,获得原始摘要信息;第二哈希信息获取单元,用于对所述执行日志进行哈希处理,获得第二哈希信息。
所述标识信息验证单元,可以包括:标识信息验证子单元,用于基于所述第二更新后编号、所述原始摘要信息以及所述第二哈希信息对所述标识信息中的唯一编号进行合法性验证。
应该理解的是,虽然图2、5、7、9、10的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,这些附图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
如上所述的实施例中的装置(如区块链共识装置800、区块链共识装置1000和标识信息的处理装置1200),均可以部署于计算机设备中,图13中示出了一个实施例中部署了该实施例中的装置的计算机设备的结构示意图。如图13所示,该实施例中的计算机设备包括通过系统总线连接的处理器、供电模块、通信模块和存储器。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统、数据库以及实时通信的数据处理装置的计算机程序,该计算机程序被处理器执行时,可使得处理器相应地实现上述实施例中的区块链共识方法或标识信息的处理方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器相应地实现上述实施例中的区块链共识方法或标识信息的处理方法。
本领域技术人员可以理解的是,图13中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
据此,在一个实施例中还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行本申请任一实施例提供的区块链共识方法或标识信息的处理方法。
本领域普通技术人员可以理解的是实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。
据此,在一个实施例中还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行本申请任一实施例提供的区块链共识方法或标识信息的处理方法。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种区块链共识方法,其特征在于,包括:
客户端向主节点发送携带行为请求的行为信息;
所述主节点接收所述行为信息,向第一可信设备发送携带所述行为请求的标识生成请求;
所述第一可信设备基于所述标识生成请求生成标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号;
所述主节点接收所述标识信息,将所述标识信息广播给各从节点;
所述主节点执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端;
各所述从节点接收所述标识信息,向各自对应的第二可信设备发送携带所述标识信息的标识验证请求;
各所述第二可信设备接收所述标识验证请求,对接收到的所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将该合法性验证结果发送至对应的从节点;
各所述从节点分别接收所述合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端;
所述客户端基于接收到的所述第一执行结果和各所述第二执行结果确定共识结果。
2.根据权利要求1所述的方法,其特征在于:
在所述客户端向主节点发送携带行为请求的行为信息的步骤之前,还包括:
客户端向目标节点发送携带行为请求和所述客户端的身份信息的授权请求;
所述目标节点接收所述授权请求,并在所述授权请求满足预定许可授权条件时,生成针对所述授权请求的授权信息,所述许可授权条件包括所述身份信息为合法的身份信息、以及所述行为请求为有效行为请求;
所述目标节点将所述授权信息发送至所述客户端;
所述行为信息还包括授权信息,且所述主节点接收所述行为信息,向第一可信设备发送携带所述行为请求的标识生成请求的步骤,包括:
所述主节点接收所述行为信息,在所述行为信息中携带的授权信息为有效授权信息时,向第一可信设备发送携带所述行为请求的标识生成请求。
3.一种区块链共识方法,其特征在于,包括:
接收客户端发送的携带行为请求的行为信息;
向第一可信设备发送携带所述行为请求的标识生成请求,所述标识生成请求用于触发该第一可信设备生成标识信息,所述标识信息包括针对所述行为请求的唯一编号;
接收所述第一可信设备根据所述标识生成请求返回的标识信息,将所述标识信息广播至各从节点,触发各所述从节点分别向对应的第二可信设备发送用于触发该第二可信设备对所述唯一编号进行合法性验证的标识验证请求,并触发各所述从节点在接收到相应的第二可信设备返回的合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端;
执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端;
所述第一执行结果和各所述第二执行结果用于触发所述客户端确定共识结果。
4.根据权利要求3所述的方法,其特征在于:
在所述接收客户端发送的携带行为请求的行为信息的步骤之前,还包括:
接收所述客户端发送的携带行为请求和所述客户端的身份信息的授权请求,并在所述授权请求满足预定许可授权条件时,生成针对所述授权请求的授权信息,将所述授权信息发送至所述客户端,所述许可授权条件包括所述身份信息为合法的身份信息、以及所述行为请求为有效行为请求;
所述行为信息还包括授权信息,且所述向第一可信设备发送携带所述行为请求的标识生成请求的步骤,包括:
在所述行为信息中携带的授权信息为有效授权信息时,向第一可信设备发送携带所述行为请求的标识生成请求。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括下述两项中的至少一项:
接收所述客户端发送的投票确认请求,向所述客户端返回针对所述投票确认请求的第一确认结果,所述投票确认请求由所述客户端在接收到的执行结果中相同执行结果的总数目不等于节点总数,但超过所述节点总数一半时生成,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目,所述第一确认结果用于触发所述客户端基于所述第一确认结果、以及各所述从节点接收到所述客户端发送的投票确认请求时返回的第二确认结果确定共识结果;
接收所述从节点转发的行为请求,向所述从节点返回针对所述行为请求的标识信息,其中,所述行为请求为所述从节点在接收到所述客户端发送的行为请求、且在缓存中未查找到该行为请求对应的执行结果时转发,所述行为请求由所述客户端在接收到的执行结果中相同执行结果的总数目未超过节点总数一半时向所述从节点发送,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目。
6.一种区块链共识方法,其特征在于,包括:
接收主节点发送的标识信息,所述标识信息包括针对行为请求的唯一编号,且所述标识信息为第一可信设备基于所述主节点发送的携带所述行为请求的标识生成请求生成,所述标识生成请求由所述主节点在接收到所述客户端发送的携带所述行为请求的行为信息时向所述第一可信设备发送;
向第二可信设备发送携带所述标识信息的标识验证请求,所述标识验证请求用于触发所述第二可信设备对所述唯一编号进行合法性验证;
接收所述第二可信设备返回的合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,生成第二执行结果,并将所述第二执行结果发送至所述客户端;
所述第二执行结果用于触发所述客户端基于所述第二执行结果和所述主节点执行所述行为请求后发送的第一执行结果确定共识结果。
7.根据权利要求6所述的方法,其特征在于:
在所述接收主节点发送的标识信息的步骤之前,还包括:
接收客户端发送的携带行为请求和所述客户端的身份信息的授权请求,并在所述授权请求满足预定许可授权条件时,生成针对所述授权请求的授权信息,将所述授权信息发送至所述客户端,所述许可授权条件包括所述身份信息为合法的身份信息、以及所述行为请求为有效行为请求;
所述行为信息还包括授权信息,所述标识生成请求由所述主节点在接收到所述客户端发送的携带授权信息和所述行为请求的行为信息,且判定所述授权信息为有效授权信息时向所述第一可信设备发送。
8.根据权利要求6或7所述的方法,其特征在于,所述方法还包括下述两项中的至少一项:
接收所述客户端发送的投票确认请求,向所述客户端返回针对所述投票确认请求的第二确认结果,所述投票确认请求是所述客户端在接收到的执行结果中相同执行结果的总数目不等于节点总数,但超过所述节点总数一半时生成,所述接收到的执行结果包括所述第一执行结果和各所述第二执行结果,所述节点总数为所述从节点所处的共识网络的节点的总数目,所述第二确认结果用于触发所述客户端基于所述第二确认结果、以及所述主节点接收到所述客户端发送的投票确认结果时返回的第一确认结果确定共识结果;
接收所述客户端发送的行为请求,在缓存中查找针对所述行为请求的第二执行结果,当未查找到所述第二执行结果时,将接收到的行为请求转发至所述主节点,并在预定时长内未接收到所述主节点返回的携带针对所述行为请求的唯一编号的标识信息时,向非己从节点广播更换主节点请求。
9.一种标识信息的处理方法,其特征在于,包括:
当接收到主节点发送的携带行为请求的标识生成请求后,生成针对所述行为请求的标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号;
当接收到从节点发送的携带所述标识信息的标识验证请求后,对所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将所述合法性验证结果发送至所述从节点,所述验证结果包括合法结果或非法结果。
10.一种区块链共识系统,其特征在于,包括客户端、主节点、从节点、第一可信设备和第二可信设备;
所述客户端用于向主节点发送携带行为请求的行为信息;
所述主节点用于接收所述行为信息,向第一可信设备发送携带所述行为请求的标识生成请求;
所述第一可信设备用于基于所述标识生成请求生成标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号;
所述主节点用于接收所述标识信息,将所述标识信息广播给各从节点;
所述主节点用于执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端;
各所述从节点用于接收所述标识信息,向各自对应的第二可信设备发送携带所述标识信息的标识验证请求;
各所述第二可信设备用于接收所述标识验证请求,对接收到的所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将该合法性验证结果发送至对应的从节点;
各所述从节点用于分别接收所述合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端;
所述客户端用于基于接收到的所述第一执行结果和各所述第二执行结果确定共识结果。
11.一种区块链共识装置,其特征在于,包括:
行为信息接收模块,用于接收客户端发送的携带行为请求的行为信息;
标识请求发送模块,用于向第一可信设备发送携带所述行为请求的标识生成请求,所述标识生成请求用于触发该第一可信设备生成标识信息,所述标识信息包括针对所述行为请求的唯一编号;
标识信息广播模块,用于接收所述第一可信设备根据所述标识生成请求返回的标识信息,将所述标识信息广播至各从节点,触发各所述从节点分别向对应的第二可信设备发送用于触发该第二可信设备对所述唯一编号进行合法性验证的标识验证请求,并触发各所述从节点在接收到相应的第二可信设备返回的合法性验证结果为合法结果时,执行所述行为请求,并将生成的第二执行结果发送至所述客户端;
第一执行结果发送模块,用于执行所述行为请求,获得第一执行结果,并将所述第一执行结果发送至所述客户端;
所述第一执行结果和各所述第二执行结果用于触发所述客户端确定共识结果。
12.一种区块链共识装置,其特征在于,包括:
标识信息发送模块,用于接收主节点发送的标识信息,所述标识信息包括针对行为请求的唯一编号,且所述标识信息为第一可信设备基于所述主节点发送的携带所述行为请求的标识生成请求生成,所述标识生成请求由所述主节点在接收到所述客户端发送的携带所述行为请求的行为信息时向所述第一可信设备发送;
验证请求发送模块,用于向第二可信设备发送携带所述标识信息的标识验证请求,所述标识验证请求用于触发所述第二可信设备对所述唯一编号进行合法性验证;
第二执行结果发送模块,用于接收所述第二可信设备返回的合法性验证结果,并在所述合法性验证结果为合法结果时,执行所述行为请求,生成第二执行结果,并将所述第二执行结果发送至所述客户端;
所述第二执行结果用于触发所述客户端基于所述第二执行结果和所述主节点执行所述行为请求后生成并发送的第一执行结果确定共识结果。
13.一种标识信息的处理装置,其特征在于,包括:
标识信息生成模块,用于当接收到主节点发送的携带行为请求的标识生成请求后,生成针对所述行为请求的标识信息,并将所述标识信息发送至所述主节点,所述标识信息包括针对所述行为请求的唯一编号;
标识信息验证模块,用于当接收到从节点发送的携带所述标识信息的标识验证请求后,对所述标识信息中的唯一编号进行合法性验证,获得合法性验证结果,并将所述合法性验证结果发送至所述从节点,所述验证结果包括合法结果或非法结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711397099.3A CN108111604B (zh) | 2017-12-21 | 2017-12-21 | 区块链共识方法、装置和系统、标识信息处理方法和装置 |
PCT/CN2018/109167 WO2019119929A1 (zh) | 2017-12-21 | 2018-09-30 | 区块链共识方法、装置和系统、标识信息处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711397099.3A CN108111604B (zh) | 2017-12-21 | 2017-12-21 | 区块链共识方法、装置和系统、标识信息处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108111604A true CN108111604A (zh) | 2018-06-01 |
CN108111604B CN108111604B (zh) | 2020-08-14 |
Family
ID=62212231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711397099.3A Active CN108111604B (zh) | 2017-12-21 | 2017-12-21 | 区块链共识方法、装置和系统、标识信息处理方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108111604B (zh) |
WO (1) | WO2019119929A1 (zh) |
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108768618A (zh) * | 2018-06-07 | 2018-11-06 | 广东工业大学 | 一种基于区块链的ip软核授权方法、装置及介质 |
CN108921565A (zh) * | 2018-08-01 | 2018-11-30 | 北京洛必达科技有限公司 | 一种互联网区块链大数据处理系统及方法 |
CN109033376A (zh) * | 2018-07-27 | 2018-12-18 | 深圳市汇尊区块链技术有限公司 | 一种去中心化的应用平台 |
CN109218079A (zh) * | 2018-08-16 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 一种区块链网络、部署方法及存储介质 |
CN109474682A (zh) * | 2018-11-12 | 2019-03-15 | 杭州秘猿科技有限公司 | 一种区块链网络传输方法、装置及电子设备 |
CN109872159A (zh) * | 2019-01-07 | 2019-06-11 | 必可嘉(武汉)科技有限公司 | 一种区块链共识方法及架构 |
WO2019119929A1 (zh) * | 2017-12-21 | 2019-06-27 | 广州广电运通金融电子股份有限公司 | 区块链共识方法、装置和系统、标识信息处理方法和装置 |
CN110061856A (zh) * | 2019-03-07 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种基于区块链的通信方法、装置及电子设备 |
CN110198233A (zh) * | 2019-05-09 | 2019-09-03 | 中国人民解放军国防科技大学 | 基于可信执行环境和有向无环图的区块链共识方法及系统 |
CN110209532A (zh) * | 2019-06-03 | 2019-09-06 | 高田 | 一种区块链大数据安全处理系统及方法 |
WO2019200461A1 (en) * | 2018-04-21 | 2019-10-24 | Interbit Ltd. | Method and system for performing an action requested by a blockchain |
CN110602096A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络中的数据处理方法、装置、存储介质和设备 |
CN110611666A (zh) * | 2019-08-30 | 2019-12-24 | 视联动力信息技术股份有限公司 | 一种视联网信息的处理方法及装置 |
CN110633142A (zh) * | 2019-07-30 | 2019-12-31 | 思力科(深圳)电子科技有限公司 | 区块链的共识方法、管理节点、电子设备以及存储介质 |
CN111163084A (zh) * | 2019-12-27 | 2020-05-15 | 清创网御(合肥)科技有限公司 | 一种基于动态选举和共识机制的安全存储算法 |
CN111724258A (zh) * | 2020-05-28 | 2020-09-29 | 天津大学 | 基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法 |
WO2020224237A1 (zh) * | 2019-05-06 | 2020-11-12 | 深圳壹账通智能科技有限公司 | 区块链共识的方法、装置、设备及存储介质 |
CN112118305A (zh) * | 2020-09-11 | 2020-12-22 | 北京易安睿龙科技有限公司 | 一种减少区块链共识系统中无效请求的方法 |
CN112865959A (zh) * | 2020-12-30 | 2021-05-28 | 杭州趣链科技有限公司 | 分布式节点设备的共识方法、节点设备及分布式网络 |
CN113012008A (zh) * | 2020-09-15 | 2021-06-22 | 支付宝(杭州)信息技术有限公司 | 一种基于可信硬件的身份管理方法、装置及设备 |
CN113031626A (zh) * | 2020-05-15 | 2021-06-25 | 东风柳州汽车有限公司 | 基于自动驾驶的安全认证方法、装置、设备及存储介质 |
CN113076376A (zh) * | 2021-03-29 | 2021-07-06 | 湖北央中巨石信息技术有限公司 | 基于区块链的多方异步抽样共识方法及系统及装置及介质 |
CN113206817A (zh) * | 2020-02-03 | 2021-08-03 | 中移物联网有限公司 | 一种设备连接确认方法和区块链网络 |
CN113301002A (zh) * | 2020-04-24 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种信息处理方法、装置、电子设备以及存储介质 |
CN113923093A (zh) * | 2021-10-29 | 2022-01-11 | 博雅正链(北京)科技有限公司 | 一种基于可信执行环境的新型拜占庭容错共识方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113283923A (zh) * | 2020-02-20 | 2021-08-20 | 北京沃东天骏信息技术有限公司 | 一种基于区块链的资源处理方法和装置 |
CN111064813B (zh) * | 2020-03-16 | 2020-06-30 | 支付宝(杭州)信息技术有限公司 | 在区块链共识处理时进行处理消息同步的方法及装置 |
CN111506589B (zh) * | 2020-04-13 | 2023-06-23 | 西安电子科技大学 | 基于联盟链的区块链数据服务系统、访问方法及存储介质 |
CN114745131A (zh) * | 2022-04-06 | 2022-07-12 | 广东钜联信息科技有限公司 | 一种区块链的pbft改进共识算法 |
CN115334038B (zh) * | 2022-08-20 | 2024-03-26 | 信通院(江西)科技创新研究院有限公司 | 一种基于区块链的appid申请管理方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701372A (zh) * | 2015-12-18 | 2016-06-22 | 布比(北京)网络技术有限公司 | 一种区块链身份构建及验证方法 |
CN107040585A (zh) * | 2017-02-22 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种业务校验的方法及装置 |
WO2017146333A9 (ko) * | 2016-02-22 | 2017-10-19 | (주)코인플러그 | 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법 |
CN107368507A (zh) * | 2017-03-28 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种基于区块链的共识方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106251144A (zh) * | 2015-06-05 | 2016-12-21 | 地气股份有限公司 | 电子货币管理方法及电子货币节点装置 |
CN111614655A (zh) * | 2017-03-24 | 2020-09-01 | 创新先进技术有限公司 | 一种共识校验的方法及装置 |
CN108111604B (zh) * | 2017-12-21 | 2020-08-14 | 广州广电运通金融电子股份有限公司 | 区块链共识方法、装置和系统、标识信息处理方法和装置 |
-
2017
- 2017-12-21 CN CN201711397099.3A patent/CN108111604B/zh active Active
-
2018
- 2018-09-30 WO PCT/CN2018/109167 patent/WO2019119929A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105701372A (zh) * | 2015-12-18 | 2016-06-22 | 布比(北京)网络技术有限公司 | 一种区块链身份构建及验证方法 |
WO2017146333A9 (ko) * | 2016-02-22 | 2017-10-19 | (주)코인플러그 | 블록체인을 기반으로 하는 금융기관 제증명서류 위변조 검증시스템 및 방법 |
CN107040585A (zh) * | 2017-02-22 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种业务校验的方法及装置 |
CN107368507A (zh) * | 2017-03-28 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 一种基于区块链的共识方法及装置 |
Cited By (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019119929A1 (zh) * | 2017-12-21 | 2019-06-27 | 广州广电运通金融电子股份有限公司 | 区块链共识方法、装置和系统、标识信息处理方法和装置 |
WO2019200461A1 (en) * | 2018-04-21 | 2019-10-24 | Interbit Ltd. | Method and system for performing an action requested by a blockchain |
CN108768618B (zh) * | 2018-06-07 | 2021-05-11 | 广东工业大学 | 一种基于区块链的ip软核授权方法、装置及介质 |
CN108768618A (zh) * | 2018-06-07 | 2018-11-06 | 广东工业大学 | 一种基于区块链的ip软核授权方法、装置及介质 |
CN109033376A (zh) * | 2018-07-27 | 2018-12-18 | 深圳市汇尊区块链技术有限公司 | 一种去中心化的应用平台 |
CN109033376B (zh) * | 2018-07-27 | 2022-09-27 | 深圳市汇尊区块链技术有限公司 | 一种去中心化的应用平台 |
CN108921565A (zh) * | 2018-08-01 | 2018-11-30 | 北京洛必达科技有限公司 | 一种互联网区块链大数据处理系统及方法 |
CN109218079A (zh) * | 2018-08-16 | 2019-01-15 | 北京京东尚科信息技术有限公司 | 一种区块链网络、部署方法及存储介质 |
CN109474682B (zh) * | 2018-11-12 | 2022-03-11 | 杭州秘猿科技有限公司 | 一种区块链网络传输方法、装置及电子设备 |
CN109474682A (zh) * | 2018-11-12 | 2019-03-15 | 杭州秘猿科技有限公司 | 一种区块链网络传输方法、装置及电子设备 |
CN109872159A (zh) * | 2019-01-07 | 2019-06-11 | 必可嘉(武汉)科技有限公司 | 一种区块链共识方法及架构 |
CN109872159B (zh) * | 2019-01-07 | 2021-04-06 | 必可嘉(武汉)科技有限公司 | 一种区块链共识方法及架构 |
CN110061856A (zh) * | 2019-03-07 | 2019-07-26 | 阿里巴巴集团控股有限公司 | 一种基于区块链的通信方法、装置及电子设备 |
WO2020224237A1 (zh) * | 2019-05-06 | 2020-11-12 | 深圳壹账通智能科技有限公司 | 区块链共识的方法、装置、设备及存储介质 |
CN110198233A (zh) * | 2019-05-09 | 2019-09-03 | 中国人民解放军国防科技大学 | 基于可信执行环境和有向无环图的区块链共识方法及系统 |
CN110198233B (zh) * | 2019-05-09 | 2021-11-19 | 中国人民解放军国防科技大学 | 基于可信执行环境和有向无环图的区块链共识方法及系统 |
CN110209532A (zh) * | 2019-06-03 | 2019-09-06 | 高田 | 一种区块链大数据安全处理系统及方法 |
CN110633142A (zh) * | 2019-07-30 | 2019-12-31 | 思力科(深圳)电子科技有限公司 | 区块链的共识方法、管理节点、电子设备以及存储介质 |
CN110611666A (zh) * | 2019-08-30 | 2019-12-24 | 视联动力信息技术股份有限公司 | 一种视联网信息的处理方法及装置 |
CN110611666B (zh) * | 2019-08-30 | 2021-03-05 | 视联动力信息技术股份有限公司 | 一种视联网信息的处理方法及装置 |
CN110602096A (zh) * | 2019-09-12 | 2019-12-20 | 腾讯科技(深圳)有限公司 | 区块链网络中的数据处理方法、装置、存储介质和设备 |
US11895242B2 (en) | 2019-09-12 | 2024-02-06 | Tencent Technology (Shenzhen) Company Limited | Data processing method and apparatus in blockchain network, storage medium, and computer device |
CN110602096B (zh) * | 2019-09-12 | 2021-07-13 | 腾讯科技(深圳)有限公司 | 区块链网络中的数据处理方法、装置、存储介质和设备 |
CN111163084A (zh) * | 2019-12-27 | 2020-05-15 | 清创网御(合肥)科技有限公司 | 一种基于动态选举和共识机制的安全存储算法 |
CN111163084B (zh) * | 2019-12-27 | 2021-11-09 | 清创网御(合肥)科技有限公司 | 一种基于动态选举和共识机制的安全存储方法 |
CN113206817A (zh) * | 2020-02-03 | 2021-08-03 | 中移物联网有限公司 | 一种设备连接确认方法和区块链网络 |
CN113301002B (zh) * | 2020-04-24 | 2023-05-09 | 阿里巴巴集团控股有限公司 | 一种信息处理方法、装置、电子设备以及存储介质 |
CN113301002A (zh) * | 2020-04-24 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种信息处理方法、装置、电子设备以及存储介质 |
CN113031626A (zh) * | 2020-05-15 | 2021-06-25 | 东风柳州汽车有限公司 | 基于自动驾驶的安全认证方法、装置、设备及存储介质 |
CN111724258A (zh) * | 2020-05-28 | 2020-09-29 | 天津大学 | 基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法 |
CN111724258B (zh) * | 2020-05-28 | 2024-05-31 | 天津大学 | 基于环形拓扑、依赖图及多版本控制的联盟链交易并发方案的实现方法 |
CN112118305B (zh) * | 2020-09-11 | 2023-04-21 | 北京易安睿龙科技有限公司 | 一种减少区块链共识系统中无效请求的方法 |
CN112118305A (zh) * | 2020-09-11 | 2020-12-22 | 北京易安睿龙科技有限公司 | 一种减少区块链共识系统中无效请求的方法 |
US11386191B2 (en) | 2020-09-15 | 2022-07-12 | Alipay (Hangzhou) Information Technology Co., Ltd. | Trusted hardware-based identity management methods, apparatuses, and devices |
CN113012008A (zh) * | 2020-09-15 | 2021-06-22 | 支付宝(杭州)信息技术有限公司 | 一种基于可信硬件的身份管理方法、装置及设备 |
WO2022141700A1 (zh) * | 2020-12-30 | 2022-07-07 | 杭州趣链科技有限公司 | 分布式节点设备的共识方法、节点设备及分布式网络 |
CN112865959A (zh) * | 2020-12-30 | 2021-05-28 | 杭州趣链科技有限公司 | 分布式节点设备的共识方法、节点设备及分布式网络 |
CN113076376A (zh) * | 2021-03-29 | 2021-07-06 | 湖北央中巨石信息技术有限公司 | 基于区块链的多方异步抽样共识方法及系统及装置及介质 |
CN113076376B (zh) * | 2021-03-29 | 2024-02-06 | 湖北央中巨石信息技术有限公司 | 基于区块链的多方异步抽样共识方法及系统及装置及介质 |
CN113923093A (zh) * | 2021-10-29 | 2022-01-11 | 博雅正链(北京)科技有限公司 | 一种基于可信执行环境的新型拜占庭容错共识方法 |
CN113923093B (zh) * | 2021-10-29 | 2024-02-06 | 博雅正链(北京)科技有限公司 | 一种基于可信执行环境的新型拜占庭容错共识方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108111604B (zh) | 2020-08-14 |
WO2019119929A1 (zh) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108111604A (zh) | 区块链共识方法、装置和系统、标识信息处理方法和装置 | |
JP6547079B1 (ja) | 登録・認可方法、装置及びシステム | |
US20220191012A1 (en) | Methods For Splitting and Recovering Key, Program Product, Storage Medium, and System | |
US20190238311A1 (en) | Blockchain system and data processing method for blockchain system | |
WO2019191378A1 (en) | Threshold secret share authentication proof and secure blockchain voting with hardware security modules | |
CN109740384A (zh) | 基于区块链的数据存证方法和装置 | |
CN108235805A (zh) | 账户统一方法、装置及存储介质 | |
US20200412554A1 (en) | Id as service based on blockchain | |
JP2010231404A (ja) | 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム | |
CN110737915A (zh) | 基于联盟链和隐式证书的抗量子计算匿名身份识别方法及系统 | |
CN114629713B (zh) | 身份验证方法、装置及系统 | |
CN107347073B (zh) | 一种资源信息处理方法 | |
US11823194B2 (en) | Decentralized biometric authentication platform | |
CN111078649A (zh) | 基于区块链的云上文件存储方法、装置及电子设备 | |
CN115913677A (zh) | 一种基于区块链的协作边缘存储数据隐私保护系统及方法 | |
CN113094675B (zh) | 基于分布式模型训练的用户认证方法及装置 | |
CN110602121B (zh) | 一种网络密钥获取方法、装置和计算机可读存储介质 | |
JP2007110175A (ja) | 管理サービス装置、バックアップサービス装置、通信端末装置及び記憶媒体 | |
CN111858768A (zh) | 一种优化区块链可信节点与共识算法的装置 | |
Xie et al. | A raft algorithm with byzantine fault-tolerant performance | |
CN117395000B (zh) | 多方授权方法、多方授权设备以及可读存储介质 | |
CN114710370B (zh) | 基于雾区块链和属性加密的细粒度访问控制方法及系统 | |
CN113569209B (zh) | 基于区块链的用户注册方法及装置 | |
Fiore | Providing trust to multi-cloud storage platforms through the blockchain | |
JP2017208731A (ja) | 管理システム、管理装置、車載コンピュータ、管理方法、及びコンピュータプログラム |
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 |