CN112541758A - 基于区块链的多轮投票式容错排序共识机制与方法 - Google Patents

基于区块链的多轮投票式容错排序共识机制与方法 Download PDF

Info

Publication number
CN112541758A
CN112541758A CN202011377878.9A CN202011377878A CN112541758A CN 112541758 A CN112541758 A CN 112541758A CN 202011377878 A CN202011377878 A CN 202011377878A CN 112541758 A CN112541758 A CN 112541758A
Authority
CN
China
Prior art keywords
node
transaction
consensus
block
verification
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
CN202011377878.9A
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202011377878.9A priority Critical patent/CN112541758A/zh
Publication of CN112541758A publication Critical patent/CN112541758A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • 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

Abstract

一种基于区块链的多轮投票式容错排序共识机制与方法,包括共识与记账过程中的服务节点;通过服务节点进行交易发起与排序,获得合法的交易后放入交易池交易,再进入多轮投票共识;投票共识中经过服务节点对交易数据进行多轮共识验证与执行;共识完成后,区块链多通道账本同步更新记账,将共识成功的交易发给所述排序节点排序出块,记账节点去验证接收到的区块交易,验证后更新其状态数据库,添加新区块到主链,后进入新一轮的共识验证与执行工作。本发明可以保证全局正确共识的达成,容错性较高,适合拥有大量节点的联盟链。当大量验证节点发生故障时,系统将停止工作,更加保障区块链的安全性,防止双花问题。

Description

基于区块链的多轮投票式容错排序共识机制与方法
技术领域
本发明涉及一种多轮投票机制与方法,具体是一种基于区块链的多轮投票式容错排序共识机制与方法。
背景技术
区块链(Blockchain)的技术架构理念最早出现在一篇名为《Bitcoin:A Peer-to-Peer Electronic Cash System》的论文,其作者自称中本聪,提出支撑比特币系统无第三方维护、安全稳定运行多年的底层技术是一种基于P2P组网技术、数学、密码学技术、演算法与经济模型等技术的组合创新技术。
区块链是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
根据经济学人《信任的机器-区块链的承诺》,区块链的本质是一个可共享的、可信任的、每个人都可以检查的公开账本,但是没有任何一个单一用户能够控制它。整个区块链系统的参与者一起来不断更新,让这本总账本为最新:它能够且只能按照严格的规则和公开的协议来进行修订。
共识机制作为区块链的核心技术之一,能够保障上链数据始终分布式一致性。共识机制本质上是区块链网络里多个互不信任的节点遵循一定的预设规则参与共识对事务或状态的验证、记录、修改等行为及其结构达成一致确认,防止数据被篡改。公有链(PublicBlockchain),如比特币系统,是典型的完全去中心化的单链模型,全球所有节点无需经过严格的身份审核便可自由参与交易和公开查询交易,所有交易混合发生在一条链上导致高并发,PoW(Proof of Work,工作量证明)机制进一步造成交易吞吐量低下、交易延迟过高等问题;超过全网51%算力原则保障数据不可篡改,但同时致使每个节点很难把控自身交易的隐私性。相对比之下,私有链(Private Blockchain),与公有链截然不同,是典型偏中心化的单链模型,链的读写权限掌握在单个组织或机构手里,该组织根据自身需求决定链的公开程度,链上交易可依托少量、高信任节点进行快速验证,但由于交易共识过程中权威组织的控制权力过大,导致很容易出现传统中心化管控模式下的信任问题。为了提升交易吞吐量、交易延迟、数据管理等方面的扩展性,一般采用联盟链、多链、侧链等区块链架构。联盟链(Consortium Blockchain),允许特定的联盟成员/组织经过授权后加入区块链网络参与和集体维护交易,交易是由每个组织内高信任的节点执行共识验证,在保证联盟链网络获得较高性能的同时,也利于联盟监管来提升数据安全性。
目前提升联盟链的性能之一便是优化共识算法,当前使用最多的共识分为CFT(故障容错)BFT(拜占庭容错)类算法。CFT的典型代表为Paxos算法,即在出现诸如机器宕机或网络异常(包括消息的延迟、丢失、重复、乱序,网络分区)等情况的分布式系统中,快速且正确地在集群内部对某个数据的值或交易达成一致。BFT(拜占庭容错),其典型代表为PBFT(实用拜占庭容错算法),即容许不超过1/3的作恶节点来对数据值或交易达成一致。一个拥有3f+1个节点的区块链网络,对每个交易请求达成共识的条件是:联盟中输入正确、一致的交易请求后,正常节点需接收到该信息,且产生相同的输入结果,从而完成对交易的一致性验证。
本专利在考虑联盟链架构前提下,提出一种多轮投票式的共识机制,该共识机制里任意已授权组织里的节点将交易传递给排序节点(Orderer)时,交易会通过Order方法和Configure方法将交易串行化,经合法检验后再放入交易池(TxPool),打包交易池里的交易,再将进入多个验证节点的多轮投票共识;共识完成后,通过Deliver Tx和Commit方法获取共识的交易,会在验证节点中创建LevelDB的账本,更新ABCI状态数据库,与此同时,排序节点会自行调用CreatBlock和WriteBlock方法打包生成区块,并在对应通道中进行写块,即完成交易共识与全信道数据记账。当某个排序节点的区块高度比其他验证节点小时,会触发追块功能,从验证节点中读取交易后写入自己的账本,同时写入对应通道的区块中。
本专利针对3f+1个验证节点组成的区块链,即使有f个节点出现故障、宕机、恶意欺骗等拜占庭错误,也可以保证全局正确共识的达成,容错性较高,适合拥有大量节点的联盟链。当超过f个验证节点发生故障时,系统将停止工作,更加保障区块链的安全性,防止双花问题。
此项专利申请所要解决的技术问题:
(1)当前主流的共识机制更加适用于公有链与私有链,包括PoW、PoS、DPoS等,然而目前区块链技术更多应用于跨机构间协作,注册许可的区块链,即联盟链更适合商业场景。本专利提出的共识机制是针对联盟链而设计,引入排序、通道、容错等特性,链由联盟成员共同控制和维护,“适度去中心化”使交易处理效率和网络性能、及数据安全管控上优于“公有链、私有链”。
(2)PoW(Proof of Work,工作量证明)共识机制,也是比特币公链系统采用的共识机制,通过强大算力来获得符合要求的随机数(Nonce)以此争夺区块记账权,需要消耗大量CPU、内存、网络资源,且每笔交易确认时间较长,不适合交易处理性能要求较高的企业级区块链应用系统。本专利无需依靠算力争夺记账权,交易被提交、广播后,由多个指定的验证节点同步记账,提高了交易验证效率。
(3)PoS(Proof of Stake,权益证明)共识机制,要求节点提供一定数量、且持有一定时间的代币证明来竞争区块链记账权,权益体现为币龄,即特定数量的币与其最后一次交易的时间长度的乘积,币龄越大则获得记账权的可能性就越大,这种共识机制会导致记账决策趋于中心化,失去公平性,削弱了持币较少节点的记账积极性,确认时间长、易分叉。本专利中没有引入币龄概念,是通过多轮投票来完成共识,并基于多通道的账本区块写入方法来完成所有节点的交易同步。
(4)DPoS(Delegated Proof of Stake,股份授权证明)共识机制,解决了PoW大量能源过耗的问题和PoS中可能产生的信任天平偏颇的问题,将每个币视为一张选举票,币的拥有者根据其持有的数量,来投票给自己信任的受托人,或称之为超级节点,由超级节点来执行对交易收集、打包、广播、验证、上链等工作,尽管DPoS降低了能耗、可以实现快速共识验证,但同样需要依赖代币,此外,由于投票需要时间、精力,因此大多数持股人投票的积极性不高,投票选举不能及时有效地阻止一些破坏节点的出现,给网络造成了安全隐患。本专利的交易排序、提交、共识验证、状态库的更新等工作都分流给不同节点来执行,降低节点控制权过大的问题,避免系统因过于中心化而导致的交易上链的公平、公正、可信。
(5)PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错)共识机制,是目前联盟链里较为常见的共识算法。它是针对状态机复制为主的分布式系统执行的算法,其计算效率过于依赖参与协议的节点数量,不适用于节点数量过大的区块链,同时系统节点是事先固定,要求总节点数量N≥3f+1,即只有拜占庭节点数量不超过全网1/3才能正常共识,提供容错性相对较低。本专利提出在全网N2通信量中,超过至少的N2×(2/3)数量的交易提交确认消息才能提交区块,提供更高的容错性。
(6)DBFT(Delegated Byzantine Fault Tolerance,授权拜占庭容错机制)共识机制,普通节点基于持有的权益的比例来投票选举记账节点,再从这些记账节点中随机选出一名“发言人”拟定方案,然后由其他记账节点根据BFT算法,少数服从多数的原则,如果超过66%的节点表示同意发言人方案,则共识达成,否则重新选举发言人,重复投票。然这种共识机制存在缺陷是,当系统中有超过三分之一的记账节点停止工作或联合作恶时,整个网络将无法正常运行或可能分叉。本专利交易被验证的标准是验证节点的权益数,也就是投票权力,即使有个节点出现故障、宕机、恶意欺骗等拜占庭错误,也可以保证全局正确共识的达成,容错性较高。
发明内容
本发明的目的是提供一种基于区块链的多轮投票式容错排序共识机制与方法,以解决上述问题的至少一个方面。
根据本发明的一方面,本专利在考虑联盟链架构前提下,提出一种基于区块链的多轮投票式容错排序共识机制与方法,包括共识与记账过程中的服务节点,服务节点包括核心节点、提议节点、验证节点、记账节点、排序节点、CA节点;
通过CA节点、排序节点、验证节点进行交易发起与排序,获得合法的交易后放入交易池交易,再进入多轮投票共识;
投票共识中经过所述核心节点以提议节点、验证节点、记账节点对交易数据进行多轮共识验证与执行,依次进入提议阶段、预投票阶段、预提交阶段、提交阶段、上链阶段;
共识完成后,区块链多通道账本同步更新记账,将共识成功的交易发给所述排序节点排序出块,记账节点去验证接收到的区块交易,验证后更新其状态数据库,添加新区块到主链,后进入新一轮的共识验证与执行工作。
共识与记账过程中涉及以下节点:
核心节点:承担着提议、验证与记账功能,它是角色动态变化的节点,根据组织给应用程序的指令可以变成提议节点、验证节点或记账节点;
提议节点:负责对交易出块,并提议开始新一轮共识验证;
验证节点:负责对交易区块进行验证投票与有效性确认;
记账节点:负责对排序后的交易进行落盘前的校验,维护区块链账本结构,对区块进行落盘(写入账本);
排序节点:对根据业务函数来合法性校验后的,及多轮投票共识验证后的交易进行全局排序;
CA节点:负责网络中所有证书的管理,实现标准PKI的CA数字身份认证。
优选的,用户首先获取合法的身份证书加入到区块链网络中,不同组织里的用户可以通过客户端在应用层发起交易记账请求,或通过DAPP(分布式应用)发起智能合约交易,交易广播传递给排序节点(Orderer)后,会通过Order方法和Configure方法将交易串行化,经合法签名验证、业务函数检验后再放入交易池,打包交易池里的交易后,再将进入多轮投票共识。
优选的,共识验证时,联盟各组织指定多个核心节点以提议节点、验证节点、记账节点的角色参与交易共识与记账;根据非阻塞轮询选择算法从核心节点集合中随机选择某一核心节点为提议节点,由提议节点对即将验证的区块进行提议,待区块在T1时间内接收到合法区块后,则进入预投票阶段。验证节点对交易区块进行签名校验,待在T2时间内收集到足够多(大于2/3投票量)的肯定验证消息后,则进入预提交阶段。验证节点待在T3时间内收集到超过2/3数量的任意确认可以预提交的消息后,则提议区块可以认为达成一致性共识,可有效上链。
优选的,共识完成后,将一定时间内共识成功的交易发给排序节点全局排序出块,记账节点基于其应用状态机中封装的应用逻辑、当前状态和交易的加密证书,去验证接收到的区块交易,交易经过验证后,再去更新其状态数据库,比如通过将绑定一个值到键值存储。将添加新区块到联盟通道里的主链,区块高度增一,提议节点索引也增1,然后进入新一轮的共识验证与执行工作。
在该单通信渠道的联盟链中,仅加入该通信渠道的成员才能记账和查询交易,每个通道都含有一个区块链和账本。在这里联盟链,可以看作是单通信渠道的的多链多账本系统。
当某个排序节点的区块高度比其他验证节点小时,会触发追块功能,从验证节点中读取交易后写入自己的账本,同时写入对应通道的区块中。
本专利针对3f+1个验证节点组成的区块链,即使有f个节点出现故障、宕机、恶意欺骗等拜占庭错误,也可以保证全局正确共识的达成,容错性较高,适合拥有大量节点的联盟链。当超过f个验证节点发生故障时,系统将停止工作,更加保障区块链的安全性,防止双花问题。
本发明的有益效果是:(1)本专利中构造的验证节点,包含共识算法、P2P通信、加密算法、区块链账本、RPC接口等模块组件,开发人员只需根据区块链应用开发接口即可快速部署出所需的区块链应用系统,降低开发和使用成本。
(2)本专利提出的共识算法里,在任何一个确定的区块中,由排序节点进行交易序列化,使用算法从验证节点集合中选择出一匿名节点作为共识的提议者,如果区块被超过2/3的验证节点在预投票和预提交阶段签名并且包含的交易是有效的,这个区块被认为是有效的,同时还需通过排序节点的区块高度比对来完成多通道的账本同步更新。换句话说,整个共识过程并非依赖单一角色节点完成,而是多个角色节点协同完成,且依赖纯数据算法来选择共识利益相关方和完成共识,更大程度保障交易的有效性确认地公正、公平,防止过于中心化而造成的交易篡改的可能性。
(3)传统拜占庭算法N≥3f+1要求标准至少2/3的节点是诚实节点,而对于拜占庭节点数量在1/3和2/3之间时,PBFT是无法提供共识一致性保证,攻击者可以将任意结果返回给客户端,即便这个结果是错误的。本专利验证节点选择标准为P2P通信下每个节点广播发出和接收到的投票或提交确认的消息,网络通信最大为N2,验证标准为获取至少的N2×(2/3)数量的交易提交确认消息才能提交区块,例如,如果1/2的验证节点是拜占庭节点,即便它们全部都联合投票给一虚假或被篡改的区块,也达不到全网2/3的投票量,自然也就可以阻止恶意区块的提交。因此,从某种意义上说,本专利提供更高的容错性,在验证节点集合为N≥3f+1的区块链中,即使有f个节点出现拜占庭错误,如传递消息被恶意篡改、节点不按照协议进行处理等,也可以保证全局正确共识的达成。
(4)本专利中验证节点对交易一轮一轮的投票和广播,积累足够数量的有效消息达成“少数服从多数”一致性,以此来抵消节点故障、离线、作恶、网络通信延迟等问题,在极端情况下,当出现超过f个验证节点发生消息延迟和不可送达的故障时,系统将自动停止工作,保障交易安全。
(5)本专利提出验证节点永远不会对同一高度重复提交区块而造成冲突,因为一旦某一验证节点对提议区块进行了预投票,要么在限定时间内该验证节点获得足够票数使区块进入预提交阶段,要么失败,参与下一轮共识,即对于验证节点而言,参与共识的行为是锁定在特定区块且呈现时间线性,可以防止分叉。因此,此共识机制对交易是即时的最终确定性,一旦区块被创建,用户便可放心确认该区块达成了最终共识,而非PoW等共识机制的交易确定是一种概率性。
(6)本专利中排序节点对共识机制后续的多通道账本的同步起着至关重要的作用,交易记账不再局限某一单链,而是扩展为多通道“多链”概念,一方面可以提升联盟链的扩展性,另一方面隔离通道中的交易记账有利于企业级数据隐私保护。
附图说明
图1是本发明的应用架构图;
图2是区块链应用系统的基础应用架构图;
图3是基础通信架构图;
图4是联盟链的通信架构;
图5是核心节点的基础架构;
图6是交易共识机制;
图7是交易多通道账本同步工作流程共识的容错机制。
具体实施方式
下面结合附图说明和实施例对本发明做进一步的说明。
图2.区块链应用系统的基础应用架构
通常区块链应用系统从基础应用架构上可分为:呈现层、应用层、业务层和数据层。
呈现层:通过PC终端、移动终端以Web应用和移动APP形式向用户呈现系统功能,包含用户界面,比如注册界面、交易界面、应用管理界面等。
应用层:根据用户的输入数据判断出具体的业务,然后调用相应的业务处理接口。如果为企业传统内部业务则通过传统的业务接口(如数据库)处理,如果为区块链业务则通过区块链智能合约调用接口处理。
业务层:封装了系统的全部业务逻辑,包括企业内部传统业务逻辑、企业内的区块链业务逻辑、及跨企业组成联盟链业务逻辑,涉及区块链的业务逻辑需要通过智能合约实现。
数据层:封装了底层数据资源,对于企业传统内部业务可直接存储于传统数据库,而对于涉及区块链业务逻辑的数据,即区块链账本,包括World/Ledger State(世界状态)和区块链。世界状态通常用数据库保存,即数据库存储了交易日志中所有Key-Value(键值)的最新值,可选择基于LevelDB或CouchDB实现,应用程序更多的时候需要获取账本当前的状态值。区块链与World State不同,通常使用文件保存,即以链式数据结构记录着决定World State状态的交易日志,交易的信息会收集起来以区块形式追加到区块链,一旦写入,不可篡改。
2通信架构
基于区块链的应用系统里,交易从发起到被分布式共识验证、直至存储于区块链上(简称“上链”)这整个通信过程中涉及到的主体与节点如下:
用户:交易的发起者,交易包括用户通过客户端发起数字资产转账交易,或创建、调用智能合约交易。三种交易格式如下:
数字资产转账交易:″from A,to B,value C″表示从外部账户A向外部账户B转账,转账资产价值/金额为C;
智能合约创建交易:″from A,to(空),value C,data D″表示外部账户A创建一个智能合约,向该合约账户里转账C,合约代码为D;
智能合约调用交易:″from A,to E,data F″表示外部账户A调用合约账户E的智能合约,本次调用传入的参数为F。
客户端:通常为PC终端、手机移动终端等客户端,帮助用户完成全网内通信,负责与用户交互,收发交易、消息、支付验证等功能。客户端与区块链网络之间交易信息(Tx)交互可以通过以下两种模式(图3)完成:
一是目前使用最广泛、典型“中心化系统+区块链后端”部署架构,即中心化应用服务器通过RPC/IPC与区块链进行信息交互,中心化应用程序可以实现丰富的业务逻辑,并通过智能合约将指定的核心数字资产或数据上链。
二是在客户端上安装DAPP(Decentralized Application,去中心化应用或分布式应用),DAPP本质可看作是前端界面+智能合约,前端是用于和用户交互,用户可以选择各种命令,智能合约是用于和区块链(分布式数据库)交互,所有业务逻辑由智能合约标识,客户端基于浏览器(Web3.js),无服务器,代码和数据直接放在分布式数据库。
图1中,提出一种基于区块链的多轮投票式容错排序共识机制与方法,包括共识与记账过程中的服务节点,服务节点包括核心节点、提议节点、验证节点、记账节点、排序节点、CA节点;
通过CA节点、排序节点、验证节点进行交易发起与排序,获得合法的交易后放入交易池交易,再进入多轮投票共识;
投票共识中经过所述核心节点以提议节点、验证节点、记账节点对交易数据进行多轮共识验证与执行,依次进入提议阶段、预投票阶段、预提交阶段、提交阶段、上链阶段;
共识完成后,区块链多通道账本同步更新记账,将共识成功的交易发给所述排序节点排序出块,记账节点去验证接收到的区块交易,验证后更新其状态数据库,添加新区块到主链,后进入新一轮的共识验证与执行工作。
图4是区块链应用系统的基础通信架构,其中节点可以是联盟链、私有链,甚至公有链的节点。由于本专利中共识机制是为用于支撑企业级区块链平台,方便研发人员采用模块化共识服务来快速构建区块链应用。因此,引入了以下相关节点:
①核心节点:承担着提议、验证与记账功能,它是角色动态变化的节点,根据组织给应用程序的指令可以变成提议节点、验证节点或记账节点。
②验证节点:或称之为共识节点,负责在共识过程中对区块进行提议、投票、及提交等操作,每轮共识过程中,会由不同的单个随机验证节点轮流出块提议,再广播给其余验证节点,不同的验证节点在投票过程可能具备不同的投票权重,所有验证节点组成验证节点集群。所有验证节点共同组成“验证节点集合”,支持超过法定验证节点对增加新验证节点或删除某验证节点进行会员批准,即验证节点集合是动态变更的。
③提议节点:负责对交易出块,并提议开始新一轮共识验证,提议节点是根据非阻塞轮询选择算法从验证节点集合中选出,验证节点的投票权重越大,则被选中成为提议节点的频率越高。例如,解析创世区块的genesis.json,会获取验证节点V_(N_1)(192.168.1.110)的pub_key和power,power即为投票权重,然后对验证节点的Accum进行赋值,即为验证节点的权重值,选择当次Accum值最大的为提议节点,同时对提议节点的Accum值减去所有验证节点power的总和,则验证节点在不断更新。
④记账节点:负责对排序后的交易进行落盘前的校验,维护区块链账本结构,对区块进行落盘(写入账本)。
⑤排序节点:负责对所有交易进行全局时间排序,排序节点按照一定规则确定交易顺序之后,发给各个节点把交易持久化到区块链账本中,排序节点支持互相隔离的多个通道,使得合法交易只发送给相关的节点。即为网络中所有合法交易进行全局排序。
⑥CA节点:负责网络中所有证书的管理,实现标准PKI的CA数字身份认证。
1.核心节点的基础架构
验证节点作为共识机制核心,直接决定共识服务能否顺利实施,本专利中的验证节点含有应用模块、共识模块、P2P网络模块、加密模块、数据库模块(图5)。
①应用状态机模块:交易的真正执行者,对交易进行应用逻辑处理,并可选地针对某些持久状态执行事务,同时应用状态数据。
②共识算法模块:确保不同节点以相同的应用逻辑对不同交易进行有序的记账与多节点事务同步。
③P2P通信模块:通过Gossip实现节点与节点之间的通信。
④加密模块:运用一种混合加密机制,即采用对称加密技术对交易信息加密,最常见对称加密算法包括:DES、3DES、AES、RC4,由于DES、3DES这种分组加密算法运行较慢,本专利采用AES;同时采用非对称加密技术对公钥和私钥对加密,是一种数字签名的过程,常见的数字签名算法包括:RSA、DSA、ECDSA三种。
⑤账本模块:数据区块验证通过,则将区块写入到本地的区块链账本,同时将区块中合法、有效的最新交易写入到状态数据库中完成记账,区块则追加至区块链末端。
⑥应用区块链接口,也是一个协议,支持让交易能够用任何编程语言进行处理。当区块链接收到应用层发起的交易时,通过接口发送交易(Tx),并调用区块链服务的节点,执行共识服务。
⑦RPC:区块链对外接口,支持三种访问方式:URI over HTTP、JSONRPC overHTTP、JSONRPC over websockets。
2.交易发起、共识验证与执行工作流程
本专利提出区块链分布式应用系统的交易共识验证与执行工作流程,包括如下步骤(图6):
(1)交易发起与排序
①用户经过CA认证授权加入到区块链网络,客户端代理用户发起交易(Tx),通过RPC接口将交易(Tx)传输给排序节点;
②排序节点收集到交易(Tx)后,交易会通过Order方法和Configure方法将交易(Tx)序列化,并通过应用区块链接口调用应用逻辑(也是状态转移函数)进行初步校验,确认交易是否合规,比如应用逻辑可能会检查在交易中不断增长的序列号,如果序列号过时,则校验不通过,或校验发送者余额、或对交易的容量有一定要求;
③经过应用逻辑校验,检查认为是合法交易,则将该交易(Tx)放入交易池(TxPool)里,若不合法,直接拒绝。
(2)交易数据多轮共识验证与执行
④提议阶段:在内含m个核心节点集群
Figure BDA0002808614270000141
中随机选择一个核心节点
Figure BDA0002808614270000142
作为提议节点,提议节点开始监听并收集交易池里的合法交易,将一段时间内的交易打包成区块并提议,即向全网验证节点进行广播,此时验证节点会启动一个计时器,设置超时时间为T1;如果在时间T1内验证节点收到提议节点发来的区块,则进入预投票阶段,则进入预投票阶段,如果接收区块超时,则认为这个提议节点出现故障、掉线、离线或网络较慢,跳过正常共识流程,紧接执行步骤5。
⑤预投票阶段:验证节点在时间T1内接收到区块后,读取区块里的所有交易,一一进行签名验证,详细验证方法请见步骤4;如果验证该区块里所有交易有效且从未存在过的,则向全网广播认可该区块有效的肯定票消息,如果验证时发现该区块里含有非法交易,则向全网广播该区块有效的否决票消息;由于每个验证节点既会发出投票消息,又会收集其他验证节点的投票消息,当在计时器设置超时时间T2内收集到的肯定票超过2/3数量的任意预投票时,则提议区块进入预提交阶段,反之,则中断预投票行为,等待重新参与新一轮共识。
⑦预提交阶段:当验证节点在时间T2内收集到足够多(大于2/3投票量)的肯定票后,读取区块里的所有交易,进行签名验证;如果确认该区块可以提交上链,则向全网广播确认该区块预提交的消息点,如果该区块不可以提交,否决该区块,则将该区块不能预提交的消息广播;当在计时器设置超时时间T3内收集到超过2/3数量的任意确认可以预提交的消息后,则提议区块进入正式提交阶段,反之,则中断预提交行为,等待重新参与新一轮共识。
⑧提交阶段:当验证节点在时间T3内收集到足够多的确认可以预提交消息,说明这个提议区块是得到大多数人的同意,可以将该区块追加至区块链主链末尾。
⑨上链阶段:将一定时间内共识成功的交易发给排序节点全局排序出块,记账节点基于其应用状态机中封装的应用逻辑、当前状态和交易的加密证书,去验证接收到的区块交易,交易经过验证后,再去更新其状态数据库,比如通过将绑定一个值到键值存储。将添加新区块到联盟通道里的主链,区块高度增一,提议节点索引也增1,然后进入新一轮的共识验证与执行工作,开始提议新区块,并重复上述④—⑨对交易进行多轮共识验证。
(3)区块链多通道账本同步更新记账
⑩区块链多通道账本同步(图7):随着上链行为的完成,验证节点的账本上新增区块交易,当排序节点发现自己账本的区块高度小于记账节点时,则触发追块功能,该排序节点从记账节点账本中读取交易并写入自己全量账本,同时自动调用CreateBlock和WriteBlock写块方法将新增有效交易写入对应通道区块中,即完成区块链网络中所有节点对交易共识与记账。
针对共识时提议节点出现故障或掉线,以及验证节点超时接收消息等状况,分别执行以下容错机制来保障数据区块最终的稳定、有效上链。
单点故障容错:容错过程会通过智能合约来代码化执行,合约输入条件与输出结果为:当出现提议节点发生故障、掉线、离线或网络较慢,导致验证节点未在设置T1时间内及时接收到提议区块,则自动中断此轮共识,并重新选择新的验证节点作为提议节点,进入新一轮的共识流程,这样既可以确保每轮共识的无缝连接也可稳定网络。
超时通信容错:共识流程的每一阶段都会对消息收集增加时间限制,如T1、T2、T3(这些T值根据网络情况动态计算与变化),由于网络不佳或网络延迟等原因,造成部分验证节点在规定一段时间内接未接收到任何提议、预投票、预提交、提交等消息,该节点将自动中断后续共识流程,等待参与新一轮共识。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (9)

1.一种基于区块链的多轮投票式容错排序共识机制与方法,其特征在于:包括共识与记账过程中的服务节点,服务节点包括核心节点、提议节点、验证节点、记账节点、排序节点、CA节点;
通过CA节点、排序节点、验证节点进行交易发起与排序,获得合法的交易后放入交易池交易,再进入多轮投票共识;
投票共识中经过所述核心节点以提议节点、验证节点、记账节点对交易数据进行多轮共识验证与执行,依次进入提议阶段、预投票阶段、预提交阶段、提交阶段、上链阶段;
共识完成后,区块链多通道账本同步更新记账,将共识成功的交易发给所述排序节点排序出块,记账节点去验证接收到的区块交易,验证后更新其状态数据库,添加新区块到主链,后进入新一轮的共识验证与执行工作。
2.根据权利要求1所述基于区块链的多轮投票式容错排序共识机制与方法,其特征在于:所述核心节点,承担着提议、验证与记账功能,它是角色动态变化的节点,根据组织给应用程序的指令可以变成提议节点、验证节点或记账节点;
提议节点,负责对交易出块,并提议开始新一轮共识验证;
验证节点,负责对交易区块进行验证投票与有效性确认;
记账节点,负责对排序后的交易进行落盘前的校验,维护区块链账本结构,对区块进行写入账本;
排序节点,对根据业务函数来合法性校验后的,及多轮投票共识验证后的交易进行全局排序;
CA节点,负责网络中所有证书的管理,实现标准PKI的CA数字身份认证。
3.根据权利要求1所述基于区块链的多轮投票式容错排序共识机制与方法,其特征在于:用户首先获取合法的身份证书加入到区块链网络中,不同组织里的用户可以通过客户端在应用层发起交易记账请求,或通过分布式应用发起智能合约交易,交易广播传递给排序节点后,会通过Order方法和Configure方法将交易串行化,经合法签名验证、业务函数检验后再放入交易池,打包交易池里的交易后,再将进入多轮投票共识。
4.根据权利要求1所述基于区块链的多轮投票式容错排序共识机制与方法,其特征在于:共识验证时,联盟各组织指定多个核心节点以提议节点、验证节点、记账节点的角色参与交易共识与记账;根据非阻塞轮询选择算法从核心节点集合中随机选择某一核心节点为提议节点,由提议节点对即将验证的区块进行提议,待区块在T1时间内接收到合法区块后,则进入预投票阶段;
验证节点对交易区块进行签名校验,待在T2时间内收集到大于2/3投票量的肯定验证消息后,则进入预提交阶段;
验证节点待在T3时间内收集到超过2/3数量的任意确认可以预提交的消息后,则提议区块可以认为达成一致性共识,可有效上链。
5.根据权利要求1所述基于区块链的多轮投票式容错排序共识机制与方法,其特征在于:共识完成后,将一定时间内共识成功的交易发给排序节点全局排序出块,记账节点基于其应用状态机中封装的应用逻辑、当前状态和交易的加密证书,去验证接收到的区块交易,交易经过验证后,再去更新其状态数据库;将添加新区块到联盟通道里的主链,区块高度增一,提议节点索引也增一,然后进入新一轮的共识验证与执行工作。
6.根据权利要求4所述基于区块链的多轮投票式容错排序共识机制与方法,其特征在于:在单通信渠道的联盟链中,仅加入该通信渠道的成员才能记账和查询交易,每个通道都含有一个区块链和账本;所述联盟链为单通信渠道的的多链多账本系统。
7.根据权利要求2所述基于区块链的多轮投票式容错排序共识机制与方法,其特征在于:所述验证节点含有应用模块、共识模块、P2P网络模块、加密模块、账本模块、应用区块链接口;
应用状态机模块,交易的真正执行者,对交易进行应用逻辑处理,并可选地针对某些持久状态执行事务,同时应用状态数据;
共识算法模块,确保不同节点以相同的应用逻辑对不同交易进行有序的记账与多节点事务同步;
P2P通信模块,通过Gossip实现节点与节点之间的通信;
加密模块,运用一种混合加密机制,即采用对称加密技术对交易信息加密,同时采用非对称加密技术对公钥和私钥对加密;
账本模块,数据区块验证通过,则将区块写入到本地的区块链账本,同时将区块中合法、有效的最新交易写入到状态数据库中完成记账,区块则追加至区块链末端;
应用区块链接口,是一个协议,支持让交易能够用任何编程语言进行处理;当区块链接收到应用层发起的交易时,通过接口发送交易,并调用区块链服务的节点,执行共识服务。
8.根据权利要求1所述基于区块链的多轮投票式容错排序共识机制与方法,其特征在于:区块链多通道账本同步更新记账中,随着上链行为的完成,验证节点的账本上新增区块交易,当排序节点发现自己账本的区块高度小于记账节点时,则触发追块功能,该排序节点从记账节点账本中读取交易并写入自己全量账本,同时将新增有效交易写入对应通道区块中,即完成区块链网络中所有节点对交易共识与记账。
9.根据权利要求1所述基于区块链的多轮投票式容错排序共识机制与方法,其特征在于:针对共识时提议节点出现故障或掉线,以及验证节点超时接收消息状况,分别执行容错机制来维持数据区块的稳定、有效上链。
CN202011377878.9A 2020-12-01 2020-12-01 基于区块链的多轮投票式容错排序共识机制与方法 Pending CN112541758A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011377878.9A CN112541758A (zh) 2020-12-01 2020-12-01 基于区块链的多轮投票式容错排序共识机制与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011377878.9A CN112541758A (zh) 2020-12-01 2020-12-01 基于区块链的多轮投票式容错排序共识机制与方法

Publications (1)

Publication Number Publication Date
CN112541758A true CN112541758A (zh) 2021-03-23

Family

ID=75016586

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011377878.9A Pending CN112541758A (zh) 2020-12-01 2020-12-01 基于区块链的多轮投票式容错排序共识机制与方法

Country Status (1)

Country Link
CN (1) CN112541758A (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051348A (zh) * 2021-03-29 2021-06-29 河南向量智能科技研究院有限公司 一种群组产品协同设计区块链技术数据同步协同方法
CN113128850A (zh) * 2021-04-02 2021-07-16 深圳市易讯天空网络技术有限公司 一种彩票流程管理方法、系统、终端设备及存储介质
CN113139871A (zh) * 2021-05-07 2021-07-20 新晨科技股份有限公司 区块链上自适应共识方法、设备及计算机可读存储介质
CN113157805A (zh) * 2021-04-16 2021-07-23 西安瓜大网络科技有限公司 一种事务定序共识方法和系统
CN113259186A (zh) * 2021-07-07 2021-08-13 发明之家(北京)科技有限公司 一种区块链的新区块监控方法和系统
CN113377873A (zh) * 2021-06-25 2021-09-10 中关村智慧城市产业技术创新战略联盟 一种基于联盟链的知识产权保护区块链构建方法
CN113468609A (zh) * 2021-03-24 2021-10-01 远光软件股份有限公司 混合共识方法及装置
CN113489743A (zh) * 2021-07-26 2021-10-08 广东辰宜信息科技有限公司 应用于区块链系统的共识实现方法及装置
CN113489681A (zh) * 2021-06-08 2021-10-08 湖南大学 区块链节点数据一致性共识方法、装置、设备及存储介质
CN113506107A (zh) * 2021-06-21 2021-10-15 数界(深圳)科技有限公司 一种区块链节点虚拟化的实现方法及区块链节点
CN113516557A (zh) * 2021-07-14 2021-10-19 桂林电子科技大学 一种有向无环图结构的区块链及其实现方法
CN113723962A (zh) * 2021-11-04 2021-11-30 中国信息通信研究院 区块链权限管理方法和区块链系统
CN114140239A (zh) * 2021-12-03 2022-03-04 西华大学 一种基于区块链技术的反垄断平台网络他证校验方法
CN114172913A (zh) * 2021-11-26 2022-03-11 王树松 区块链共识方法、装置、设备、系统及存储介质
CN114254395A (zh) * 2022-03-01 2022-03-29 南开大学 一种面向内容发布的自治网络的共识形成方法
CN114499890A (zh) * 2022-03-15 2022-05-13 南京信息工程大学 联盟链中基于节点分组的Raft PBFT两阶段共识机制
CN114648342A (zh) * 2022-03-04 2022-06-21 广东钜联信息科技有限公司 一种基于区块链的碳排放监测方法
CN115293769A (zh) * 2022-10-08 2022-11-04 中铱数字科技有限公司 一种基于区块链的动态管理和校验节点系统
CN116800770A (zh) * 2022-09-02 2023-09-22 西南交通大学 一种基于区块链的云边分布式系统节点操作更新方法
CN113157805B (zh) * 2021-04-16 2024-05-03 西安瓜大网络科技有限公司 一种事务定序共识方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951474A (zh) * 2019-03-15 2019-06-28 杭州云象网络技术有限公司 一种实现区块链共识出块的方法
US20190251199A1 (en) * 2018-02-14 2019-08-15 Ivan Klianev Transactions Across Blockchain Networks
CN110289966A (zh) * 2019-06-19 2019-09-27 西南交通大学 基于拜占庭容错的抗自适应攻击联盟链共识方法
CN111062811A (zh) * 2019-12-02 2020-04-24 远光软件股份有限公司 一种区块链共识方法、系统、存储介质
KR20200083145A (ko) * 2018-12-28 2020-07-08 연세대학교 산학협력단 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190251199A1 (en) * 2018-02-14 2019-08-15 Ivan Klianev Transactions Across Blockchain Networks
KR20200083145A (ko) * 2018-12-28 2020-07-08 연세대학교 산학협력단 블록체인 네트워크의 합의 방해요인 제거를 위한 장애 허용 합의 방법
CN109951474A (zh) * 2019-03-15 2019-06-28 杭州云象网络技术有限公司 一种实现区块链共识出块的方法
CN110289966A (zh) * 2019-06-19 2019-09-27 西南交通大学 基于拜占庭容错的抗自适应攻击联盟链共识方法
CN111062811A (zh) * 2019-12-02 2020-04-24 远光软件股份有限公司 一种区块链共识方法、系统、存储介质

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468609A (zh) * 2021-03-24 2021-10-01 远光软件股份有限公司 混合共识方法及装置
CN113051348A (zh) * 2021-03-29 2021-06-29 河南向量智能科技研究院有限公司 一种群组产品协同设计区块链技术数据同步协同方法
CN113051348B (zh) * 2021-03-29 2023-11-10 河南向量智能科技研究院有限公司 一种群组产品协同设计区块链技术数据同步协同方法
CN113128850A (zh) * 2021-04-02 2021-07-16 深圳市易讯天空网络技术有限公司 一种彩票流程管理方法、系统、终端设备及存储介质
CN113128850B (zh) * 2021-04-02 2024-04-19 深圳市易讯天空网络技术有限公司 一种彩票流程管理方法、系统、终端设备及存储介质
CN113157805A (zh) * 2021-04-16 2021-07-23 西安瓜大网络科技有限公司 一种事务定序共识方法和系统
CN113157805B (zh) * 2021-04-16 2024-05-03 西安瓜大网络科技有限公司 一种事务定序共识方法和系统
CN113139871A (zh) * 2021-05-07 2021-07-20 新晨科技股份有限公司 区块链上自适应共识方法、设备及计算机可读存储介质
CN113489681B (zh) * 2021-06-08 2022-06-21 湖南大学 区块链节点数据一致性共识方法、装置、设备及存储介质
CN113489681A (zh) * 2021-06-08 2021-10-08 湖南大学 区块链节点数据一致性共识方法、装置、设备及存储介质
CN113506107A (zh) * 2021-06-21 2021-10-15 数界(深圳)科技有限公司 一种区块链节点虚拟化的实现方法及区块链节点
CN113377873A (zh) * 2021-06-25 2021-09-10 中关村智慧城市产业技术创新战略联盟 一种基于联盟链的知识产权保护区块链构建方法
CN113259186B (zh) * 2021-07-07 2021-10-08 发明之家(北京)科技有限公司 一种区块链的新区块监控方法和系统
CN113259186A (zh) * 2021-07-07 2021-08-13 发明之家(北京)科技有限公司 一种区块链的新区块监控方法和系统
CN113516557A (zh) * 2021-07-14 2021-10-19 桂林电子科技大学 一种有向无环图结构的区块链及其实现方法
CN113516557B (zh) * 2021-07-14 2022-09-23 桂林电子科技大学 一种有向无环图结构的区块链及其实现方法
CN113489743A (zh) * 2021-07-26 2021-10-08 广东辰宜信息科技有限公司 应用于区块链系统的共识实现方法及装置
CN113489743B (zh) * 2021-07-26 2022-12-23 广东辰宜信息科技有限公司 应用于区块链系统的共识实现方法及装置
CN113723962A (zh) * 2021-11-04 2021-11-30 中国信息通信研究院 区块链权限管理方法和区块链系统
CN113723962B (zh) * 2021-11-04 2022-02-22 中国信息通信研究院 区块链权限管理方法和区块链系统
CN114172913A (zh) * 2021-11-26 2022-03-11 王树松 区块链共识方法、装置、设备、系统及存储介质
CN114140239A (zh) * 2021-12-03 2022-03-04 西华大学 一种基于区块链技术的反垄断平台网络他证校验方法
CN114254395A (zh) * 2022-03-01 2022-03-29 南开大学 一种面向内容发布的自治网络的共识形成方法
CN114648342A (zh) * 2022-03-04 2022-06-21 广东钜联信息科技有限公司 一种基于区块链的碳排放监测方法
CN114499890B (zh) * 2022-03-15 2023-09-15 南京信息工程大学 联盟链中基于节点分组的Raft PBFT两阶段共识方法
CN114499890A (zh) * 2022-03-15 2022-05-13 南京信息工程大学 联盟链中基于节点分组的Raft PBFT两阶段共识机制
CN116800770A (zh) * 2022-09-02 2023-09-22 西南交通大学 一种基于区块链的云边分布式系统节点操作更新方法
CN115293769A (zh) * 2022-10-08 2022-11-04 中铱数字科技有限公司 一种基于区块链的动态管理和校验节点系统
CN115293769B (zh) * 2022-10-08 2022-12-27 中铱数字科技有限公司 一种基于区块链的动态管理和校验节点系统

Similar Documents

Publication Publication Date Title
CN112541758A (zh) 基于区块链的多轮投票式容错排序共识机制与方法
US20240048376A1 (en) Methods and systems implemented in a network architecture with nodes capable of performing message-based transactions
US11516006B2 (en) Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system
CN108256859B (zh) 基于区块链的金融产品交易共识方法、节点及系统
US20190354518A1 (en) Chain mesh network for decentralized transaction systems
CN107301600B (zh) 一种跨链交易的区块链互联网模型的核心构建方法
CN109447795B (zh) 一种支持快速达成最终确认性的拜占庭共识方法
CN110351133A (zh) 用于区块链系统中的主节点切换处理的方法及装置
CN111382456B (zh) 提案消息处理方法、装置、设备以及存储介质
Avoine Cryptography in radio frequency identification and fair exchange protocols
Kaur et al. Scalability in blockchain: Challenges and solutions
EP4318362A1 (en) Blockchain-based data processing method, apparatus and device, and storage medium
US20200396059A1 (en) Fast and partition-resilient blockchains
CN112104482B (zh) 一种基于并行投票的共识方法
CN112907252B (zh) 一种基于多人链下通道的区块链交易方法及系统
Zhang et al. Cycledger: A scalable and secure parallel protocol for distributed ledger via sharding
EP3957025A1 (en) System and method for providing privacy and security protection in blockchain-based private transactions
CN112565370B (zh) 基于无线通信与区块链场景的计算结果验证方法及系统
CN112995167B (zh) 基于Kafka机制的用电信息采集方法、区块链网络及用户端
Singh et al. Understanding the public, private and consortium consensus algorithms in blockchain technology
AU2018392471A1 (en) Fast and partition-resilient blockchains
CN117061538A (zh) 一种基于区块链网络的共识处理方法及相关装置
CN116233139A (zh) 区块链系统的数据处理方法、装置、介质及电子设备
CN112950180A (zh) 一种基于联盟链的通证方法、系统、电子设备及存储介质
Zhang et al. Cross-Chain Interoperability and Collaboration for Keyword-Based Embedded Smart Contracts in the Internet of Things

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