CN111708840A - 一种基于主副双层的联盟链动态共识方法 - Google Patents

一种基于主副双层的联盟链动态共识方法 Download PDF

Info

Publication number
CN111708840A
CN111708840A CN202010502938.9A CN202010502938A CN111708840A CN 111708840 A CN111708840 A CN 111708840A CN 202010502938 A CN202010502938 A CN 202010502938A CN 111708840 A CN111708840 A CN 111708840A
Authority
CN
China
Prior art keywords
node
main
transaction
layer
main body
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010502938.9A
Other languages
English (en)
Other versions
CN111708840B (zh
Inventor
高建彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Financial Dream Workshop Investment Management Co ltd
Original Assignee
University of Electronic Science and Technology of China
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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202010502938.9A priority Critical patent/CN111708840B/zh
Publication of CN111708840A publication Critical patent/CN111708840A/zh
Application granted granted Critical
Publication of CN111708840B publication Critical patent/CN111708840B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2477Temporal data queries
    • 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/604Tools and structures for managing or administering access control systems
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Public Health (AREA)
  • Primary Health Care (AREA)
  • Medical Informatics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Epidemiology (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明公开了一种基于主副双层的联盟链动态共识方法,属于区块链技术领域。本发明所述方法基于主层‑副层的双层联盟链架构,主层区块链存储并维护联盟的全局业务数据,副层区块链由各个主体维护自身的局部业务数据。将共识节点的选取过程分为验证节点与构造节点的动态选取,提升联盟链的灵活度。本发明所述方法借助区块链的双层架构以及共识节点的动态选取,实现交易的可扩展性以及一致性保障,提升联盟链的业务处理效率,实现联盟链系统的易扩展性与高可用性,增强区块链技术支持大数据服务以及应对多种业务场景的能力。

Description

一种基于主副双层的联盟链动态共识方法
技术领域
本发明属于区块链技术领域,具体涉及一种基于主副双层的联盟链动态共识方法。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
共识算法作为区块链中的关键技术,直接影响着区块链的交易处理能力、可扩展性和安全性,因此成为区块链技术研究的热点。现有联盟链多将整个区块链网络划分为不同的共识群组,通过将交易分流到不同区块链的方式实现交易吞吐量的扩展,但由于不同群组之间相互独立,难以实现全局交易的一致性,同时相对固定的共识成员致使共识过程的公平性下降制约着技术的应用和业务的推广。
发明内容
本发明的目的是克服上述现有技术的缺陷,提供一种基于主副双层的联盟链动态共识方法,通过主副双层的区块链结构相互耦合,实现交易的可扩展性以及一致性保障,通过共识节点的动态选取防止节点相互勾结篡改数据。
本发明所提出的技术问题是这样解决的:
一种基于主副双层的联盟链动态共识方法,基于双层联盟链架构,双层联盟链包括主层区块链和副层区块链;在主层-副层的双层联盟链架构中,主体为联盟链的不同参与方(中心或组织),每个主体具有唯一的身份标识;各个主体借助自身的区块链(副层区块链)存储并维护自身的局部业务数据,所有主体在主层区块链上共同存储并维护全局业务数据。
由于分布式网络通信时延的影响,区块链系统中存在着各节点信息不对称的可能,这种可能性甚至会产生双花攻击。为了避免这种情况的发生,需要对发生在各个主体的交易进行全局一致性验证。同时,为了减少通信及存储开销,主层区块链仅存储满足全局一致性的交易ID,发生在各主体交易的具体信息则由各主体维护并存储在自身的副层区块链中。
副层区块链的区块结构为{Header:SBn,Sid,Ssign,SHpre,ST,Elist,Tlist|Body:Tdetail},其中SBn为当前副层区块序号,Sid为所属主体的身份标识,Ssign为主体签名,SHpre为前一副层区块的哈希值,ST为当前副层区块的时间戳,Elist为合法的实体列表,Tlist为当前区块打包的交易列表,Tdetail为所打包交易的详细信息;
主层区块链的区块结构为{Header:PBn,GNsign,PHpre,PT|Body:GTlist},其中PBn为当前主层区块序号,GNsign为构造当前块的构造节点签名,PHpre为前一主层区块的哈希值,PT为当前主层区块的时间戳,GTlist为满足全局一致性的可信交易列表;
全局一致性交易列表GTlist结构为{Tid,TSid,TBn},其中Tid为交易的标识,TSid为该交易所属的主体身份标识,TBn为该交易对应的副层区块序号。
整个联盟链中有三类区块链节点,分别是普通节点、验证节点与构造节点。普通节点负责发起交易、数据传输以及根据本主体的共识算法维护本主体的副层区块链;验证节点负责对发生在主体的交易进行全局一致性验证;构造节点负责对通过验证节点一致性验证的交易进行打包上链,构造主层区块链。
本发明所述方法具体包括以下步骤:
根据联盟链业务量的大小,将系统时间分为多个时间片,每个时间片为一轮;每一轮开始时,根据共识算法在每个主体的节点集群中选举出一个代表节点,该节点代表本主体与其他主体进行通信;主体的代表节点负责从全网中选取验证节点群组,构造节点群组从各个主体的验证节点群组选出。
步骤1.选取验证节点群组与构造节点群组:
情形A.初始轮次,节点群组选取流程为:
步骤1-A-1.每个主体随机选举出一个代表节点,记主体i的代表节点为DNi,1≤i≤N,N为主体的个数;
步骤1-A-2.DNi从全网中随机选举M个主体,M个主体中每个主体的代表节点组成群组RNSi,其中M>2N/3;
步骤1-A-3.群组RNSi中的每个节点在N个主体中随机选择一个节点投票,并将投票结果发送给其他的M-1个主体及主体i的代表节点;
步骤1-A-4.主体i和M个主体的代表节点选取票数最多的M个节点作为主体i的初始验证节点群组CNSi,其中票数最多的节点为本轮验证节点群组的主节点PCNi,并将初始验证节点群组CNSi与主节点PCNi广播给每个主体的代表节点;
步骤1-A-5.每个主体的代表节点将初始验证节点群组CNSi与主节点PCNi广播给主体内的节点,使初始验证节点群组CNSi中的各个节点建立连接,进行通信;
步骤1-A-6.各个主体验证节点群组的主节点PCNi组成构造节点群组GNS,用以将满足全局一致性的交易打包,构造主层区块。
情形B.初始轮次后的轮次,节点群组选取流程为:
步骤1-B-1.每个主体随机选举出一个代表节点DNi’,1≤i≤N,本轮次的代表节点与上轮次的代表节点不同,即DNi’≠DNi
步骤1-B-2.上一轮的验证节点群组CNSi从全网中随机选举M个主体,M个主体中每个主体的代表节点组成群组RNSi’,其中M>2N/3;
步骤1-B-3.群组RNSi’中的每个节点在N个主体中随机选择一个节点投票,并将投票结果发送给其他的M-1个主体及主体i的代表节点;
步骤1-B-4.主体i和M个主体的代表节点选取票数最多的M个节点作为主体i的验证节点群组CNSi’,其中票数最多的节点为本轮验证节点群组的主节点PCNi’,并将验证节点群组CNSi’与主节点PCNi’广播给每个主体的代表节点;
步骤1-B-5.每个主体的代表节点将验证节点群组CNSi’与主节点PCNi’广播给主体内的节点,使验证节点群组CNSi’中的各个节点建立连接,进行通信;
步骤1-B-6.各个主体验证节点群组的主节点PCNi组成构造节点群组GNS,用以将满足全局一致性的交易打包,构造主层区块。
步骤2.构造主层区块链
步骤2-1.主体i识别发起交易的实体身份,检查交易发起用户对数据的访问权限,若通过,则将交易请求标识为合法,执行步骤2-2;否则,拒绝交易进行共识验证;
步骤2-2.主体i的普通节点收到多个合法的交易请求后,根据主体i的共识算法对交易进行共识验证,打包成副层区块连接至主体i所在的副层区块链,并将打包的副层区块转发至主体i的验证节点群组CNSi
步骤2-3.验证节点群组CNSi对接收到的副层区块进行解析,根据副层区块中的交易列表Tlist与交易的详细信息Tdetail进行全局一致验证,将通过验证的可信交易列表发送给构造节点群组GNS;
步骤2-4.构造节点群组GNS根据收到的可信交易列表,从构造节点群组GNS中随机选取一个节点作为构造节点GN;
步骤2-5.构造节点GN解析可信交易列表,得到交易标识Tid与交易所属主体标识TSid,附上构造节点的签名GNsign,并打上当前时间戳PT,打包形成主层区块,将打包的主层区块连接到主层区块链中,并向全网广播,共识结束。
步骤2-4中,随机选取的方法为:
步骤2-4-1.对构造节点群组GNS中的节点进行排序标号(0,1,2……,N-1);
步骤2-4-2.选取哈希算法对收到可信交易列表的时间戳以及交易的详细信息进行哈希运算;
步骤2-4-3.将哈希运算得到的结果与N进行取模运算,并以此运算结果作为节点标号选出的构造节点GN。
本发明的有益效果是:
本发明所述方法基于主层-副层的双层联盟链架构,主层区块链存储并维护联盟的全局业务数据,副层区块链由各个主体维护自身的局部业务数据。将共识节点的选取过程分为验证节点与构造节点的动态选取,提升联盟链的灵活度。本发明所述方法借助区块链的双层架构以及共识节点的动态选取,实现交易的可扩展性以及一致性保障,提升联盟链的业务处理效率,实现联盟链系统的易扩展性与高可用性,增强区块链技术支持大数据服务以及应对多种业务场景的能力。
附图说明
图1为双层联盟链架构示意图;
图2为副层区块链和主层区块链的区块结构示意图;
图3为构造主层区块链的流程示意图。
具体实施方式
下面结合附图和实施例对本发明进行进一步的说明。
目前,医疗行业遭受大规模的数据质量问题——一部分源于多个医疗机构对同一患者EHR(电子病历)未做全局一致验证,致使患者就诊时医疗机构拿不到患者EHR的最新版本,无法对患者病情做到精准的诊断。
本实施例提供一种基于主副双层的联盟链动态共识方法,用于解决医疗行业的数据质量问题,双层联盟链架构示意图如图1所示,双层联盟链包括主层区块链和副层区块链;此情形的主层-副层双层联盟链架构中,主体为联盟链的不同医疗机构(医院、诊所),每个医疗机构具有唯一的身份标识;各个医疗机构借助自身的区块链(副层区块链)存储并维护本医疗机构患者的EHR。
为解决患者在不同医疗机构就诊时,患者EHR版本不同导致病历信息不对称的问题,保证医疗机构可以获取到患者最新版本的EHR,需要对各个医疗机构的患者EHR进行全局一致性验证,联盟链中所有医疗机构在主层区块链上共同存储并维护通过全局一致验证的患者EHR。
同时,为了减少通信及存储开销,主层区块链仅存储满足全局一致性的患者EHR(即最新版本)ID,各医疗机构患者EHR的具体信息则由各医疗机构维护并存储在自身的副层区块链中。
副层区块链和主层区块链的区块结构示意图如图2所示。
副层区块链的区块结构为{Header:SBn,Sid,Ssign,SHpre,ST,Elist,Tlist|Body:Tdetail},其中SBn为当前副层区块序号,Sid为所属医疗机构的身份标识,Ssign为医疗机构签名,SHpre为前一副层区块的哈希值,ST为当前副层区块的时间戳,Elist为合法的实体列表(患者、诊断医师、药剂师等),Tlist为当前区块打包的患者EHR列表,Tdetail为所打包患者EHR的详细信息;
主层区块链的区块结构为{Header:PBn,GNsign,PHpre,PT|Body:GTlist},其中PBn为当前主层区块序号,GNsign为构造当前块的构造节点签名,PHpre为前一主层区块的哈希值,PT为当前主层区块的时间戳,GTlist为满足全局一致性的患者EHR列表;
全局一致性患者EHR列表GTlist结构为{Tid,TSid,TBn},其中Tid为患者EHR的标识,TSid为该患者EHR所属的主体身份标识,TBn为该患者EHR对应的副层区块序号。
整个联盟链中有三类区块链节点,分别是普通节点、验证节点与构造节点。普通节点负责发起交易、数据传输以及根据本医疗结构的共识算法维护本医疗结构的副层区块链;验证节点负责对各个医疗机构记录的患者EHR进行全局一致性验证;构造节点负责对通过验证节点一致性验证的患者EHR进行打包上链,构造主层区块链。
本实施例所述方法具体包括以下步骤:
根据联盟链业务量的大小,将系统时间分为多个时间片,每个时间片为一轮;每一轮开始时,根据共识算法在每个医疗机构的节点集群中选举出一个代表节点,该节点代表本医疗机构与其他医疗机构进行通信;主体的代表节点负责从全网中选取验证节点群组,构造节点群组从各个主体的验证节点群组选出。
步骤1.选取验证节点群组与构造节点群组:
情形A.初始轮次,节点群组选取流程为:
步骤1-A-1.每个医疗机构随机选举出一个代表节点,记医疗机构i的代表节点为DNi,1≤i≤N,N为联盟链中医疗机构的个数;
步骤1-A-2.DNi从全网中随机选举M个医疗机构,M个医疗机构中每个医疗机构的代表节点组成群组RNSi,其中M>2N/3;
步骤1-A-3.群组RNSi中的每个节点在N个医疗机构中随机选择一个节点投票,并将投票结果发送给其他的M-1个医疗机构及医疗机构i的代表节点;
步骤1-A-4.医疗机构i和M个医疗机构的代表节点选取票数最多的M个节点作为医疗机构i的初始验证节点群组CNSi,其中票数最多的节点为本轮验证节点群组的主节点PCNi,并将初始验证节点群组CNSi与主节点PCNi广播给每个医疗机构的代表节点;
步骤1-A-5.每个医疗机构的代表节点将初始验证节点群组CNSi与主节点PCNi广播给医疗机构内的节点,使初始验证节点群组CNSi中的各个节点建立连接,进行通信;
步骤1-A-6.各个医疗机构验证节点群组的主节点PCNi组成构造节点群组GNS,用以将满足全局一致性的交易打包,构造主层区块。
情形B.初始轮次后的轮次,节点群组选取流程为:
步骤1-B-1.每个医疗机构随机选举出一个代表节点DNi’,1≤i≤N,本轮次的代表节点与上轮次的代表节点不同,即DNi’≠DNi
步骤1-B-2.上一轮的验证节点群组CNSi从全网中随机选举M个医疗机构,M个医疗机构中每个医疗机构的代表节点组成群组RNSi’,其中M>2N/3;
步骤1-B-3.群组RNSi’中的每个节点在N个医疗机构中随机选择一个节点投票,并将投票结果发送给其他的M-1个医疗机构及医疗机构i的代表节点;
步骤1-B-4.医疗机构i和M个医疗机构的代表节点选取票数最多的M个节点作为医疗机构i的验证节点群组CNSi’,其中票数最多的节点为本轮验证节点群组的主节点PCNi’,并将验证节点群组CNSi’与主节点PCNi’广播给每个医疗机构的代表节点;
步骤1-B-5.每个医疗机构的代表节点将验证节点群组CNSi’与主节点PCNi’广播给医疗机构内的节点,使验证节点群组CNSi’中的各个节点建立连接,进行通信;
步骤1-B-6.各个医疗机构验证节点群组的主节点PCNi组成构造节点群组GNS,用以将满足全局一致性的交易打包,构造主层区块。
步骤2.构造主层区块链,其流程图如图3所示;
步骤2-1.医疗机构i识别发起患者EHR操作请求(查询&更新)的实体身份,检查操作发起实体对数据的访问权限(例如某些诊断医师可以修改EHR,药剂师仅能查询EHR),若通过,则将操作请求标识为合法,执行该操作,转至步骤2-2;否则,拒绝进行操作;
步骤2-2.医疗机构i的普通节点收到多个合法的操作共识请求后,根据医疗机构i的共识算法对操作进行共识验证,将操作行为以及更新后相关患者EHR打包成副层区块连接至医疗机构i所在的副层区块链,并将打包的副层区块转发至医疗机构i的验证节点群组CNSi
步骤2-3.验证节点群组CNSi对接收到的副层区块进行解析,根据副层区块中的患者EHR列表Tlist与EHR的详细信息Tdetail进行全局一致验证,将通过验证的患者EHR列表发送给构造节点群组GNS;
步骤2-4.构造节点群组GNS根据收到的患者EHR列表,从构造节点群组GNS中随机选取一个节点作为构造节点GN;
随机选取的方法可以为下述步骤,但不限定:
步骤2-4-1.对构造节点群组GNS中的节点进行排序标号(0,1,2……,N-1);
步骤2-4-2.选取哈希算法对收到EHR列表的时间戳以及EHR的列表信息进行哈希运算;
步骤2-4-3.将哈希运算得到的结果与N进行取模运算,并以此运算结果作为节点标号选出的构造节点GN;
步骤2-5.构造节点GN解析患者EHR列表,得到患者EHR标识Tid与该患者EHR所属医疗机构标识TSid,附上构造节点的签名GNsign,并打上当前时间戳PT,打包形成主层区块,将打包的主层区块连接到主层区块链中,并向全网广播,共识结束。
至此,当有权限的医疗机构对患者进行诊治时,该医疗机构可以通过查询主层区块获取患者最新EHR的Tid与TSid,从而获取该患者最新版本EHR的Tdetail

Claims (4)

1.一种基于主副双层的联盟链动态共识方法,其特征在于,基于双层联盟链架构,双层联盟链包括主层区块链和副层区块链;在主层-副层的双层联盟链架构中,主体为联盟链的不同参与方,每个主体具有唯一的身份标识;各个主体借助副层区块链存储并维护自身的局部业务数据,所有主体在主层区块链上共同存储并维护全局业务数据;
联盟链中有三类区块链节点,分别是普通节点、验证节点与构造节点;普通节点负责发起交易、数据传输以及根据主体的共识算法维护本主体的副层区块链;验证节点负责对发生在主体的交易进行全局一致性验证;构造节点负责对通过验证节点一致性验证的交易进行打包上链,构造主层区块链;
包括以下步骤:
将系统时间分为多个时间片,每个时间片为一轮;
步骤1.选取验证节点群组与构造节点群组:
情形A.初始轮次,节点群组选取流程为:
步骤1-A-1.每个主体随机选举出一个代表节点,记主体i的代表节点为DNi,1≤i≤N,N为主体的个数;
步骤1-A-2.DNi从全网中随机选举M个主体,M个主体中每个主体的代表节点组成群组RNSi
步骤1-A-3.群组RNSi中的每个节点在N个主体中随机选择一个节点投票,并将投票结果发送给其他的M-1个主体及主体i的代表节点;
步骤1-A-4.主体i和M个主体的代表节点选取票数最多的M个节点作为主体i的初始验证节点群组CNSi,其中票数最多的节点为本轮验证节点群组的主节点PCNi,并将初始验证节点群组CNSi与主节点PCNi广播给每个主体的代表节点;
步骤1-A-5.每个主体的代表节点将初始验证节点群组CNSi与主节点PCNi广播给主体内的节点,使初始验证节点群组CNSi中的各个节点建立连接,进行通信;
步骤1-A-6.各个主体验证节点群组的主节点PCNi组成构造节点群组GNS;
情形B.初始轮次后的轮次,节点群组选取流程为:
步骤1-B-1.每个主体随机选举出一个代表节点DNi’,1≤i≤N,本轮次的代表节点与上轮次的代表节点不同,即DNi’≠DNi
步骤1-B-2.上一轮的验证节点群组CNSi从全网中随机选举M个主体,M个主体中每个主体的代表节点组成群组RNSi’;
步骤1-B-3.群组RNSi’中的每个节点在N个主体中随机选择一个节点投票,并将投票结果发送给其他的M-1个主体及主体i的代表节点;
步骤1-B-4.主体i和M个主体的代表节点选取票数最多的M个节点作为主体i的验证节点群组CNSi’,其中票数最多的节点为本轮验证节点群组的主节点PCNi’,并将验证节点群组CNSi’与主节点PCNi’广播给每个主体的代表节点;
步骤1-B-5.每个主体的代表节点将验证节点群组CNSi’与主节点PCNi’广播给主体内的节点,使验证节点群组CNSi’中的各个节点建立连接,进行通信;
步骤1-B-6.各个主体验证节点群组的主节点PCNi组成构造节点群组GNS;
步骤2.构造主层区块链
步骤2-1.主体i识别发起交易的实体身份,检查交易发起用户对数据的访问权限,若通过,则将交易请求标识为合法,执行步骤2-2;否则,拒绝交易进行共识验证;
步骤2-2.主体i的普通节点收到多个合法的交易请求后,根据主体i的共识算法对交易进行共识验证,打包成副层区块连接至主体i所在的副层区块链,并将打包的副层区块转发至主体i的验证节点群组CNSi
步骤2-3.验证节点群组CNSi对接收到的副层区块进行解析,根据副层区块中的交易列表Tlist与交易的详细信息Tdetail进行全局一致验证,将通过验证的可信交易列表发送给构造节点群组GNS;
步骤2-4.构造节点群组GNS根据收到的可信交易列表,从构造节点群组GNS中随机选取一个节点作为构造节点GN;
步骤2-5.构造节点GN解析可信交易列表,得到交易标识Tid与交易所属主体标识TSid,附上构造节点的签名GNsign,并打上当前时间戳PT,打包形成主层区块,将打包的主层区块连接到主层区块链中,并向全网广播。
2.根据权利要求1所述的基于主副双层的联盟链动态共识方法,其特征在于,步骤2-4中,随机选取的方法为:
步骤2-4-1.对构造节点群组GNS中的节点进行排序标号;
步骤2-4-2.选取哈希算法对收到可信交易列表的时间戳以及交易的详细信息进行哈希运算;
步骤2-4-3.将哈希运算得到的结果与N进行取模运算,并以此运算结果作为节点标号选出的构造节点GN。
3.根据权利要求1所述的基于主副双层的联盟链动态共识方法,其特征在于,副层区块链的区块结构为{Header:SBn,Sid,Ssign,SHpre,ST,Elist,Tlist|Body:Tdetail},其中SBn为当前副层区块序号,Sid为所属主体的身份标识,Ssign为主体签名,SHpre为前一副层区块的哈希值,ST为当前副层区块的时间戳,Elist为合法的实体列表,Tlist为当前区块打包的交易列表,Tdetail为所打包交易的详细信息;
主层区块链的区块结构为{Header:PBn,GNsign,PHpre,PT|Body:GTlist},其中PBn为当前主层区块序号,GNsign为构造当前块的构造节点签名,PHpre为前一主层区块的哈希值,PT为当前主层区块的时间戳,GTlist为满足全局一致性的可信交易列表;
全局一致性交易列表GTlist结构为{Tid,TSid,TBn},其中Tid为交易的标识,TSid为该交易所属的主体身份标识,TBn为该交易对应的副层区块序号。
4.根据权利要求1所述的基于主副双层的联盟链动态共识方法,其特征在于,M>2N/3。
CN202010502938.9A 2020-06-05 2020-06-05 一种基于主副双层的联盟链动态共识方法 Expired - Fee Related CN111708840B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010502938.9A CN111708840B (zh) 2020-06-05 2020-06-05 一种基于主副双层的联盟链动态共识方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010502938.9A CN111708840B (zh) 2020-06-05 2020-06-05 一种基于主副双层的联盟链动态共识方法

Publications (2)

Publication Number Publication Date
CN111708840A true CN111708840A (zh) 2020-09-25
CN111708840B CN111708840B (zh) 2021-03-30

Family

ID=72538745

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010502938.9A Expired - Fee Related CN111708840B (zh) 2020-06-05 2020-06-05 一种基于主副双层的联盟链动态共识方法

Country Status (1)

Country Link
CN (1) CN111708840B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328605A (zh) * 2020-11-26 2021-02-05 安徽继远软件有限公司 一种基于区块链的电力现场安全数据管理方法与系统
CN112511350A (zh) * 2020-12-01 2021-03-16 浙商银行股份有限公司 联盟链多级共识方法、设备及存储介质
CN112633847A (zh) * 2020-12-29 2021-04-09 北京因特睿软件有限公司 政务信息资源的处理方法、处理装置与处理器
CN113362940A (zh) * 2021-06-30 2021-09-07 电子科技大学 一种穿透式监管下的分层区块链医疗设施调度方法
CN113518005A (zh) * 2021-06-22 2021-10-19 腾讯科技(深圳)有限公司 一种区块共识方法、装置、设备及存储介质
WO2022227694A1 (zh) * 2021-04-29 2022-11-03 郑杰骞 链式结构地址生成、交易数据处理方法、装置及存储介质
CN117874060A (zh) * 2024-03-12 2024-04-12 北京市农林科学院信息技术研究中心 基于区块链的供应链产品溯源数据多条件查询方法及装置
CN117874060B (zh) * 2024-03-12 2024-05-31 北京市农林科学院信息技术研究中心 基于区块链的供应链产品溯源数据多条件查询方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108200203A (zh) * 2018-02-06 2018-06-22 北京奇虎科技有限公司 基于双层网络的区块链系统
US20190268466A1 (en) * 2016-07-28 2019-08-29 Nec Corporation Number portability information management system
CN110245951A (zh) * 2019-06-19 2019-09-17 西南交通大学 一种基于树形结构的联盟链主从多链共识方法
CN110868434A (zh) * 2018-08-27 2020-03-06 深圳金刚链计算技术有限公司 一种多层分片架构的区块链共识方法及系统
CN111082943A (zh) * 2019-12-06 2020-04-28 西安电子科技大学 一种高效的区块链共识方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190268466A1 (en) * 2016-07-28 2019-08-29 Nec Corporation Number portability information management system
CN108200203A (zh) * 2018-02-06 2018-06-22 北京奇虎科技有限公司 基于双层网络的区块链系统
CN110868434A (zh) * 2018-08-27 2020-03-06 深圳金刚链计算技术有限公司 一种多层分片架构的区块链共识方法及系统
CN110245951A (zh) * 2019-06-19 2019-09-17 西南交通大学 一种基于树形结构的联盟链主从多链共识方法
CN111082943A (zh) * 2019-12-06 2020-04-28 西安电子科技大学 一种高效的区块链共识方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WANG ZHANG.ETC: "Improvement of DPoS Consensus Based on Block Chain", 《ICIIP 2019: PROCEEDINGS OF THE 2019 4TH INTERNATIONAL CONFERENCE ON INTELLIGENT INFORMATION PROCESSING》 *
曹兆磊: "一种适用于联盟链的共识机制", 《网络空间安全》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328605A (zh) * 2020-11-26 2021-02-05 安徽继远软件有限公司 一种基于区块链的电力现场安全数据管理方法与系统
CN112328605B (zh) * 2020-11-26 2024-01-12 安徽继远软件有限公司 一种基于区块链的电力现场安全数据管理方法与系统
CN112511350A (zh) * 2020-12-01 2021-03-16 浙商银行股份有限公司 联盟链多级共识方法、设备及存储介质
CN112633847A (zh) * 2020-12-29 2021-04-09 北京因特睿软件有限公司 政务信息资源的处理方法、处理装置与处理器
WO2022227694A1 (zh) * 2021-04-29 2022-11-03 郑杰骞 链式结构地址生成、交易数据处理方法、装置及存储介质
CN113518005A (zh) * 2021-06-22 2021-10-19 腾讯科技(深圳)有限公司 一种区块共识方法、装置、设备及存储介质
CN113362940A (zh) * 2021-06-30 2021-09-07 电子科技大学 一种穿透式监管下的分层区块链医疗设施调度方法
CN113362940B (zh) * 2021-06-30 2022-10-14 电子科技大学 一种穿透式监管下的分层区块链医疗设施调度方法
CN117874060A (zh) * 2024-03-12 2024-04-12 北京市农林科学院信息技术研究中心 基于区块链的供应链产品溯源数据多条件查询方法及装置
CN117874060B (zh) * 2024-03-12 2024-05-31 北京市农林科学院信息技术研究中心 基于区块链的供应链产品溯源数据多条件查询方法及装置

Also Published As

Publication number Publication date
CN111708840B (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
CN111708840B (zh) 一种基于主副双层的联盟链动态共识方法
CN108846010B (zh) 网络中产品溯源的方法、系统、计算机系统和存储介质
JP7177575B2 (ja) ランダム・シーケンスを生成および検証するための分散型台帳
US20200394208A1 (en) System and Method for Providing Patient Record Synchronization In a Healthcare Setting
US11269842B2 (en) Data storage layer index for efficient information retrieval
US10541807B1 (en) System and method for healthcare security and interoperability
TWI708199B (zh) 基於智能合約分享隱私資料的方法及系統
US20050246205A1 (en) Data sharing infrastructure
US6665647B1 (en) Enterprise healthcare management system and method of using same
SE541713C2 (en) Method and system for registering digital documents
US20130197940A1 (en) System for Automated Health Information Exchange
US20110060757A1 (en) Optimized method of locating complete aggregation of patient health records in a global domain
CN110275891A (zh) 人工智能软件市场
US20100169218A1 (en) Secure authentication of lectronic prescriptions
CN110635913A (zh) 电子处方的验证方法及装置
CN111916217A (zh) 基于区块链的医疗数据管理方法、系统、存储介质及终端
CN111507851A (zh) 基于区块链的医保理赔处理方法、装置、系统和存储介质
CN112951356A (zh) 一种基于联盟链的跨模态医疗数据联合共享方法
CN115664682A (zh) 基于联盟链主从多链的医疗数据共享的共识方法
CN117121037A (zh) 使用临时密钥对进行区块链资产的原子交换的方法和系统
CN110599384B (zh) 组织关系的转移方法、装置、设备及存储介质
CN110535958B (zh) 一种健康信息存储方法及相关设备
Pedrosa et al. A performant protocol for distributed health records databases
CN116189911B (zh) 基于区块链侧链技术的医院信息系统互通方法及其系统
CN117010889A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220216

Address after: 610041 No. 1677, north section of Tianfu Avenue, Wuhou District, Chengdu, Sichuan

Patentee after: Chengdu financial dream workshop Investment Management Co.,Ltd.

Address before: 611731, No. 2006, West Avenue, Chengdu hi tech Zone (West District, Sichuan)

Patentee before: University of Electronic Science and Technology of China

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210330