CN111858105A - 基于改进多层pbft的个人档案许可链管理系统及方法 - Google Patents

基于改进多层pbft的个人档案许可链管理系统及方法 Download PDF

Info

Publication number
CN111858105A
CN111858105A CN202010867108.6A CN202010867108A CN111858105A CN 111858105 A CN111858105 A CN 111858105A CN 202010867108 A CN202010867108 A CN 202010867108A CN 111858105 A CN111858105 A CN 111858105A
Authority
CN
China
Prior art keywords
node
nodes
consensus
pbft
layer
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
CN202010867108.6A
Other languages
English (en)
Other versions
CN111858105B (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.)
Hainan Maglink Network Technology Co Ltd
University of Electronic Science and Technology of China
Original Assignee
Hainan Maglink Network Technology Co Ltd
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 Hainan Maglink Network Technology Co Ltd, University of Electronic Science and Technology of China filed Critical Hainan Maglink Network Technology Co Ltd
Priority to CN202010867108.6A priority Critical patent/CN111858105B/zh
Publication of CN111858105A publication Critical patent/CN111858105A/zh
Application granted granted Critical
Publication of CN111858105B publication Critical patent/CN111858105B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • 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/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Human Resources & Organizations (AREA)
  • Data Mining & Analysis (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种基于改进多层PBFT的个人档案许可链管理系统及方法,属于区块链技术领域,包括依次连接的节点管理模块、层级划分模块以及共识模块;节点管理模块,用于利用个人档案许可链对参与的节点分别进行节点创建、等级分配以及节点删除的管理;层级划分模块,用于对所有节点依据其等级进行层级划分,并通过节点等级及从属节点ID列表进行自定义分层处理;共识模块,用于结合PBFT共识算法、多层节点以及激励机制实现优化。本发明通过以上设计,解决了许可链系统节点扩展性差、节点间通信复杂度高、节点增多后系统效率低下等问题,使许可链管理系统的单次共识通信总时长得到有效减少,单次共识通信次数大大降低。

Description

基于改进多层PBFT的个人档案许可链管理系统及方法
技术领域
本发明属于区块链技术领域,尤其涉及一种基于改进多层PBFT的个人档案许可链管理系统及方法。
背景技术
区块链作为比特币的底层技术逐步出现在大众视野中,自此区块链技术进入了1.0数字货币时代,而区块链技术真正应用于数字货币之外的场景要得益于以太坊,以太坊让区块链技术进入了2.0智能合约时代,目前发展迅速。不论是比特币还是以太坊,或是其他各个区块链应用都应有四大技术的支持:密码学、分布式技术、智能合约和共识算法,共识算法在区块链中负责节点之间对区块数据的共识验证,同时由相应激励机制调动节点维护网络积极性。目前主流的共识算法包含公有链算法:比特币和以太坊使用的PoW工作量证明,还有PoS权益证明以及DPOS委托权益证明;联盟链算法:PBFT实用拜占庭容错;私有链算法:Raft、Paxos崩溃容错。PBFT(Practical Byzantine Fault Tolerance,实用拜占庭容错算法)是一种基于拜占庭问题与传统BFT算法针对区块链共识场景的联盟链共识算法,其相较于BFT算法具有更高的实用性,但传统PBFT算法的固有缺陷导致了各种许可链系统的扩展性差、节点增多后系统效率低下等问题。同时,目前由于区块链的社会因素以及相关技术、算法的成熟度、实用性不足,导致了区块链落地应用较少,这也是区块链发展的一个关键性问题。
发明内容
针对现有技术中的上述不足,本发明提供一种基于改进多层PBFT的个人档案许可链管理系统及方法,解决了目前许可链系统节点扩展性差、节点增多后系统效率低下的问题。同时将其运用于公司、学校等机构的个人档案许可链管理场景,解决了许可链系统的实用性不足的问题。
为了达到以上目的,本发明采用的技术方案为:
本方案提供一种基于改进多层PBFT的个人档案许可链管理系统,包括依次连接的节点管理模块、层级划分模块以及共识模块;
所述节点管理模块,用于利用个人档案许可链对参与的节点分别进行节点创建、等级分配以及节点删除的管理;
所述层级划分模块,用于对所有节点依据其等级进行层级划分,并通过节点等级及从属节点ID列表进行自定义分层处理;
所述共识模块,用于结合PBFT共识算法、多层节点以及激励机制实现优化,完成基于改进多层PBFT的个人档案许可链管理。
基于上述系统,本发明还提供了一种基于改进多层PBFT的个人档案许可链管理方法,包括节点管理阶段、层级划分阶段以及共识过程阶段;
所述节点管理阶段包括以下步骤:
A1、利用个人档案许可链对各个职位的员工进行帐号注册,并为员工创建节点加入至网络;
A2、按员工职位对所创节点的等级进行分配;
A3、判断所创节点是否失效,若是,则删除该节点,结束流程,否则,进入步骤B1;
所述层级划分阶段包括以下步骤:
B1、根据所设等级将所创节点进行分层处理;
B2、利用创建节点时输入的从属节点ID列表进行自定义分层处理,设立各共识团队集群;
所述共识阶段包括以下步骤:
C1、将某一等级员工子节点发送至父节点的区块请求进行打包;
C2、利用父节点发布区块至员工子节点集群中,并利用PBFT算法在共识团队集群中对区块进行验证;
C3、判断验证是否通过,若是,则继续向共识团队上层发送所述区块的共识处理请求,并进入步骤C4,否则,返回步骤C1;
C4、判断共识处理是否达至顶层节点,若是,则进入步骤C5,否则,返回步骤C2;
C5、利用顶层节点对共识处理进行签名并同步所有子节点,同时结合积分激励机制实现优化,完成对基于改进多层PBFT的个人档案许可链。
进一步地,所述步骤A2包括以下步骤:
A201、将新加入的节点默认为最低等级;
A202、按员工职位对节点进行分配,并将分配的高等级进行广播提议;
A203、判断是否收到超过三分之二的同意消息,若是,则分配所需等级,并设最高等级为T0级,并进入步骤A204,否则,返回步骤A202;
A204、判断个人档案许可链中的每个节点是否都进行分配,若是,则完成按员工职位对所创节点等级的分配,并进入步骤A3,否则,返回步骤A201。
再进一步地,所述步骤B1具体为:
存储所创节点中相同等级的节点,并根据存储不同等级的节点实现对所创节点的分层处理。
再进一步地,所述步骤B2包括以下步骤:
B201、遍历每一个从属节点ID列表非空的节点,使每个节点与其从属节点构成树形结构,并设根节点等级为T0;
B202、将形成的多个树的根节点存放至共识团队集群,并将对应每个根节点T0的子节点存放至该根节点的下一层子共识集群;
B203、判断是否遍历所有创建节点时输入的从属节点ID列表,若是,完成对各共识团队集群的设立,并进入步骤C1,否则,返回步骤B201。
再进一步地,所述步骤C1包括以下步骤:
C101、将某一等级员工子节点所需个人档案数据的请求发送至父节点;
C102、针对所述请求数据达到一个区块容量大小时,利用父节点将其打包。
再进一步地,所述步骤C3包括以下步骤:
C301、判断验证是否通过,若是,则进入步骤C302,否则,返回步骤C1;
C302、由员工子节点利用轮询方式选取主节点,并向上层共识团队发送区块的共识处理请求,且保证父节点不参与PBFT共识处理;
C303、判断是否存在区块共识处理请求的发布,若是,则返回步骤C301,否则,跳过该节点进入下一节点,并进入步骤C4。
再进一步地,所述步骤C4包括以下步骤:
C401、利用轮询至的父节点将打包好的区块广播至同一等级的其他节点进行共识;
C402、将通过共识后的区块发送至向上一级父节点,并利用所述上一级父节点将打包好的区块广播至同一等级的其他节点进行共识;
C403、判断上一级父节点是否为顶层节点,若是,则进入步骤C5,否则,返回步骤C2。
再进一步地,所述步骤C5包括以下步骤:
C501、利用顶层节点对共识处理进行数字签名;
C502、通过顶层节点将具有所有决议层节点签名的有效区块广播至其所有子节点进行验证;
C503、判断顶层节点的验证是否通过,若是,则同步所有子节点,更新许可链,以及将区块上链,并进入步骤S504,否则,举报所述顶层节点,并返回步骤C502;
C504、根据参与区块上链的决议层节点与其从属节点,获取积分奖励;
C505、根据所述积分奖励判断区块验证是否成功,若是,则奖励积分,完成对基于改进多层PBFT的个人档案许可链管理系统及方法,否则,存在恶意行为,减少节点积分,并返回步骤C501。
本发明的有益效果:
(1)本发明提供了一种基于改进多层PBFT的个人档案许可链管理系统及方法,通过节点管理、层级划分、共识过程三个阶段,使针对个人档案场景下的许可链管理系统的层次结构更清晰,通过节点等级对节点进行自定义分类,为系统对不同层级、不同功能的节点管理提供便利性。
(2)本发明解决了许可链系统节点扩展性差、节点间通信复杂度高、节点增多后系统效率低下等问题,使许可链管理系统的单次共识通信总时长得到有效减少,单次共识通信次数大大降低,减少了许可链管理系统处理事务时间与处理事务数,大大提升许可链管理系统性能。许可链系统方法随着节点数n的增加,其共识通信次数n2会成倍增长,不光影响共识时长,更影响共识吞吐量、系统性能,本发明利用多层节点、多层共识机制对其进行改进,最后将方法应用到个人档案许可链管理系统场景中证明其实用性,利用许可链替代传统档案数据库,可使企业人力资源管理更加民主化、去中心化,同时提升安全性。
(3)本发明将方法分为三个阶段:节点管理阶段负责节点的加入、修改、删,层级划分阶段将节点附上等级属性,通过所属等级进行分层与分类处理,共识过程阶段每一层进行共识后往上层传递,最终到达顶层共识验证后进行上链,此方案减少了单次共识通信次数与单次共识总时长,同时节点进行了树形结构化,更方便节点的管理,这种层级关系可以应用到个人档案许可链场景中,将要存入个人档案的数据交由相关节点进行自底向上的共识验证才能上链,其提升个人档案数据的可信度和安全性,最后设有特定的积分机制,实现机构网络奖惩、提升实用性。方法可被应用于各种机构的个人档案许可链场景,机构包括但不限于企业、学校和事务所等。
附图说明
图1为本发明的系统结构示意图。
图2为本发明的方法流程图。
图3为本实施例中节点管理活动图。
图4为本实施例中层级划分活动图。
图5为本实施例中共识过程阶段三层架构示意图。
图6为本实施例中两层PBFT与传统PBFT单次共识通信时长比对图。
图7为本实施例中三层PBFT与传统PBFT单次共识通信时长比对图。
图8为本实施例中两层PBFT单次共识通信次数曲面图。
图9为本实施例中三层PBFT单次共识通信次数曲面图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
实施例1
如图1所示,本发明提供了一种基于改进多层PBFT的个人档案许可链管理系统,包括依次连接的节点管理模块、层级划分模块以及共识模块;节点管理模块,用于利用个人档案许可链对参与的节点分别进行节点创建、等级分配以及节点删除的管理;层级划分模块,用于对所有节点依据其等级进行层级划分,并通过节点等级及从属节点ID列表进行自定义分层处理;共识模块,用于结合PBFT共识算法、多层节点以及激励机制实现优化,完成基于改进多层PBFT的个人档案许可链管理。
本实施例中,本发明将系统分为三个阶段:节点管理阶段负责节点的加入、修改以及删除,层级划分阶段将节点附上等级属性,通过所属等级进行分层与分类处理,共识过程阶段每一层进行共识后往上层传递,最终到达顶层共识验证后进行上链,此方案减少了单次共识通信次数与单次共识总时长,同时节点进行了树形结构化,更方便节点的管理,这种层级关系可以应用到个人档案许可链场景中,将要存入个人档案的数据交由相关节点进行自底向上的共识验证才能上链,其提升个人档案数据的可信度和安全性,同时附以积分激励机制使其适用于个人档案许可链场景,实用性提升。解决了许可链系统节点扩展性差、节点间通信复杂度高、节点增多后系统效率低下等问题。利用许可链替代传统档案数据库,使企业人力资源管理更加民主化、去中心化,同时提升安全性。
实施例2
如图2所示,本发明还提供了一种基于改进多层PBFT的个人档案许可链管理方法,包括节点管理阶段、层级划分阶段以及共识过程阶段;
所述节点管理阶段包括以下步骤:
A1、利用个人档案许可链对各个职位的员工进行帐号注册,并为员工创建节点加入至网络;
A2、按员工职位对所创节点的等级进行分配,其实现方法如下:
A201、将新加入的节点默认为最低等级;
A202、按员工职位对节点进行分配,并将分配的高等级进行广播提议;
A203、判断是否收到超过三分之二的同意消息,若是,则分配所需等级,并设最高等级为T0级,并进入步骤A204,否则,返回步骤A202;
A204、判断个人档案许可链中的每个节点是否都进行分配,若是,则完成按员工职位对所创节点等级的分配,并进入步骤A3,否则,返回步骤A201;
A3、判断所创节点是否失效,若是,则删除该节点,结束流程,否则,进入步骤B1;
所述层级划分阶段包括以下步骤:
B1、根据所设等级将所创节点进行分层处理,其具体为:存储所创节点中相同等级的节点,并根据存储不同等级的节点实现对所创节点的分层处理;
B2、利用创建节点时输入的从属节点ID列表进行自定义分层处理,设立各共识团队集群,其实现方法如下:
B201、遍历每一个从属节点ID列表非空的节点,使每个节点与其从属节点构成树形结构,并设根节点等级为T0;
B202、将形成的多个树的根节点存放至共识团队集群,并将对应每个根节点的子节点存放至该根节点的下一层子共识集群;
B203、判断是否遍历所有创建节点时输入的从属节点ID列表,若是,完成对各共识团队集群的设立,并进入步骤C1,否则,返回步骤B201;
所述共识阶段包括以下步骤:
C1、将某一等级员工子节点发送至父节点的区块请求进行打包,其实现方法如下:
C101、将某一等级员工子节点所需个人档案数据的请求发送至父节点;
C102、针对所述请求数据达到一个区块容量大小时,利用父节点将其打包;
C2、利用父节点发布区块至员工子节点集群中,并利用PBFT算法在共识团队集群中对区块进行验证;
C3、判断验证是否通过,若是,则继续向共识团队上层发送所述区块的共识处理请求,并进入步骤C4,否则,返回步骤C1,其实现方法如下:
C301、判断验证是否通过,若是,则进入步骤C302,否则,返回步骤C1;
C302、由员工子节点利用轮询方式选取主节点,并向上层共识团队发送区块的共识处理请求,且保证父节点不参与PBFT共识处理;
C303、判断是否存在区块共识处理请求的发布,若是,则返回步骤C301,否则,跳过该节点进入下一节点,并进入步骤C4;
C4、判断共识处理是否达至顶层节点,若是,则进入步骤C5,否则,返回步骤C2,其实现方法如下:
C401、利用轮询至的父节点将打包好的区块广播至同一等级的其他节点进行共识;
C402、将通过共识后的区块发送至向上一级父节点,并利用所述上一级父节点将打包好的区块广播至同一等级的其他节点进行共识;
C403、判断上一级父节点是否为顶层节点,若是,则进入步骤C5,否则,返回步骤C2;
C5、利用顶层节点对共识处理进行签名并同步所有子节点,同时结合积分激励机制实现优化,完成基于改进多层PBFT的个人档案许可链管理,其实现方法如下:
C501、利用顶层节点对共识处理进行数字签名;
C502、通过顶层节点将具有所有决议层节点签名的有效区块广播至其所有子节点进行验证;
C503、判断顶层节点的验证是否通过,若是,则同步所有子节点,更新许可链,以及将区块上链,并进入步骤S504,否则,举报所述顶层节点,并返回步骤C502;
C504、根据参与区块上链的决议层节点与其从属节点,获取积分奖励;
C505、根据所述积分奖励判断区块验证是否成功,若是,则奖励积分,完成对基于改进多层PBFT的个人档案许可链管理系统及方法,否则,存在恶意行为,将减少节点积分,并返回步骤C501。
本实施例中,如图2所示,包括节点管理阶段、层级划分阶段和共识过程阶段。仿真实验传统PBFT算法分别包含20、84个节点,仿真实验中改进多层PBFT算法包含两层与三层仿真,两层仿真包含20个节点,其中,有4个为T0决议层节点,16个为T1子共识层节点,三层仿真包含84个节点,其中,4个为T0决议层节点,16个为T1子共识层节点,64个为T2子共识层节点。每个节点设有消息队列,节点不断从消息队列中取消息,模拟请求处理,请求消息内容代表区块内容。
本实施例中,节点管理阶段和层级划分阶段如图3和图4所示,共识过程阶段三层架构如图5所示。其中,节点处理阶段具体为:分别注册20、84个节点账号,以此创建节点加入网络。对所创节点加上索引index作为其节点ID,对所创节点的等级进行分配,默认依次分配,按节点ID排序,前4个节点为T0级,5~20为T1级,21~84为T2级。
如图4所示,本实施例中,层级划分阶段具体为:将所有节点按照等级进行均匀聚类,聚类数量为K,生成延迟矩阵,延迟矩阵模拟真实网络通信延迟;通过节点的从属子节点ID列表进行自定义分类,设立各共识团队集群。指定聚类数量K,实验中K默认为4。指定网络层级数,可选1层、2层、3层,1层即为不分层即传统PBFT算法。同时随机生成一定数值范围内的延迟矩阵,传统PBFT算法仿真采用通信延迟150ms~200ms范围,三层PBFT算法仿真主要包括子集群内节点之间通信延迟、子节点到父节点之间通信延迟以及T0层各个节点之间通信延迟,子集群内节点之间由于属于同一类,所以通信延迟较低,设为20~50ms范围,子节点到父节点之间由于是跨层通信,所以通信延迟适中,设为50~100ms范围,T0层各个节点之间由于是跨T0类通信,所以通信延迟较高,设为100~150ms范围。查询各个节点从属子节点ID列表,依次运行T0级节点、T1级节点以及T2级节点,节点对象的引用加入本层所属list列表,list数量对应三层分别为1、4、16,设置节点类两属性:所在集群list和延迟矩阵。
本实施例中,如图5所示,构造一个默认PBFT类型消息“msg”,用户输入需要上链的区块数据,发送给其所在子集群主节点,默认T2-1-1,(Ta-b-c代表该节点为a层,且其父节点索引为b,其本节点索引为c),T2-1-1即第二层主节点所在子集群进入第一次共识,第一次共识完成,系统处理reply消息,判断父节点是否存在,若存在则发送request消息与区块到上一层进行第二次共识,直至到达顶层T0共识完成,顶层T0级所有节点对区块进行数字签名,所有顶层T0节点广播区块发送update消息给其子集群节点进行同步,共识完成。默认PBFT类型消息具体属性为所指定主节点索引、发起消息节点ID、收到消息节点ID、内容、时间戳、类型以及合法性。
本实施例中,需要上链的区块数据为个人档案类型数据,具体属性有个人信息、升降职记录、绩效数据、合同数据、项目经历数据以及个人荣誉数据。其上链数据将按照数据内容进行积分奖励,后续发放实质奖励调动员工积极性,记录员工成就。子集群主节点索引可由p=v mod n计算得出,v为当前视图编号,n为集群内节点总数,随着视图变更,主节点轮询发布区块。
本实施例中,T2-1-1即第二层主节点收集本集群内各个节点个人档案数据上链请求,当请求达到区块容量时进行打包成块,主节点广播区块到其所属集群,发送pre-prepare消息到集群内其他节点,所有该集群节点进入预准备阶段,各个子节点收到pre-prepare消息,检查消息合法性,进入准备阶段,各个子节点通过检查结果选择是否发送prepare消息给其他子节点,其他节点收到prepare消息,检验合法性,统计节点收到有效消息数量,如果收到的消息数大于等于2f(包括自己,其中f为可容忍恶意节点数,可由节点总数N=3f+1得出),节点进入commit提交阶段,各个commit阶段节点检验区块个人档案数据是否属实、区块前hash值计算是否无误以及时间戳是否正确,检验通过则发送commit消息,等待接收其他节点的commit消息,检验收到的commit消息合法性并统计,若收到的有效消息数量大于等于2f+1(包括自己),则本次PBFT共识完成,进入reply阶段。
本实施例中,所有顶层T0节点广播区块发送update消息给其下一层子集群主节点,下一层主节点发送update消息并广播区块给其所在集群所有节点和下一层主节点(如果存在),直至最后一层完成同步,至此全网同步成功,共识完成。
下面以两个具体实验例对本发明提供的基于改进多层PBFT的个人档案许可链管理系统及方法的单次共识通信总时长和单次共识通信次数做进一步描述。
(1)单次共识通信总时长。
单次共识通信总时长指从客户端发送上链请求开始,经过一系列多层PBFT改进共识流程直至最后上链所花费的单次共识总时长。本实验首先测量了10次传统PBFT单次共识总时长、10次两层PBFT单次共识总时长,其节点数均为20,具体数据如图6所示。之后本实验测量了10次传统PBFT单次共识总时长和10次三层PBFT单次共识总时长,其节点数均为84,具体数据如图7所示。可见本发明的三层PBFT与两层PBFT相较于传统PBFT算法,单次共识总时长均可缩短200ms~300ms。
(2)单次共识通信次数
单次共识通信次数指在单次共识中,节点间发送接收pre-prepare、prepare、commit三类消息所经历的通信总次数。首先定义变量:K为聚类数量,K决定了T0层集群的决议节点数量,实验采用均匀聚类,每个集群节点数一致,均为K。N为实验共识总节点数。随着N的增加,传统PBFT在单次共识通信次数指标上将会有明显的增长。由PBFT算法过程可得,pre-prepare预准备阶段主节点将发送预准备消息给其他节点,此时通信次数为N-1,然后进入prepare准备阶段除主节点外的各个节点将发送准备消息给其他所有节点,此时通信次数为(N-1)2,最后进入commit提交阶段所有节点均需发送commit消息给其他所有节点,此时通信次数为N*(N-1)。所以传统PBFT算法单次共识通信次数下式所示:
(N-1)+(N-1)2+N*(N-1)=2N*(N-1) (1)
两层PBFT改进算法包含2次共识和1次update同步,其中第一次共识发生与子集群中,已知子集群中节点数为
Figure BDA0002650072270000131
则由上式(1)得第一次共识通信次数为
Figure BDA0002650072270000132
第二次共识为T0层决议节点共识,其节点数为K,由公式(1)得,第二次共识通信次数为2K-(K-1)。最后update同步为所有T0级别节点发送update消息到其所有子节点,通信次数为
Figure BDA0002650072270000141
综上所述可得两层PBFT改进算法单次共识通信次数如下公式(2)所示:
Figure BDA0002650072270000142
三层PBFT改进算法包含3次共识和1次update同步,设
Figure BDA0002650072270000149
为T1层聚类数,其中T0层与T1层共识与两层PBFT算法共识过程通信次数计算与式(2)同理可得,为
Figure BDA0002650072270000143
由于是均匀聚类,式中
Figure BDA00026500722700001410
T2层子集群节点数为
Figure BDA0002650072270000144
由公式(1)的,T2层共识通信次数为
Figure BDA0002650072270000145
update同步阶段采用逐层同步,通信次数为
Figure BDA0002650072270000146
综上所述可得三层PBFT改进算法单次共识通信次数如下公式(3)所示:
Figure BDA0002650072270000147
综上所述,假设K=4,N=20与K=4、N=84两种情况下多层PBFT与传统PBFT单次共识通信次数比较如下表1所示:
表1
Figure BDA0002650072270000148
Figure BDA0002650072270000151
可见本发明基于两层PBFT与三层PBFT算法的个人档案许可链相较于传统PBFT算法在单次共识通信次数上取得明显优势,改进算法使通信次数大幅降低。此外,改变K与N两个变量的值可对应出不同的通信次数,其传统PBFT通信次数与两层PBFT、三层PBFT通信次数之比为因变量,K、N为自变量,对应关系曲面图如图8和图9所示。图中两层PBFT在K=45、N=2000时通信次数之比到达顶点,意味着优化效果最好,三层PBFT在K=12、N=2000时通信次数之比到达顶点,意味着优化效果最好。

Claims (9)

1.基于改进多层PBFT的个人档案许可链管理系统,其特征在于,包括依次连接的节点管理模块、层级划分模块以及共识模块;
所述节点管理模块,用于利用个人档案许可链对参与的节点分别进行节点创建、等级分配以及节点删除的管理;
所述层级划分模块,用于对所有节点依据其等级进行层级划分,并通过节点等级及从属节点ID列表进行自定义分层处理;
所述共识模块,用于结合PBFT共识算法、多层节点以及激励机制实现优化,完成基于改进多层PBFT的个人档案许可链管理。
2.基于改进多层PBFT的个人档案许可链管理方法,其特征在于,包括节点管理阶段、层级划分阶段以及共识过程阶段;
所述节点管理阶段包括以下步骤:
A1、利用个人档案许可链对各个职位的员工进行帐号注册,并为员工创建节点加入至网络;
A2、按员工职位对所创节点的等级进行分配;
A3、判断所创节点是否失效,若是,则删除该节点,结束流程,否则,进入步骤B1;
所述层级划分阶段包括以下步骤:
B1、根据所设等级将所创节点进行分层处理;
B2、利用创建节点时输入的从属节点ID列表进行自定义分层处理,设立各共识团队集群;
所述共识阶段包括以下步骤:
C1、将某一等级员工子节点发送至父节点的区块请求进行打包;
C2、利用父节点发布区块至员工子节点集群中,并利用PBFT算法在共识团队集群中对区块进行验证;
C3、判断验证是否通过,若是,则继续向共识团队上层发送所述区块的共识处理请求,并进入步骤C4,否则,返回步骤C1;
C4、判断共识处理是否达至顶层节点,若是,则进入步骤C5,否则,返回步骤C2;
C5、利用顶层节点对共识处理进行签名并同步所有子节点,同时结合积分激励机制实现优化,完成基于改进多层PBFT的个人档案许可链管理。
3.根据权利要求2所述的基于改进多层PBFT的个人档案许可链管理方法,其特征在于,所述步骤A2包括以下步骤:
A201、将新加入的节点默认为最低等级;
A202、按员工职位对节点进行分配,并将分配的高等级进行广播提议;
A203、判断是否收到超过三分之二的同意消息,若是,则分配所需等级,并设最高等级为T0级,并进入步骤A204,否则,返回步骤A202;
A204、判断个人档案许可链中的每个节点是否都进行分配,若是,则完成按员工职位对所创节点等级的分配,并进入步骤A3,否则,返回步骤A201。
4.根据权利要求2所述的基于改进多层PBFT的个人档案许可链管理方法,其特征在于,所述步骤B1具体为:
存储所创节点中相同等级的节点,并根据存储不同等级的节点实现对所创节点的分层处理。
5.根据权利要求3所述的基于改进多层PBFT的个人档案许可链管理方法,其特征在于,所述步骤B2包括以下步骤:
B201、遍历每一个从属节点ID列表非空的节点,使每个节点与其从属节点构成树形结构,并设根节点等级为T0;
B202、将形成的多个树的根节点存放至共识团队集群,并将对应每个根节点的子节点存放至该根节点的下一层子共识团队集群;
B203、判断是否遍历所有创建节点时输入的从属节点ID列表,若是,完成对各共识团队集群的设立,并进入步骤C1,否则,返回步骤B201。
6.根据权利要求2所述的基于改进多层PBFT的个人档案许可链管理方法,其特征在于,所述步骤C1包括以下步骤:
C101、将某一等级员工子节点所需个人档案数据的请求发送至父节点;
C102、针对所述请求数据达到一个区块容量大小时,利用父节点将其打包。
7.根据权利要求2所述的基于改进多层PBFT的个人档案许可链管理方法,其特征在于,所述步骤C3包括以下步骤:
C301、判断验证是否通过,若是,则进入步骤C302,否则,返回步骤C1;
C302、由员工子节点利用轮询方式选取主节点,并向上层共识团队发送区块的共识处理请求,且保证父节点不参与PBFT共识处理;
C303、判断是否存在区块共识处理请求的发布,若是,则返回步骤C301,否则,则跳过该节点进入下一节点,并进入步骤C4。
8.根据权利要求2所述的基于改进多层PBFT的个人档案许可链管理方法,其特征在于,所述步骤C4包括以下步骤:
C401、利用轮询至的父节点将打包好的区块广播至同一等级的其他节点进行共识;
C402、将通过共识后的区块发送至向上一级父节点,并利用所述上一级父节点将打包好的区块广播至同一等级的其他节点进行共识;
C403、判断上一级父节点是否为顶层节点,若是,则进入步骤C5,否则,返回步骤C2。
9.根据权利要求2所述的基于改进多层PBFT的个人档案许可链管理方法,其特征在于,所述步骤C5包括以下步骤:
C501、利用顶层节点对共识处理进行数字签名;
C502、通过顶层节点将具有所有决议层节点签名的有效区块广播至其所有子节点进行验证;
C503、判断顶层节点的验证是否通过,若是,则同步所有子节点,更新许可链,以及将区块上链,并进入步骤S504,否则,举报所述顶层节点,并返回步骤C502;
C504、根据参与区块上链的决议层节点与其从属节点,获取积分奖励;
C505、根据所述积分奖励判断区块验证是否成功,若是,则奖励积分,完成基于改进多层PBFT的个人档案许可链管理系统及方法,否则,存在恶意行为,减少节点积分,并返回步骤C501。
CN202010867108.6A 2020-08-26 2020-08-26 基于改进多层pbft的个人档案许可链管理系统及方法 Active CN111858105B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010867108.6A CN111858105B (zh) 2020-08-26 2020-08-26 基于改进多层pbft的个人档案许可链管理系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010867108.6A CN111858105B (zh) 2020-08-26 2020-08-26 基于改进多层pbft的个人档案许可链管理系统及方法

Publications (2)

Publication Number Publication Date
CN111858105A true CN111858105A (zh) 2020-10-30
CN111858105B CN111858105B (zh) 2021-03-16

Family

ID=72967092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010867108.6A Active CN111858105B (zh) 2020-08-26 2020-08-26 基于改进多层pbft的个人档案许可链管理系统及方法

Country Status (1)

Country Link
CN (1) CN111858105B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112769580A (zh) * 2020-12-31 2021-05-07 阳江市链点创新科技发展有限公司 一种区块链分层激励共识算法
CN113297561A (zh) * 2021-05-27 2021-08-24 复旦大学 基于sgx和区块链的高考资格认证系统
CN114584450A (zh) * 2022-03-04 2022-06-03 中国建设银行股份有限公司 双层区块链系统及共识方法
CN114938292A (zh) * 2022-04-26 2022-08-23 重庆邮电大学 一种基于节点可信度的多层次优化pbft共识方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180307573A1 (en) * 2017-04-21 2018-10-25 Vmware, Inc. Byzantine agreement using communications having linear complexity
CN108763302A (zh) * 2018-04-19 2018-11-06 深圳市网心科技有限公司 区块链共识处理方法、电子装置及计算机可读存储介质
CN109615474A (zh) * 2018-12-11 2019-04-12 南京大学 基于区块链的中小企业竞争情报共享平台构建方法
CN109819003A (zh) * 2017-11-22 2019-05-28 南京理工大学 一种区块链的分层共识方法和系统
CN110309657A (zh) * 2019-06-20 2019-10-08 四川大学 区块链的安全风险评估方法
CN111010278A (zh) * 2019-11-14 2020-04-14 江苏大学 一种基于DPoS高容错分层共识方法
CN111049895A (zh) * 2019-12-09 2020-04-21 北京工商大学 一种基于ism的改进pbft共识方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180307573A1 (en) * 2017-04-21 2018-10-25 Vmware, Inc. Byzantine agreement using communications having linear complexity
CN109819003A (zh) * 2017-11-22 2019-05-28 南京理工大学 一种区块链的分层共识方法和系统
CN108763302A (zh) * 2018-04-19 2018-11-06 深圳市网心科技有限公司 区块链共识处理方法、电子装置及计算机可读存储介质
CN109615474A (zh) * 2018-12-11 2019-04-12 南京大学 基于区块链的中小企业竞争情报共享平台构建方法
CN110309657A (zh) * 2019-06-20 2019-10-08 四川大学 区块链的安全风险评估方法
CN111010278A (zh) * 2019-11-14 2020-04-14 江苏大学 一种基于DPoS高容错分层共识方法
CN111049895A (zh) * 2019-12-09 2020-04-21 北京工商大学 一种基于ism的改进pbft共识方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘懿中 等: "区块链共识机制研究综述", 《密码学报》 *
方维维 等: "一种面向区块链的优化PBFT共识算法", 《北京交通大学学报》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112769580A (zh) * 2020-12-31 2021-05-07 阳江市链点创新科技发展有限公司 一种区块链分层激励共识算法
CN112769580B (zh) * 2020-12-31 2023-08-01 广东海洋大学 一种区块链分层激励共识算法
CN113297561A (zh) * 2021-05-27 2021-08-24 复旦大学 基于sgx和区块链的高考资格认证系统
CN113297561B (zh) * 2021-05-27 2022-06-21 复旦大学 基于sgx和区块链的高考资格认证系统
CN114584450A (zh) * 2022-03-04 2022-06-03 中国建设银行股份有限公司 双层区块链系统及共识方法
CN114938292A (zh) * 2022-04-26 2022-08-23 重庆邮电大学 一种基于节点可信度的多层次优化pbft共识方法
CN114938292B (zh) * 2022-04-26 2023-05-23 重庆邮电大学 一种基于节点可信度的多层次优化pbft共识方法

Also Published As

Publication number Publication date
CN111858105B (zh) 2021-03-16

Similar Documents

Publication Publication Date Title
CN111858105B (zh) 基于改进多层pbft的个人档案许可链管理系统及方法
CN109151013B (zh) 基于联盟区块链的物流业信息平台
CN109871669A (zh) 一种基于区块链技术的数据共享解决方法
CN110572281B (zh) 一种基于区块链的可信日志记录方法及系统
CN110971684B (zh) 一种基于pbft的区块链网络节点负载均衡方法
CN113438084B (zh) 一种基于r-pbft共识算法和时间戳的绿电溯源方法及系统
CN107231299A (zh) 一种链路由及实现区块链跨链通信的系统
CN111539750A (zh) 一种基于区块链和大数据技术的商品溯源系统
Wang et al. A trusted consensus fusion scheme for decentralized collaborated learning in massive IoT domain
Liu et al. Ltsm: Lightweight and trusted sharing mechanism of iot data in smart city
WO2021227319A1 (zh) 一种工程协作区块链数据结构及应用方法
CN114938292B (zh) 一种基于节点可信度的多层次优化pbft共识方法
CN111798234B (zh) 一种轻量级区块链系统及构造方法
CN115796261A (zh) 一种基于区块链的轻量级分组共识的联邦学习方法
CN116611840A (zh) 一种基于区块链的分布式数据资产流转追溯系统及方法
Fan et al. Dlbn: Group storage mechanism based on double-layer blockchain network
Xu et al. Improved PBFT algorithm based on vague sets
CN116467026A (zh) 一种基于区块链的云桌面数据安全共享、溯源方法和系统
Zhang et al. A master-slave chain architecture model for cross-domain trusted and authentication of power services
Li et al. EBFT: A hierarchical and group-based byzantine fault tolerant consensus algorithm
Xiao et al. Improved Practical Byzantine Fault Tolerance Algorithm Based on Supply Chain
Mao et al. Geochain: a locality-based sharding protocol for permissioned blockchains
Feng Enterprise’s credit information sharing model based on consortium blockchain
Zhu et al. A PBFT consensus scheme with reputation value voting based on dynamic clustering
Jiang et al. VPBFT: Improved PBFT Consensus Algorithm Based on VRF and PageRank Algorithm

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