一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于区块链的电子简历系统及其实现方法

2022-07-02 11:32:38 来源:中国专利 TAG:


1.本发明涉及一种基于区块链的电子简历系统及其实现方法,属于信息管理技术领域。


背景技术:

2.在当前的招聘流程中,大多数用人单位是通过特定的招聘网站来获取应聘者的简历。然而,许多应聘者为了在激烈的竞争中脱颖而出,会在简历中添加许多造假的履历信息,例如大厂的工作经历,夸大自己的能力,再有甚者,伪造学历等,再加上有些用人单位为了减少招聘花销,简化了简历验证的流程,最终导致用人单位选择了错误的人选,错失了优秀的人才,对用人单位造成了或多或少的财产损失。根据当前的招聘流程进行分析,发现了当前招聘流程中存在着以下几个问题:
3.(1)无法保证用人单位收到的简历信息的真实性。当前的电子简历平台仍然局限于学籍认证,但是对于用户所述的工作经历并没有办法去有效辨别真伪。这样会让能力不足的“伪人才”有机会鱼目混珠,让企业错失真正的优秀人才。
4.(2)验证简历信息流程复杂、花销大。当前用人单位对应招聘简历上的信息进行验证时,都是通过与其他三方平台进行交易,输入招聘者的相关信息进行查验,但是对于招聘的高峰期,每天会收到成千上万的建立,这样对hr验证简历信息工作就带来了极大的困难,并且效率也及其低下。在当今竞争如此激烈的社会,错失就会导致优秀人才流失。
5.(3)无法保证验证单位验证信息的真实性。用人单位依赖的第三方验证平台的验证信息存在着伪造的风险,无法保证其验证信息的可靠性、真实性,没有真正解决信息交换和共享中各方信任和安全问题。
6.(4)如果发生不当聘用,较小影响是支付额外的招聘费用,较大影响是承受商业上的巨额财产损失、单位名誉的损失等。
7.(5)简历数量庞大,没有选择推荐的简历,会花费大量的时间、精力和财力。


技术实现要素:

8.本发明所要解决的技术问题是,克服现有技术存在的问题而提供一种基于区块链的电子简历系统及其实现方法,在保证系统安全可靠的同时,针对企业招聘时筛选简历难等问题提出基于区块链的解决方法。
9.本发明提供一种基于区块链的电子简历系统,包括:
10.用户注册登录模块,用于用户分角色注册、登录;
11.证书管理模块,用于对注册成功的用户签发证书,并生成对应的公私钥,并在平台服务端缓存一份;对于普通用户,还需要根据身份信息经过可逆性编码生成对应的身份认证字符串,以便于后期查询个人信息验证;
12.信息管理模块,用于录入个人信息并对录入的信息进行共识处理后写入区块链;高校、企业等其他机构录入个人教育经历、工作经历等相关信息后经过共识处理后写入区
块链中;
13.共识处理模块,用于对信息管理模块录入的信息进行共识处理,并将处理结果发布至区块链;利用当前记账主节点将验证通过后的交易发送至先进先出的发布队列中,所有共识节点收到验证消息并验证通过后,经过固定时间将交易发布至区块链上;
14.信息查询模块,用于查询个人用户的简历信息;个人用户向平台服务端发送查询本人相关简历请求,平台经过身份信息认证后调用智能合约查询出本人的各项数据并进行整理、合并,最终经过加密返回给个人用户,个人用户解密后进行验收;
15.仲裁模块,用于对存在错误、缺失的简历信息进行仲裁处理;
16.简历推荐模块,用于计算简历的优先推荐值并且公布;根据共享的用户社会征信、工作评价等,计算出该简历的优先推荐值,并且在平台上进行公布。
17.本发明的系统利用区块链技术实现高校、用人单位、公安、银行等机构的个人信息共享,并通过上述机构进行信息维护,实现“一人一生一号”的信息管理及共享。本发明通过利用区块链去中心化特性以及分布式协调机制在教育机构、企业单位、就业指导中心以及档案管理中心等分布式实体之间,建立自动化协调一致性的“一人一生一号”个人履历管理体系,从而达到个人履历真实性、合法性、关联性的要求,实现人事资料的标准化,唯一化;利用区块链的数据防篡改特性以及多重交叉溯源验证特性,让用人平台参与到简历认证业务过程中,通过真实透明可追溯的业务数据链来核实求职者简历,有助于用人平台在招聘时快速完成履历的核实、防止一些不必要的纠纷,降低背景调查过程中人力物力和时间成本,提升招聘效率;并且区块链可以对求职者的隐私进行有效的保护。
18.本发明进一步优化的技术方案如下所示:
19.优选地,所述用户注册登录模块对个人、高校、用人单位等要加入联盟链的机构通过平台服务端进行分角色注册。对于个人以普通用户的身份进行注册,在注册时需要填写相关的姓名、身份证信息、性别等。对于高校、用人单位等机构需要以机构的身份进行注册,需要填写相关的机构编号、机构属性等信息。用户成功注册后,即可通过密码和验证码登录。注册成功后,通过密码和验证码登录。所有加入联盟链的机构都需上传并维护所属单位的、个人的履历信息,机构不仅仅局限于高校、企业,包括公安系统、银行等与个人生活息息相关的机构。
20.优选地,所述仲裁模块是当个人用户发现查新出来的简历信息存在错误、缺失,可向平台服务端发送仲裁请求,由平台仲裁委员会进行请求处理,对有误的一方进行惩罚措施。所述仲裁委员会是由法院、公安等社会权威组织里成员担任。
21.本发明还提供一种实现基于区块链的电子简历系统的方法,包括以下步骤:
22.步骤1、用户通过用户注册登录模块进行分角色注册,同时证书管理模块对注册成功的用户签发证书,并生成对应的公钥;
23.步骤2、通过信息管理模块录入用户信息,并采用共识处理模块对录入的用户信息进行共识处理,然后将共识处理的结果写入区块链;共识处理模块采用基于信誉与角色的分层共识优化机制(cr-pbft)进行共识处理;
24.步骤3、个人用户采用信息查询模块查询本人的信息,并对查询出的信息进行验收,当个人用户发现查询出的个人信息存在问题时,通过仲裁模块进行仲裁处理;
25.步骤4、简历推荐模块根据共享的用户信息,计算出简历的优先推荐值并进行推
荐。
26.所述步骤1中,平台将用户的相关履历信息的所处区块信息经过平台公钥加密存储在平台服务端的关系数据库中,后面维护的信息以链式追加。
27.所述步骤2中,基于信誉与角色的分层共识优化机制是一个基于“评价-分角
ꢀ‑
分层”的流程,包含信誉评估、信誉更新、角色区分和分层共识三个部分,其中信誉评估根据信誉积分、参与共识积极程度和节点加入网络时间的长短进行评估节点综合信誉值;信誉更新则是动态的更新节点的信誉积分,保障节点新人状态的稳定。
28.对共识节点综合信誉值的评价主要基于节点的三大特征:信誉积分score、参与共识积极程度attitude和节点加入网络时间的长短time。
29.a)信誉积分score是根据节点在共识过程中扮演的三种角色
‑‑“
好人”、“坏人”和“庸人”所决定的。当某个节点在共识过程中传播错误消息或者发起恶意攻击,则该节点扮演的是坏人角色,直接将其信誉积分清零;如果在共识过程中发生了故障,则该节点扮演的是庸人角色,则执行惩罚机制,扣除一定的信誉积分;如果在共识过程中行为正常,则可以执行奖励机制,奖赏一定的信誉积分。
30.b)参与共识积极程度attitude是根据节点在共识过程中响应态度所决定的。 attitude主要可以分为3种状态:积极态、懒散态和消极态。记每个节点初始attitude 的因子ai为0,每当一轮共识发起时,若某个节点能在有效时间内迅速响应共识,则标记该节点处于积极态,ai加一;若某个节点在收到消息后未立即响应,在未超过响应阈值的时间段内在反馈信息,则标记该节点处于懒散态,ai减一;若某个节点在收到消息后未在指定时间阈内响应,则标记该节点处于消极态,ai减二。最终attitude分的计算方式如下:
31.ai=m
×ai
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
32.其中,m是惩罚扣除常数或者奖励分常数,ai是attitude因子。
33.c)节点加入网络时间的长短time是计算节点加入网络时间,根据time计算出该节点的信誉值权重。计算共识如下:
[0034][0035]
其中,wi是i节点的信誉值权重,t
now
表示当前时间戳,ti表示i节点进入网络的时间戳。
[0036]
通过以上三个节点的特征,进行联合评估计算,计算出i节点的综合信誉值ci,计算共识如下:
[0037]ci
=(si ai)
×
wiꢀꢀ
(5)
[0038]
角色分配是根据节点综合信誉值进行划分。总体划分为:选民节点、议员节点、议会组组长节点、未知节点、恶意节点这5类,并且赋予不同节点不同的权利。
[0039]
综合信誉值高于设定阈值的节点设定为选民节点,具有共识投票的权利;在选民节点中推选出信誉高、可以代理该域的节点,统称为议员节点,候选主节点和反馈共识投票的权利;在议员节点中任意取一个节点作为主节点,用于接收客户端信息和发起共识、反馈结果,定义该节点为议会长节点;新进节点统称为未知节点,不具有参与共识的权利;在共识过程中有发送恶意消息或者恶意攻击等行为的节点定义为恶意节点,不具有参与共识的权利;监督未知节点和恶意节点的节点,定义为监督节点,不具有参与共识的权利,拥有奖
励和惩罚未知节点和恶意节点的权利。节点的角色身份演变如附图3所示。
[0040]
分层共识是根据角色进行分层,总体划分为2层共识层,第一共识层由选民域与自己的议员组成,第二共识层是由各个区域的议员和议会组组长组成。在第一共识层中,议员会对区块进行一次区域内共识,选出一个代表,并且在区域内统一“建议”;在第二共识层中,议会组组长会根据议员节点反馈的信息进行统计与汇总,最终决定上链,并通知客户端。
[0041]
由选民节点们与议员节点组成第一共识层,达成初步共识,后经过由议员与议会组组长组成的的第二共识层达成最终共识。在第一共识层中,选民域与议员节点先达成共识,但是由于选民域中的节点数量仍然庞大,如果按照原pbft共识算法进行共识过程,那么达成共识所花费的时间仍然很长,对系统的性能照成一定的影响,为了解决这种问题,本文提出了一种高效邻居匹配模型。给每个选民节点中添加了邻居节点表,用于维护该节点的相邻节点、综合信誉值及其当前的角色。每当主节点向网络中广播生成空区块,所有的共识节点更新自己的邻居节点表,将综合信誉低的节点降级成未知节点,放入承接队列中。在共识过程中,选民节点会选取邻居节点表中的任意s个节点发送共识意见,并等待其他节点的共识意见,进行意见交换。被选中的节点统称为邻居节点。多次共识信息交互达到一致性条件后返回共识结果给各自的议员节点。为防止选民节点中存在恶意节点,在一轮共识意见交互后,进行二轮共识建议确认,如果发现两次收到的消息不一致,代表该节点是恶意节点,直接扣除其信誉分,并且将其降级成未知节点,放入承接队列中,不在参与共识。第一共识层节点共识交互图附图4。
[0042]
基于信誉与角色的分层共识优化机制的总体流程如下:
[0043]
步骤2.1、request阶段:客户端向议会组组长节点发送交易信息;
[0044]
步骤2.2、pre-prepare阶段:议会组组长组装预准备消息,同时对客户端的交易请求进行编号n并添加到准备信息后:<<pre-prepare,v,n,d>,m>
[0045]
其中,v指示当前消息当前在哪个视图中被编号和发送,m是客户端的请求消息,n是主节点给m分配的一个序号(sequence number),d是m的摘要;各个共识节点接收到pre-prepare消息后进入到phase阶段;
[0046]
步骤2.3、phase阶段:选民节点对收到的pre-prepare信息进行校验,包括区块内的交易合法性,区块头信息的真实性等,之后节点向其邻居节点发送共识交互意见,并等待其他节点返回的共识交互意见;接着进入到r-phase阶段;
[0047]
步骤2.4、r-phase阶段:每个选民节点再次向之前的邻居节点们发送共识交互意见,并等待其它节点返回的共识交互意见,进行共识意见确认;之后进入到 p-commit阶段;
[0048]
步骤2.5、p-commit阶段:选民节点将自己的共识意见发送给自己所在选民域的议员节点;
[0049]
步骤2.6、commit阶段:议员节点直接将自己的共识结果反馈给议会组组长节点;
[0050]
步骤2.7、reply阶段:议会组组长节点在收到占总数2/3的议员节点后将验证结果返回给客户端,反馈信息中内置了所有共识节点的签名。
[0051]
所述步骤3中,信息管理模块对录入的信息进行共识处理后写入区块链,具体内容为:当每个机构发布普通用户i信息时,首先通过hash函数获取摘要,随后使用机构节点的私钥对摘要作签名,共识节点接收到附有签名的摘要数据后,根据机构的公钥进行解密获
得原摘要,同时对信息计算hash值得到计算后的摘要进行比对,若二者相同则验证通过,将用户i的信息写入区块链,并且将所处区块信息经过平台公钥加密后写入平台数据库中,用于用户查询;否则验证不通过,重新执行验证操作。
[0052]
所述步骤3中,通过信息查询模块进行信息查询的步骤如下:
[0053]
(1)个人用户向平台申请查询本人履历信息;
[0054]
(2)平台根据个人身份验证字符串去查询存储在平台服务端的个人相关区块信息;
[0055]
(3)平台根据查询出的区块信息以及个人身份验证字符串去查询个人各项履历信息,经个人用户公钥加密后返回给个人用户;
[0056]
(4)个人用户经过私钥解密后验证各项履历,若发现履历存在问题可申请仲裁;不存在问题则流程结束。
[0057]
所述步骤3中,为确保机构所需录入个人履历信息的具体内容真实、可靠,系统增加了奖惩措施和仲裁模块,具体操作如下:
[0058]
(1)当用户在平台服务端注册时,平台服务端会赋予机构一个初始用户信誉分,用户在缴纳了固定的押金m后才可加入联盟链中;
[0059]
(2)当个人上报存在履历信息有误的情况并申请仲裁时,经过仲裁委员验证的确存在错误情况,则扣除用户缴纳的押金,并扣除一定的用户信誉分s,并奖励给上报人;当总裁委员经查验后发现是个人污蔑,则对上报之人扣除缴纳的押金并扣除一定的信誉分s,并将扣除的押金奖励给企业;
[0060]
(3)无抵押金的用户须重新上缴押金,上缴的押金数额计算共识如下:
[0061]
m=m
×
snꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0062]
其中,m为需要重新上缴的抵押金,m为初始固定抵押金,s为扣除的固定信誉分,n为信息错误的次数。
[0063]
所述步骤4中,所述简历推荐模块,根据共享的个人社会征信值,计算出该简历的优先推荐值,并且在平台上进行公布。个人社会征信值包括公安系统中的违法记录mi,银行记录中的征信值hi以及企业工作评价值ci等,基于机构设置不同的权重wi,推荐推荐值计算公式如下:
[0064]
ti=w1×
mi w2×hi
w3×ci
... wi×
niꢀꢀ
(2)
[0065]
其中,ni是某个机构的征信值。
附图说明
[0066]
图1为本发明的整体框架图。图2为本发明的整体时序图。
[0067]
图3为本发明中cr-pbft共识优化机制的角色变更图。
[0068]
图4为本发明中cr-pbft共识优化机制的第一共识层节点共识交互图。
[0069]
图5为本发明中cr-pbft共识优化机制的整体流程图。
具体实施方式
[0070]
下面结合附图对本发明的技术方案做进一步的详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护权
限不限于下述的实施例。
[0071]
实施例1
[0072]
本实施例提供一种基于区块链的电子简历系统,如图1所示,包括用户注册登录模块、证书管理模块、信息管理模块、共识处理模块、信息查询模块、仲裁模块及简历推荐模块。其中,用户注册登录模块,用于用户分角色注册、登录。对个人、高校、用人单位等要加入联盟链的机构通过平台服务端进行分角色注册。对于个人以普通用户的身份进行注册,在注册时需要填写相关的姓名、身份证信息、性别等。对于高校、用人单位等机构需要以机构的身份进行注册,需要填写相关的机构编号、机构属性等信息。用户成功注册后,即可通过密码和验证码登录。注册成功后,通过密码和验证码登录。所有加入联盟链的机构都需上传并维护所属单位的、个人的履历信息,机构不仅仅局限于高校、企业,包括公安系统、银行等与个人生活息息相关的机构。
[0073]
证书管理模块,用于对注册成功的用户签发证书,并生成对应的公私钥,并在平台服务端缓存一份。对于普通用户,还需要根据身份信息经过可逆性编码生成对应的身份认证字符串,以便于后期查询个人信息验证。
[0074]
信息管理模块,用于录入个人信息并对录入的信息进行共识处理后写入区块链。高校、企业等其他机构录入个人教育经历、工作经历等相关信息后经过共识处理后写入区块链中。具体内容为:
[0075]
当每个机构发布普通用户i信息时,首先通过hash函数获取摘要,随后使用机构节点的私钥对摘要作签名,共识节点接收到附有签名的摘要数据后,根据机构的公钥进行解密获得原摘要,同时对信息计算hash值得到计算后的摘要进行比对,若二者相同则验证通过,将用户i的信息写入区块链,并且将所处区块信息经过平台公钥加密后写入平台数据库中,用于用户查询;否则验证不通过,重新执行验证操作。
[0076]
共识处理模块,用于对信息管理模块录入的信息进行共识处理,并将处理结果发布至区块链。利用当前记账主节点将验证通过后的交易发送至先进先出的发布队列中,所有共识节点收到验证消息并验证通过后,经过固定时间将交易发布至区块链上。
[0077]
信息查询模块,用于查询个人用户的简历信息。个人用户向平台服务端发送查询本人相关简历请求,平台经过身份信息认证后调用智能合约查询出本人的各项数据并进行整理、合并,最终经过加密返回给个人用户,个人用户解密后进行验收。具体步骤如下:
[0078]
(1)个人用户向平台申请查询本人履历信息;
[0079]
(2)平台根据个人身份验证字符串去查询存储在平台服务端的个人相关区块信息;
[0080]
(3)平台根据查询出的区块信息以及个人身份验证字符串去查询个人各项履历信息,经个人用户公钥加密后返回给个人用户;
[0081]
(4)个人用户经过私钥解密后验证各项履历,若发现履历存在问题可申请仲裁;不存在问题则流程结束。
[0082]
仲裁模块,用于对存在错误、缺失的简历信息进行仲裁处理。当个人用户发现查新出来的简历信息存在错误、缺失,可向平台服务端发送仲裁请求,由平台仲裁委员会(仲裁委员会是由法院、公安等社会权威组织里成员担任)进行请求处理,对有误的一方进行惩罚措施。具体内容如下:
[0083]
当用户在平台服务端注册时,平台服务端会赋予机构一个初始用户信誉分,用户在缴纳了固定的押金m后才可加入联盟链中。当个人上报存在履历信息有误的情况并申请仲裁时,经过仲裁委员验证的确存在错误情况,则扣除用户缴纳的押金,并扣除一定的用户信誉分s,并奖励给上报人;当总裁委员经查验后发现是个人污蔑,则对上报之人扣除缴纳的押金并扣除一定的信誉分s,并将扣除的押金奖励给企业。无抵押金的用户须重新上缴押金,上缴的押金数额计算共识如下:
[0084]
m=m
×
snꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0085]
其中,m为需要重新上缴的抵押金,m为初始固定抵押金,s为扣除的固定信誉分,n为信息错误的次数。
[0086]
简历推荐模块,用于计算简历的优先推荐值并且公布。根据共享的用户社会征信、工作评价等,计算出该简历的优先推荐值,并且在平台上进行公布。个人社会征信值包括公安系统中的违法记录mi,银行记录中的征信值hi以及企业工作评价值ci等,基于机构设置不同的权重wi,推荐推荐值计算公式如下:
[0087]
ti=w1×
mi w2×hi
w3×ci
... wi×
niꢀꢀ
(2)
[0088]
其中,ni是某个机构的征信值。
[0089]
本发明还提供一种实现基于区块链的电子简历系统的方法,如图2所示,包括以下步骤:
[0090]
步骤1、用户通过用户注册登录模块进行分角色注册,同时证书管理模块对注册成功的用户签发证书,并生成对应的公钥;
[0091]
步骤2、通过信息管理模块录入用户信息,并采用共识处理模块对录入的用户信息进行共识处理,然后将共识处理的结果写入区块链;共识处理模块采用基于信誉与角色的分层共识优化机制(cr-pbft)进行共识处理;
[0092]
步骤3、个人用户采用信息查询模块查询本人的信息,并对查询出的信息进行验收,当个人用户发现查询出的个人信息存在问题时,通过仲裁模块进行仲裁处理;
[0093]
步骤4、简历推荐模块根据共享的用户信息,计算出简历的优先推荐值并进行推荐。
[0094]
所述步骤1中,平台将用户的相关履历信息的所处区块信息经过平台公钥加密存储在平台服务端的关系数据库中,后面维护的信息以链式追加。
[0095]
所述步骤2中,基于信誉与角色的分层共识优化机制是一个基于“评价-分角
ꢀ‑
分层”的流程,包含信誉评估、信誉更新、角色区分和分层共识三个部分,其中信誉评估根据信誉积分、参与共识积极程度和节点加入网络时间的长短进行评估节点综合信誉值;信誉更新则是动态的更新节点的信誉积分,保障节点新人状态的稳定。
[0096]
对共识节点综合信誉值的评价主要基于节点的三大特征:信誉积分score、参与共识积极程度attitude和节点加入网络时间的长短time。信誉积分score是根据节点在共识过程中扮演的三种角色
‑‑“
好人”、“坏人”和“庸人”所决定的。当某个节点在共识过程中传播错误消息或者发起恶意攻击,则该节点扮演的是坏人角色,直接将其信誉积分清零;如果在共识过程中发生了故障,则该节点扮演的是庸人角色,则执行惩罚机制,扣除一定的信誉积分;如果在共识过程中行为正常,则可以执行奖励机制,奖赏一定的信誉积分。参与共识积极程度attitude 是根据节点在共识过程中响应态度所决定的。attitude主要可以分为3
种状态:积极态、懒散态和消极态。记每个节点初始attitude的因子ai为0,每当一轮共识发起时,若某个节点能在有效时间内迅速响应共识,则标记该节点处于积极态,ai加一;若某个节点在收到消息后未立即响应,在未超过响应阈值的时间段内在反馈信息,则标记该节点处于懒散态,ai减一;若某个节点在收到消息后未在指定时间阈内响应,则标记该节点处于消极态,ai减二。最终attitude分的计算方式如下:
[0097]ai
=m
×ai
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0098]
其中,m是惩罚扣除常数或者奖励分常数,ai是attitude因子。
[0099]
节点加入网络时间的长短time是计算节点加入网络时间,根据time计算出该节点的信誉值权重。计算共识如下:
[0100][0101]
其中,wi是i节点的信誉值权重,t
now
表示当前时间戳,ti表示i节点进入网络的时间戳。
[0102]
通过以上三个节点的特征,进行联合评估计算,计算出i节点的综合信誉值ci,计算共识如下:
[0103]ci
=(si ai)
×
wiꢀꢀ
(5)
[0104]
角色分配是根据节点综合信誉值进行划分。总体划分为:选民节点、议员节点、议会组组长节点、未知节点、恶意节点这5类,并且赋予不同节点不同的权利。
[0105]
综合信誉值高于设定阈值的节点设定为选民节点,具有共识投票的权利;在选民节点中推选出信誉高、可以代理该域的节点,统称为议员节点,候选主节点和反馈共识投票的权利;在议员节点中任意取一个节点作为主节点,用于接收客户端信息和发起共识、反馈结果,定义该节点为议会长节点;新进节点统称为未知节点,不具有参与共识的权利;在共识过程中有发送恶意消息或者恶意攻击等行为的节点定义为恶意节点,不具有参与共识的权利;监督未知节点和恶意节点的节点,定义为监督节点,不具有参与共识的权利,拥有奖励和惩罚未知节点和恶意节点的权利。节点的角色身份演变如附图3所示。
[0106]
分层共识是根据角色进行分层,总体划分为2层共识层,第一共识层由选民域与自己的议员组成,第二共识层是由各个区域的议员和议会组组长组成。在第一共识层中,议员会对区块进行一次区域内共识,选出一个代表,并且在区域内统一“建议”;在第二共识层中,议会组组长会根据议员节点反馈的信息进行统计与汇总,最终决定上链,并通知客户端。
[0107]
由选民节点们与议员节点组成第一共识层,达成初步共识,后经过由议员与议会组组长组成的的第二共识层达成最终共识。在第一共识层中,选民域与议员节点先达成共识,但是由于选民域中的节点数量仍然庞大,如果按照原pbft共识算法进行共识过程,那么达成共识所花费的时间仍然很长,对系统的性能照成一定的影响,为了解决这种问题,本文提出了一种高效邻居匹配模型。给每个选民节点中添加了邻居节点表,用于维护该节点的相邻节点、综合信誉值及其当前的角色。每当主节点向网络中广播生成空区块,所有的共识节点更新自己的邻居节点表,将综合信誉低的节点降级成未知节点,放入承接队列中。在共识过程中,选民节点会选取邻居节点表中的任意s个节点发送共识意见,并等待其他节点的共识意见,进行意见交换。被选中的节点统称为邻居节点。多次共识信息交互达到一致性条
件后返回共识结果给各自的议员节点。为防止选民节点中存在恶意节点,在一轮共识意见交互后,进行二轮共识建议确认,如果发现两次收到的消息不一致,代表该节点是恶意节点,直接扣除其信誉分,并且将其降级成未知节点,放入承接队列中,不在参与共识。第一共识层节点共识交互图附图4。
[0108]
如图5所示,基于信誉与角色的分层共识优化机制的总体流程如下:
[0109]
步骤2.1、request阶段:客户端向议会组组长节点发送交易信息;
[0110]
步骤2.2、pre-prepare阶段:议会组组长组装预准备消息,同时对客户端的交易请求进行编号n并添加到准备信息后:<<pre-prepare,v,n,d>,m>
[0111]
其中,v指示当前消息当前在哪个视图中被编号和发送,m是客户端的请求消息,n是主节点给m分配的一个序号(sequence number),d是m的摘要;各个共识节点接收到pre-prepare消息后进入到phase阶段;
[0112]
步骤2.3、phase阶段:选民节点对收到的pre-prepare信息进行校验,包括区块内的交易合法性,区块头信息的真实性等,之后节点向其邻居节点发送共识交互意见,并等待其他节点返回的共识交互意见;接着进入到r-phase阶段;
[0113]
步骤2.4、r-phase阶段:每个选民节点再次向之前的邻居节点们发送共识交互意见,并等待其它节点返回的共识交互意见,进行共识意见确认;之后进入到 p-commit阶段;
[0114]
步骤2.5、p-commit阶段:选民节点将自己的共识意见发送给自己所在选民域的议员节点;
[0115]
步骤2.6、commit阶段:议员节点直接将自己的共识结果反馈给议会组组长节点;
[0116]
步骤2.7、reply阶段:议会组组长节点在收到总数2/3议员节点后将验证结果返回给客户端,反馈信息中内置了所有共识节点的签名。
[0117]
以上所述,仅为本发明中的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可理解想到的变换或替换,都应涵盖在本发明的包含范围之内,因此,本发明的保护范围应该以权利要求书的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献