CN111866106A - 共识方法、装置、电子设备和可读存储介质 - Google Patents

共识方法、装置、电子设备和可读存储介质 Download PDF

Info

Publication number
CN111866106A
CN111866106A CN202010658087.7A CN202010658087A CN111866106A CN 111866106 A CN111866106 A CN 111866106A CN 202010658087 A CN202010658087 A CN 202010658087A CN 111866106 A CN111866106 A CN 111866106A
Authority
CN
China
Prior art keywords
node
event
information
block chain
consensus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010658087.7A
Other languages
English (en)
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.)
Cfets Information Technology Shanghai Co ltd
Original Assignee
Cfets Information Technology Shanghai 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 Cfets Information Technology Shanghai Co ltd filed Critical Cfets Information Technology Shanghai Co ltd
Priority to CN202010658087.7A priority Critical patent/CN111866106A/zh
Publication of CN111866106A publication Critical patent/CN111866106A/zh
Pending legal-status Critical Current

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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering 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/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding

Abstract

本发明实施例提供了一种共识方法、装置、电子设备和可读存储介质,涉及区块链技术领域,所述方法包括:响应于接收到事件信息,确定所述事件信息中包括的事件标识;确定本地事件缓存池中各已缓存的事件信息各自的事件标识;响应于所述本地事件缓存池中不存在所述事件信息的事件标识,将所述事件信息缓存至所述本地事件缓存池中;响应于新一轮共识流程开始,接收第一主节点广播的包括所述事件信息的封装文件,所述第一主节点为所述区块链中每轮共识流程中的主节点;基于所述封装文件,向第二主节点发送投票信息,所述第二主节点为所述区块链中每轮共识流程的下一轮共识流程的主节点。采用本发明可以提高系统性能。

Description

共识方法、装置、电子设备和可读存储介质
技术领域
本发明涉及区块链技术领域,特别是涉及一种共识方法、装置、电子设备和可读存储介质。
背景技术
目前,区块链技术受到了极大的关注,其多中心、自动化和可信任的特性,使得区块链在各行各业中得到了广大应用,由于区块链在交易市场中的应用广泛,所以区块链的处理性能尤为重要。
Hotstuff是最近提出的一种用于解决大规模组网共识问题的一种共识方法,该方法通过流水线的方式复用共识消息,从而能够减少共识消息的传输。
然而,Hotstuff的稳定性不高,当大量节点同时进行交易,或者存在恶意发送大量重复交易的节点时,会导致系统对重复的信息进行重复的共识,进而导致增加网络带宽以及处理器运算量,使得系统性能显著下降。
发明内容
有鉴于此,本发明实施例提供一种共识方法、装置、电子设备和可读存储介质,以提高系统性能。
第一方面,提供了一种共识方法,所述方法应用于区块链中的任一从节点,所述方法包括:
响应于接收到事件信息,确定所述事件信息中包括的事件标识;
确定本地事件缓存池中各已缓存的事件信息各自的事件标识;
响应于所述本地事件缓存池中不存在所述事件信息的事件标识,将所述事件信息缓存至所述本地事件缓存池中;
响应于新一轮共识流程开始,接收第一主节点广播的包括所述事件信息的封装文件,所述第一主节点为所述区块链中每轮共识流程中的主节点;
基于所述封装文件,向第二主节点发送投票信息,所述第二主节点为所述区块链中每轮共识流程的下一轮共识流程的主节点。
可选的,在所述响应于所述本地事件缓存池中不存在所述事件信息的事件标识,将所述事件信息缓存至所述本地事件缓存池中之后,所述方法还包括:
将所述事件信息在所述区块链中进行广播。
可选的,所述方法还包括:
响应于新一轮共识流程开始,启动超时时长为第一预设时长的超时计时器;
响应于在第一预设时长内未接收到第一主节点广播的批处理文件,在所述区块链中广播超时信息,所述超时信息包括:下一轮共识流程的轮次数和所述从节点的签名;
响应于下一轮共识流程开始,启动超时时长为第二预设时长的超时计时器,所述第二预设时长为基于预设规则以及所述第一预设时长计算得到。
可选的,所述方法还包括:
确定预设数量个源节点,向所述预设数量个源节点发送数据获取请求,所述数据获取请求用于请求获取所述从节点未执行的事件的数据;
响应于接收到源节点发送的响应信息,存储并按序执行所述响应信息包括的所述从节点未执行的事件。
可选的,在所述响应于接收到源节点发送的响应信息,存储并按序执行所述响应信息包括的所述从节点未执行的事件的数据之后,所述方法还包括:
更新所述预设数量个源节点的评分,所述评分用于表征源节点在所述区块链中的进度。
可选的,所述投票信息包括:所述从节点的签名;
所述方法还包括:
基于预计算结果,验证所述区块链中任一节点的签名,所述预计算结果为验证所述区块链中任一节点的签名过程中常用数据的计算结果。
第二方面,提供了一种共识方法,所述方法应用于第一主节点,所述第一主节点为所述区块链中每轮共识流程中的主节点,所述方法包括:
响应于接收到事件信息,确定所述事件信息中包括的事件标识;
确定本地事件缓存池中各已缓存的事件信息各自的事件标识;
响应于所述本地事件缓存池中不存在所述事件信息的事件标识,将所述事件信息缓存至所述本地事件缓存池中;
响应于新一轮共识流程开始,生成包括所述事件信息的封装文件并在所述区块链中进行广播;
基于所述封装文件,向第二主节点发送投票信息,所述第二主节点为所述区块链中每轮共识流程的下一轮共识流程的主节点。
可选的,在所述响应于所述本地事件缓存池中不存在所述事件信息的事件标识,将所述事件信息缓存至所述本地事件缓存池中之后,所述方法还包括:
将所述事件信息在所述区块链中进行广播。
可选的,所述封装文件包括:法定人数证书;所述法定人数证书为基于预设的签名聚合算法,聚合多个签名后得到的聚合签名。
可选的,所述投票信息包括:所述第一主节点的签名;
所述方法还包括:
基于预计算结果,验证所述区块链中任一节点的签名,所述预计算结果为验证所述区块链中任一节点的签名过程中常用数据的计算结果。
第三方面,提供了一种共识装置,所述装置应用于区块链中的任一从节点,所述装置包括:
本地事件缓存池模块,用于响应于接收到事件信息,确定所述事件信息中包括的事件标识;
所述本地事件缓存池模块,还用于确定所述本地事件缓存池中各已缓存的事件信息各自的事件标识;
所述本地事件缓存池模块,还用于响应于所述本地事件缓存池中不存在所述事件信息的事件标识,将所述事件信息缓存至所述本地事件缓存池中;
接收模块,用于响应于新一轮共识流程开始,接收第一主节点广播的包括所述事件信息的封装文件,所述第一主节点为所述区块链中每轮共识流程中的主节点;
发送模块,用于基于所述封装文件,向第二主节点发送投票信息,所述第二主节点为所述区块链中每轮共识流程的下一轮共识流程的主节点。
可选的,
所述发送模块,还用于将所述事件信息在所述区块链中进行广播。
可选的,所述装置还包括:
启动模块,用于响应于新一轮共识流程开始,启动超时时长为第一预设时长的超时计时器;
所述发送模块,还用于响应于在第一预设时长内未接收到第一主节点广播的批处理文件,在所述区块链中广播超时信息,所述超时信息包括:下一轮共识流程的轮次数和所述从节点的签名;
所述启动模块,还用于响应于下一轮共识流程开始,启动超时时长为第二预设时长的超时计时器,所述第二预设时长为基于预设规则以及所述第一预设时长计算得到。
可选的,所述装置还包括:
确定模块,用于确定预设数量个源节点;
所述发送模块,还用于向所述预设数量个源节点发送数据获取请求,所述数据获取请求用于请求获取所述从节点未执行的事件的数据;
执行模块,用于响应于接收到源节点发送的响应信息,存储并按序执行所述响应信息包括的所述从节点未执行的事件。
可选的,所述装置还包括:
更新模块,用于更新所述预设数量个源节点的评分,所述评分用于表征源节点在所述区块链中的进度。
可选的,所述投票信息包括:所述从节点的签名;
所述装置还包括:
计算模块,用于基于预计算结果,验证所述区块链中任一节点的签名,所述预计算结果为验证所述区块链中任一节点的签名过程中常用数据的计算结果。
第四方面,提供了一种共识装置,所述装置应用于第一主节点,所述第一主节点为所述区块链中每轮共识流程中的主节点,所述装置包括:
本地事件缓存池模块,用于响应于接收到事件信息,确定所述事件信息中包括的事件标识;
所述本地事件缓存池模块,还用于确定所述本地事件缓存池中各已缓存的事件信息各自的事件标识;
所述本地事件缓存池模块,还用于响应于所述本地事件缓存池中不存在所述事件信息的事件标识,将所述事件信息缓存至所述本地事件缓存池中;
生成模块,用于响应于新一轮共识流程开始,生成包括所述事件信息的封装文件并在所述区块链中进行广播;
发送模块,用于基于所述封装文件,向第二主节点发送投票信息,所述第二主节点为所述区块链中每轮共识流程的下一轮共识流程的主节点。
可选的,
所述发送模块,还用于将所述事件信息在所述区块链中进行广播。
可选的,所述封装文件包括:法定人数证书;所述法定人数证书为基于预设的签名聚合算法,聚合多个签名后得到的聚合签名。
可选的,所述投票信息包括:所述第一主节点的签名;
所述装置还包括:
计算模块,用于基于预计算结果,验证所述区块链中任一节点的签名,所述预计算结果为验证所述区块链中任一节点的签名过程中常用数据的计算结果。
第五方面,本发明实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如第一方面至第二方面所述的方法。
第六方面,本发明实施例提供了一种计算机可读存储介质,其上存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面至第二方面所述的方法。
通过本发明实施例,区块链中的任一从节点可以在共识过程中接收事件信息,然后通过接收到的事件信息的事件标识,以及本地事件缓存池中已缓存的事件信息各自的事件标识进行去重判断,达到针对一个事件进行一次共识的目的,即避免了重复共识,降低了网络带宽以及处理器运算量,进而使得系统性能显著上升。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1为本发明实施例提供的一种共识方法的流程的示意图;
图2为本发明实施例提供的一种共识方法的流程图;
图3为本发明实施例提供的另一种共识方法的流程图;
图4为本发明实施例提供的一种超时轮换过程示意图;
图5为本发明实施例提供的另一种共识方法的流程图;
图6为本发明实施例提供的一种节点快速恢复的流程示意图;
图7为本发明实施例提供的另一种共识方法的流程图;
图8为本发明实施例提供的一种共识方法测试结果折线图;
图9为本发明实施例提供的一种共识装置的结构示意图;
图10为本发明实施例提供的另一种共识装置的结构示意图;
图11为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本发明提供的共识方法是以Hotstuff共识方法为基础的一种改进方法,如图1所示,图1为本发明实施例提供的一种共识方法的流程的示意图,该示意图包括:事件X、节点1、节点2、节点3和节点4。
其中,节点可以为移动终端(例如智能手机、平板电脑等)、个人计算机(PersonalComputer,PC)终端或者服务器。
节点1、节点2、节点3和节点4为区块链中的4个节点,每个节点中均设置有本地事件缓存池,本地事件缓存池为节点中的一个模块。
事件X为可以在区块链中由各个节点进行投票决议的事件,例如交易等事件,事件可以以事件信息的形式存在。
具体的,节点3接收到事件X后,节点3中的本地事件缓存池可以针对事件X进行去重判断,响应于事件X未与节点3的本地事件缓存池中任一事件信息重复,节点3将事件X缓存至节点3的本地事件缓存池,并通过本地事件缓存池在节点3所处的区块链中广播事件X。
节点1、节点2和节点4监听到事件X后,同样会对事件X进行去重判断,本发明实施例不做赘述。
在提议(Proposal)阶段1中,节点1为本轮共识流程的主节点,节点2至节点4为从节点,其中,每轮共识流程由一个提议阶段和一个投票阶段组成。
节点1可以确定节点1的本地事件缓存池中一个或多个符合要求的事件信息(若事件X符合要求,则该事件X也为符合要求的事件信息),然后将一个或多个符合要求的事件信息打包为一个批处理文件,然后将该批处理文件与上一轮共识流程的法定人数证书(Quorum Cert,QC)封装为一个封装文件,在节点1所处的区块链中广播该封装文件。
其中,QC为本轮共识流程主节点将上一轮共识流程各从节点发送的投票信息中的签名进行签名聚合得到的。
在投票(Vote)阶段1中,节点2、节点3和节点4监听到节点1广播的封装文件后,节点1至节点4可以验证该封装文件的合法性,响应于验证通过,可以继续验证该封装文件中的QC是否可以提交前序的区块,响应于该封装文件中的QC可以提交前序的区块,提交区块并将已提交区块中的事件信息从本地事件缓存池中移除。
其中,区块链中的区块用于记录一段时间内发生的所有事件和状态结果,各个区块按照发生顺序串联而成,提交区块即为将待提交区块作为最新发生的区块记录在区块链中。
然后节点1至节点4可以向下一轮共识流程的主节点(节点3)发送投票信息,其中,节点1至节点4各自发送的投票信息中包括:节点自身的签名。
提议阶段2和投票阶段2为新一轮共识流程,在本轮共识流程中,节点3为主节点,节点1、节点2和节点4为从节点。
提议阶段2和投票阶段2中,主节点和从节点执行的步骤与提议阶段1和投票阶段1中相同,本发明实施例不做赘述。
需要说明的,每一轮共识流程的主节点可以根据预设的主节点确定规则确定,例如,各节点轮流作为主节点,或者,每一轮共识流程的主节点固定,或者,由特定的几个节点轮流作为主节点,本发明实施例对预设规则不做限定。
下面将结合具体实施方式以及图1所述内容,对本发明实施例提供的一种共识方法进行详细的说明,该方法应用于区块链中的任一从节点,如图2所示,具体步骤如下:
步骤210、响应于接收到事件信息,确定事件信息中包括的事件标识。
步骤220、确定本地事件缓存池中各已缓存的事件信息各自的事件标识。
步骤230、响应于本地事件缓存池中不存在事件信息的事件标识,将事件信息缓存至本地事件缓存池中。
步骤240、响应于新一轮共识流程开始,接收第一主节点广播的包括事件信息的封装文件。
其中,第一主节点为区块链中每轮共识流程中的主节点。
步骤250、基于封装文件,向第二主节点发送投票信息。
第二主节点为区块链中每轮共识流程的下一轮共识流程的主节点。
通过本发明实施例,区块链中的任一从节点可以在共识过程中接收事件信息,然后通过接收到的事件信息的事件标识,以及本地事件缓存池中已缓存的事件信息各自的事件标识进行去重判断,达到针对一个事件进行一次共识的目的,即避免了重复共识,降低了网络带宽以及处理器运算量,进而使得系统性能显著上升。
需要进一步说明的,在实际应用中,步骤210中的事件标识可以是事件信息的哈希值。
哈希值是通过一定的哈希算法将一段较长的数据映射为一段较短的数据得到的,该较长的数据发生任何变化,哈希值也会改变,因此,哈希值对于每段数据来说是唯一的,进而,哈希值可以用于本发明实施例中事件信息的事件标识。
具体的,可以将区块链中已存储的事件信息的哈希值,和/或,本地事件缓存池中已缓存的事件信息的哈希值写入布隆过滤器(布隆过滤器可以用于检索一个元素是否在一个集合中)中,通过布隆过滤器的去重特性实现快速去重的目的。
可选的,在步骤230之后,从节点还可以执行:将事件信息在区块链中进行广播。
例如,如图1所示,节点3接收到事件X后,可以执行上述步骤210至步骤230,节点3在执行步骤230之后,节点3可以将事件信息在区块链中进行广播,即将事件X信息在区块链中进行广播。
可选的,若在区块链共识过程中主节点由于客观问题(例如网络波动、设备故障等问题)出现超时,则从节点可以通过延长等待时间,以避免频繁轮换共识轮次,如图3所示,具体步骤如下:
步骤310、响应于新一轮共识流程开始,启动超时时长为第一预设时长的超时计时器。
步骤320、响应于在第一预设时长内未接收到第一主节点广播的批处理文件,在区块链中广播超时信息。
其中,超时信息包括:下一轮共识流程的轮次数和该从节点的签名。
步骤330、响应于下一轮共识流程开始,启动超时时长为第二预设时长的超时计时器。
其中,第二预设时长为基于预设规则以及第一预设时长计算得到。
如图4所示,图4为本发明实施例提供的一种超时轮换过程示意图,该示意图包括:节点1、节点2、节点3和节点4。
具体的,在提议阶段1中,节点1为本轮共识流程的主节点,节点2至节点4为从节点,各节点在提议阶段1开始时启动超时时长为1秒的超时计时器。
节点1由于客观原因未能成功发送封装文件,导致节点2至节点4在1秒内未能成功接收到节点1发送的封装文件。
由于在提议阶段1中,节点2至节点4在1秒内未能成功接收到节点1发送的封装文件,因此,在投票阶段1中,各节点不发送投票信息,即各节点不进行投票。
在超时阶段1中,节点1至节点4根据预设规则确定本轮的超时时长为2秒。
预设规则为:T2=T1*k,其中,T2为新一轮共识流程的超时时长,即本轮的超时时长2秒,T1为上一轮共识流程的超时时长1秒,k为预设数值,本发明实施例中,k=2,综上,T2=T1*k=1*2=2。
节点1至节点4分别在区块链中广播超时信息,并根据预设的主节点确定规则确定下一轮(超时阶段2)的主节点,其中,每个从节点发送的超时信息包括:下一轮共识流程的轮次数和该从节点的签名。
在本发明实施例中,超时阶段2中的主节点为节点2,且节点2在2秒内未接收到x个节点发送的超时信息,因此,将再次进入超时阶段,即超时阶段2,在本发明实施例中,x为3。
需要说明的,k的数值以及x的数值可以根据实际情况进行设置,本发明实施例对k的数值以及x的数值不做限定。
在超时阶段2中,节点1至节点4根据预设规则确定本轮的超时时长为4秒。
节点1至节点4分别在区块链中广播超时信息,并根据预设的主节点确定规则确定下一轮(提议阶段2)的主节点。
在提议阶段2中,提议阶段2中的主节点为节点3,且节点3在4秒内成功接收到3个节点发送的超时信息,然后,节点3会将各节点广播的超时信息中的签名聚合为超时证书(Timeout Cert,TC),然后,节点3将一个或多个符合要求的事件信息打包为一个批处理文件,并将该批处理文件与超时证书封装为一个封装文件,在节点3所处的区块链中广播该封装文件。
需要说明的,在提议阶段2之后,各节点可以进入常规流程,各节点在进入常规流程后,超时时长将会重置,在本发明实施例中,各节点在进入常规流程后,超时时长将重置为1秒。
其中,常规流程参见图1所示的流程,本发明实施例不做赘述。
通过本发明实施例,在反复超时的情况下,各节点可以根据预设规则不断延长每一轮共识流程的超时时长,使得各节点可以避免频发更换共识流程轮次,减轻了设备的运算压力,进而提高效率。
可选的,当从节点的执行进度落后于其他节点时,从节点可以快速恢复自身的执行进度,如图5所示,具体包括以下步骤:
步骤510、确定预设数量个源节点,向预设数量个源节点发送数据获取请求。
其中,数据获取请求用于请求获取从节点未执行的事件的数据。
在共识过程中,区块链中的各节点会每隔一段时间互相发送心跳包,心跳包中包含发送该心跳包的节点的执行进度,当某节点接收到的心跳包中包含的执行进度快于自身的执行进度是,该节点为落后节点,进而该节点可以执行步骤510以开始恢复执行进度。
步骤520、响应于接收到源节点发送的响应信息,存储并按序执行响应信息包括的从节点未执行的事件。
可选的,步骤520之后,从节点还可以执行:更新预设数量个源节点的评分。
其中,评分用于表征源节点在区块链中的进度。
例如,如图6所示,图6为本发明实施例提供的一种节点快速恢复的流程示意图,该示意图包括:落后节点、源节点1、源节点2和源节点3,具体步骤如下:
步骤61、落后节点确定3个源节点。
其中,数量3为预设数量,该预设数量可根据实际情况进行调整,本发明实施例对预设数量不做限定。
步骤62、落后节点向源节点1、源节点2和源节点3发送数据获取请求,相应的,源节点1、源节点2和源节点3接收落后节点发送的数据获取请求。
在实际应用中,落后节点可以并行向各个源节点发送数据获取请求,使得落后节点可以快速恢复进度。
步骤63、源节点1、源节点2和源节点3向落后节点发送响应信息,相应的,落后节点接收源节点1、源节点2和源节点3发送的响应信息。
其中,响应信息中可以包括多个落后节点未执行的事件的事件信息。
步骤64、响应于响应信息中包括落后节点需要执行且未执行的事件的事件信息,落后节点存储并执行未执行的事件。
步骤65、响应于响应信息中包括落后节点不需要执行的事件,落后节点存储未存储事件。
其中,不需要执行的事件可以为投票决议未通过的事件。
在实际应用中,响应信息中可能只包含需要执行的事件,也可能只包含不需要执行的事件,还可能同时包含需要执行的事件与不需要执行的事件,因此,落后节点既可以只执行步骤64,也可以只执行步骤65,还可以既执行步骤64也执行步骤65,本发明实施例不做限定。
步骤66、落后节点更新3个源节点的评分。
其中,该评分用于评价源节点1、源节点2和源节点3的执行进度,落后节点可以将更新后的评分存储至本地,当该落后节点再次落后时,可以根据本地存储的评分,选取评分最高的预设数量个源节点拉取数据。
通过本发明实施例,落后节点在执行进度落后时,可以并行向多个源节点拉取数据,然后通过存储、执行事件,落后节点可以快速恢复进度,同时,由于落后节点可以对各个源节点进行评分,因此,当该落后节点再次落后时,该落后节点可以基于评分最高的预设数量个源节点更快速的恢复进度。
可选的,从节点发送的投票信息包括:该从节点的签名,针对从节点验证签名的过程,具体可以执行为:基于预计算结果,验证区块链中任一节点的签名。
其中,预计算结果为验证区块链中任一节点的签名过程中常用数据的计算结果。
在实际应用中,可以通过数字签名算法生成签名并进行签名的验证,例如,Ed25519算法是一种目前常用的数字签名算法,该算法是基于椭圆曲线数学理论实现的一种非对称加密算法。
具体的,K=xG,其中K为公钥,x为私钥,G为椭圆曲线的基点,在椭圆曲线中,当给定G点,并且已知x时,求xG点并不困难,反之,已知xG点,求x则非常困难,此即为椭圆曲线加密算法的数学原理。
在验证签名,即私钥解密的过程中,会频繁涉及大整数乘G的计算结果,因此,本发明实施例将大整数乘G作为预计算结果,预先存储在本地。
以Ed25519算法为例,可以将大整数以8位为一个分段,计算Ed25519椭圆曲线中G到256G所有的计算结果并存储至本地。
通过本发明实施例,由于引进了预计算结果,所以节点在验证签名的过程中,可以直接读取预计算结果,加快了计算过程,提高了验证签名的效率。
以下以主节点的角度对本发明实施例提供的共识方法进行详细说明,该方法应用于第一主节点,第一主节点为区块链中每轮共识流程中的主节点,如图7所示,具体步骤如下:
步骤710、响应于接收到事件信息,确定事件信息中包括的事件标识。
步骤720、确定本地事件缓存池中各已缓存的事件信息各自的事件标识。
步骤730、响应于本地事件缓存池中不存在事件信息的事件标识,将事件信息缓存至本地事件缓存池中。
步骤740、响应于新一轮共识流程开始,生成包括事件信息的封装文件并在区块链中进行广播。
步骤750、基于封装文件,向第二主节点发送投票信息。
其中,第二主节点为区块链中每轮共识流程的下一轮共识流程的主节点。
通过本发明实施例,区块链中每轮共识流程的主节点可以在共识过程中接收事件信息,然后通过接收到的事件信息的事件标识,以及本地事件缓存池中已缓存的事件信息各自的事件标识进行去重判断,达到针对一个事件进行一次共识的目的,即避免了重复共识,降低了网络带宽以及处理器运算量,进而使得系统性能显著上升。
可选的,在步骤730之后,第一主节点还可以执行:将事件信息在区块链中进行广播。
结合图1所示内容,若节点3接收到事件X时,节点3为主节点,则节点3接收到事件X后,可以执行上述步骤710至步骤730,节点3在执行步骤730之后,节点3可以将事件信息在区块链中进行广播,即将事件X信息在区块链中进行广播。
可选的,结合上述内容,封装文件可以包括:QC或者TC,QC或者TC为主节点基于预设的签名聚合算法,聚合多个签名后得到的聚合签名。
其中,预设的签名聚合算法可以为门限签名算法等签名聚合算法。
在现有技术中,若区块链中存在n个节点,则在共识过程中,每个节点需要分别进行n次验证签名的计算。
而在本发明实施例中,由于主节点将n个节点的签名进行了聚合,因此,该区块链中的每个节点在共识过程中仅需针对聚合后的签名进行一次验证即可,大大减少了处理器计算的压力,同时,由于聚合后只存在一个聚合签名,因此,签名数据消耗的网络带宽仅为现有技术中的1/n,减少了网络压力。
可选的,第一主节点发送的投票信息包括:第一主节点的签名,针对第一主节点验证签名的过程,具体可以执行为:基于预计算结果,验证区块链中任一节点的签名。
其中,预计算结果为验证区块链中任一节点的签名过程中常用数据的计算结果。
通过本发明实施例,由于引进了预计算结果,所以节点在验证签名的过程中,可以直接读取预计算结果,加快了计算过程,提高了验证签名的效率。
如图8所示,图8为本发明实施例提供的一种共识方法测试结果折线图,其中,本次测试模拟了0-128个节点在同一服务器中进行400次交易的结果,每次交易的大小为128字节。
图8中的横坐标为节点个数,纵坐标为吞吐量(单位:交易数/秒),折线A为本发明的共识方法所对应的折线,折线B为传统的拜占庭共识方法(Redundant Byzantine FaultTolerance,RBFT)对应的折线,折线C为Hotstuff共识方法对应的折线。
针对本次测试的测试环境,具体如下表一所示:
表一
Figure BDA0002577489000000151
由图8可知,本发明的共识方法的吞吐量性能明显优于RBFT,平均提升了约51%,本发明的共识方法与Hotstuff相比,当节点数增多时,本发明的共识方法的吞吐量优于Hotstuff,提升约8%。
基于相同的技术构思,本发明实施例还提供了一种共识装置,该装置应用于区块链中的任一从节点,如图9所示,该装置包括:本地事件缓存池模块91、接收模块92和发送模块93;
本地事件缓存池模块91,用于响应于接收到事件信息,确定事件信息中包括的事件标识;
本地事件缓存池模块91,还用于确定本地事件缓存池中各已缓存的事件信息各自的事件标识;
本地事件缓存池模块91,还用于响应于本地事件缓存池中不存在事件信息的事件标识,将事件信息缓存至本地事件缓存池中;
接收模块92,用于响应于新一轮共识流程开始,接收第一主节点广播的包括事件信息的封装文件,第一主节点为区块链中每轮共识流程中的主节点;
发送模块93,用于基于封装文件,向第二主节点发送投票信息,第二主节点为区块链中每轮共识流程的下一轮共识流程的主节点。
可选的,
发送模块93,还用于将事件信息在区块链中进行广播。
可选的,该装置还包括:
启动模块,用于响应于新一轮共识流程开始,启动超时时长为第一预设时长的超时计时器;
发送模块93,还用于响应于在第一预设时长内未接收到第一主节点广播的批处理文件,在区块链中广播超时信息,超时信息包括:下一轮共识流程的轮次数和从节点的签名;
启动模块,还用于响应于下一轮共识流程开始,启动超时时长为第二预设时长的超时计时器,第二预设时长为基于预设规则以及第一预设时长计算得到。
可选的,该装置还包括:
确定模块,用于确定预设数量个源节点;
发送模块93,还用于向预设数量个源节点发送数据获取请求,数据获取请求用于请求获取从节点未执行的事件的数据;
执行模块,用于响应于接收到源节点发送的响应信息,存储并按序执行响应信息包括的从节点未执行的事件。
可选的,该装置还包括:
更新模块,用于更新预设数量个源节点的评分,评分用于表征源节点在区块链中的进度。
可选的,投票信息包括:从节点的签名;
该装置还包括:
计算模块,用于基于预计算结果,验证区块链中任一节点的签名,预计算结果为验证区块链中任一节点的签名过程中常用数据的计算结果。
通过本发明实施例,区块链中的任一从节点可以在共识过程中接收事件信息,然后通过接收到的事件信息的事件标识,以及本地事件缓存池中已缓存的事件信息各自的事件标识进行去重判断,达到针对一个事件进行一次共识的目的,即避免了重复共识,降低了网络带宽以及处理器运算量,进而使得系统性能显著上升。
基于相同的技术构思,本发明实施例还提供了一种共识装置,该装置应用于第一主节点,第一主节点为区块链中每轮共识流程中的主节点,该装置包括:本地事件缓存池模块101、生成模块102和发送模块103;
本地事件缓存池模块101,用于响应于接收到事件信息,确定事件信息中包括的事件标识;
本地事件缓存池模块101,还用于确定本地事件缓存池中各已缓存的事件信息各自的事件标识;
本地事件缓存池模块101,还用于响应于本地事件缓存池中不存在事件信息的事件标识,将事件信息缓存至本地事件缓存池中;
生成模块102,用于响应于新一轮共识流程开始,生成包括事件信息的封装文件并在区块链中进行广播;
发送模块103,用于基于封装文件,向第二主节点发送投票信息,第二主节点为区块链中每轮共识流程的下一轮共识流程的主节点。
可选的,
发送模块103,还用于将事件信息在区块链中进行广播。
可选的,封装文件包括:法定人数证书;法定人数证书为基于预设的签名聚合算法,聚合多个签名后得到的聚合签名。
可选的,投票信息包括:第一主节点的签名;
该装置还包括:
计算模块,用于基于预计算结果,验证区块链中任一节点的签名,预计算结果为验证区块链中任一节点的签名过程中常用数据的计算结果。
通过本发明实施例,区块链中每轮共识流程的主节点可以在共识过程中接收事件信息,然后通过接收到的事件信息的事件标识,以及本地事件缓存池中已缓存的事件信息各自的事件标识进行去重判断,达到针对一个事件进行一次共识的目的,即避免了重复共识,降低了网络带宽以及处理器运算量,进而使得系统性能显著上升。
图11是本发明实施例的电子设备的示意图。如图11所示,图11所示的电子设备为通用地址查询装置,其包括通用的计算机硬件结构,其至少包括处理器111和存储器112。处理器111和存储器112通过总线113连接。存储器112适于存储处理器111可执行的指令或程序。处理器111可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器111通过执行存储器112所存储的指令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线113将上述多个组件连接在一起,同时将上述组件连接到显示控制器114和显示装置以及输入/输出(I/O)装置115。输入/输出(I/O)装置115可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置115通过输入/输出(I/O)控制器116与系统相连。
本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。
这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。
也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
本发明的另一实施例涉及一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种共识方法,其特征在于,所述方法应用于区块链中的任一从节点,所述方法包括:
响应于接收到事件信息,确定所述事件信息中包括的事件标识;
确定本地事件缓存池中各已缓存的事件信息各自的事件标识;
响应于所述本地事件缓存池中不存在所述事件信息的事件标识,将所述事件信息缓存至所述本地事件缓存池中;
响应于新一轮共识流程开始,接收第一主节点广播的包括所述事件信息的封装文件,所述第一主节点为所述区块链中每轮共识流程中的主节点;
基于所述封装文件,向第二主节点发送投票信息,所述第二主节点为所述区块链中每轮共识流程的下一轮共识流程的主节点。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于新一轮共识流程开始,启动超时时长为第一预设时长的超时计时器;
响应于在第一预设时长内未接收到第一主节点广播的批处理文件,在所述区块链中广播超时信息,所述超时信息包括:下一轮共识流程的轮次数和所述从节点的签名;
响应于下一轮共识流程开始,启动超时时长为第二预设时长的超时计时器,所述第二预设时长为基于预设规则以及所述第一预设时长计算得到。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定预设数量个源节点,向所述预设数量个源节点发送数据获取请求,所述数据获取请求用于请求获取所述从节点未执行的事件的数据;
响应于接收到源节点发送的响应信息,存储并按序执行所述响应信息包括的所述从节点未执行的事件。
4.根据权利要求3所述的方法,其特征在于,在所述响应于接收到源节点发送的响应信息,存储并按序执行所述响应信息包括的所述从节点未执行的事件的数据之后,所述方法还包括:
更新所述预设数量个源节点的评分,所述评分用于表征源节点在所述区块链中的进度。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述投票信息包括:所述从节点的签名;
所述方法还包括:
基于预计算结果,验证所述区块链中任一节点的签名,所述预计算结果为验证所述区块链中任一节点的签名过程中常用数据的计算结果。
6.一种共识方法,其特征在于,所述方法应用于第一主节点,所述第一主节点为所述区块链中每轮共识流程中的主节点,所述方法包括:
响应于接收到事件信息,确定所述事件信息中包括的事件标识;
确定本地事件缓存池中各已缓存的事件信息各自的事件标识;
响应于所述本地事件缓存池中不存在所述事件信息的事件标识,将所述事件信息缓存至所述本地事件缓存池中;
响应于新一轮共识流程开始,生成包括所述事件信息的封装文件并在所述区块链中进行广播;
基于所述封装文件,向第二主节点发送投票信息,所述第二主节点为所述区块链中每轮共识流程的下一轮共识流程的主节点。
7.根据权利要求6所述的方法,其特征在于,所述封装文件包括:法定人数证书;所述法定人数证书为基于预设的签名聚合算法,聚合多个签名后得到的聚合签名。
8.根据权利要求7所述的方法,其特征在于,所述投票信息包括:所述第一主节点的签名;
所述方法还包括:
基于预计算结果,验证所述区块链中任一节点的签名,所述预计算结果为验证所述区块链中任一节点的签名过程中常用数据的计算结果。
9.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-8中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的方法。
CN202010658087.7A 2020-07-09 2020-07-09 共识方法、装置、电子设备和可读存储介质 Pending CN111866106A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010658087.7A CN111866106A (zh) 2020-07-09 2020-07-09 共识方法、装置、电子设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010658087.7A CN111866106A (zh) 2020-07-09 2020-07-09 共识方法、装置、电子设备和可读存储介质

Publications (1)

Publication Number Publication Date
CN111866106A true CN111866106A (zh) 2020-10-30

Family

ID=73152576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010658087.7A Pending CN111866106A (zh) 2020-07-09 2020-07-09 共识方法、装置、电子设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN111866106A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821569A (zh) * 2021-09-30 2021-12-21 广州智链未来科技有限公司 一种区块链的共识方法及区块链
CN116260707A (zh) * 2023-05-15 2023-06-13 安徽中科晶格技术有限公司 基于共识的区块链节点灾备方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9172670B1 (en) * 2012-01-31 2015-10-27 Google Inc. Disaster-proof event data processing
US20180285869A1 (en) * 2017-03-28 2018-10-04 Alibaba Group Holding Limited Method and apparatus for processing transaction requests
CN110609872A (zh) * 2019-09-20 2019-12-24 北京海益同展信息科技有限公司 用于同步节点数据的方法和装置
CN111066046A (zh) * 2019-04-26 2020-04-24 阿里巴巴集团控股有限公司 抗重放攻击认证协议
CN111262921A (zh) * 2020-01-13 2020-06-09 北京百度网讯科技有限公司 基于区块链网络的应用请求处理方法、装置、设备和介质
CN111260396A (zh) * 2020-01-13 2020-06-09 腾讯科技(深圳)有限公司 一种广告预加载方法、装置、电子设备及存储介质
CN111371744A (zh) * 2020-02-21 2020-07-03 重庆邮电大学 一种基于分布式密钥的拜占庭容错共识方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9172670B1 (en) * 2012-01-31 2015-10-27 Google Inc. Disaster-proof event data processing
US20180285869A1 (en) * 2017-03-28 2018-10-04 Alibaba Group Holding Limited Method and apparatus for processing transaction requests
CN111066046A (zh) * 2019-04-26 2020-04-24 阿里巴巴集团控股有限公司 抗重放攻击认证协议
CN110609872A (zh) * 2019-09-20 2019-12-24 北京海益同展信息科技有限公司 用于同步节点数据的方法和装置
CN111262921A (zh) * 2020-01-13 2020-06-09 北京百度网讯科技有限公司 基于区块链网络的应用请求处理方法、装置、设备和介质
CN111260396A (zh) * 2020-01-13 2020-06-09 腾讯科技(深圳)有限公司 一种广告预加载方法、装置、电子设备及存储介质
CN111371744A (zh) * 2020-02-21 2020-07-03 重庆邮电大学 一种基于分布式密钥的拜占庭容错共识方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李晖,李丽香,邵帅: "《对称密码学及其应用》", 北京邮电大学出版社, pages: 83 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821569A (zh) * 2021-09-30 2021-12-21 广州智链未来科技有限公司 一种区块链的共识方法及区块链
CN113821569B (zh) * 2021-09-30 2024-02-06 广州智链未来科技有限公司 一种区块链的共识方法及区块链
CN116260707A (zh) * 2023-05-15 2023-06-13 安徽中科晶格技术有限公司 基于共识的区块链节点灾备方法、装置、设备及存储介质
CN116260707B (zh) * 2023-05-15 2023-10-10 安徽中科晶格技术有限公司 基于共识的区块链节点灾备方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
US9419804B2 (en) Data authenticity assurance method, management computer, and storage medium
CN109361740B (zh) 一种区块链的区块生成方法、装置、设备和介质
WO2021082757A1 (zh) 一种基于区块链系统的数据处理方法及装置
CN111949672B (zh) 一种支持物联网数据增量更新的区块链存储方法
CN111466096A (zh) 提供不可变记录的系统和方法
CN110647503A (zh) 一种分布式存储方法及装置
AU2018430192A1 (en) Blockchain system and method
US11899689B2 (en) Blockchain-based data synchronization method, apparatus, and computer-readable storage medium
CN108848148B (zh) 基于区块链的交易信息确认方法及装置
CN112714192B (zh) 数据同步方法、装置、计算机可读介质及电子设备
CN110958249B (zh) 信息处理方法、装置、电子设备及存储介质
CN111866106A (zh) 共识方法、装置、电子设备和可读存储介质
GB2610107A (en) Faster view change for blockchain
CN108764902B (zh) 用于存储数据的方法、节点和区块链系统
EP4207688A1 (en) Asynchronous bookkeeping method and apparatus for blockchain, medium, and electronic device
CN112163412B (zh) 数据校验方法、装置、电子设备及存储介质
CN105577701A (zh) 网络爬虫的识别方法及系统
CN112492048B (zh) 消息同步方法、装置、电子设备及可读存储介质
CN113411404A (zh) 一种文件下载方法、装置、服务器及存储介质
CN109219816B (zh) 在数据结构中创建可被加密证明包含有效数据的数据链的设备和方法
CN111400270B (zh) 一种基于区块链的文件授时的方法和装置
JP5768722B2 (ja) 検証試験のためのプログラム、情報処理方法及び情報処理装置
CN113347219A (zh) 区块链节点共识的方法和装置
CN110570309A (zh) 用于更换区块链网络的领导者的方法和系统
WO2023019841A1 (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