一种基于区块链的线上专家评分方法和系统转让专利

申请号 : CN202011478773.2

文献号 : CN112702159B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 沈仲华李创琚春华鲍福光毛凌浩王珏初芮小惠应岳良郑营锋

申请人 : 浙江工商大学

摘要 :

本发明公开了一种基于区块链的线上专家评分方法和系统,所述方法包括如下步骤:被评分单位生成私钥skci,根据私钥skci计算被评分单位公钥pkci,将该公钥pkci发布公开;从专家库中随机选取若干个评分专家,每一个评分专家分配不同的私钥xvi,每个评分专家根据各自的私钥计算生成不同的公钥gxvi,并将该公钥gxvi发布公开;所有被评分单位上传自身标书的哈希值hci,将每一被评分单位的哈希值hci写入区块链中;评分专家对上传的标书进行评分,将评分结果采用ElGamal算法获取评分密文;验证评分专家的所有评分密文,进一步将验证完的所有评分结果写入区块链中。

权利要求 :

1.一种基于区块链的线上专家评分方法,其特征在于,所述方法包括如下步骤:被评分单位ci生成私钥skci,根据私钥skci计算被评分单位公钥pkci,将该公钥pkci发布公开;

从专家库中随机选取若干个评分专家,每一个评分专家vi分配不同的私钥xvi,每个评xvi xvi分专家根据各自的私钥计算生成不同的公钥g ,并将该公钥g 发布公开;

所有被评分单位上传自身标书的哈希值hci,将每一被评分单位的哈希值hci写入区块链中;

评分专家对上传的标书进行评分,将评分结果采用ElGamal算法获取评分密文;

验证评分专家的所有评分密文,进一步将验证完的所有评分结果写入区块链中;

将评分单位的公钥pkci写入区块链的第一区块中,审核节点查询所述第一区块中的所有被评分单位的公钥pkci,若所述第一区块中不存在目录中被评分单位的公钥pkci,则将该被评分单位剔除目录;

xvi

基于共识的素数p与生成元g,每一评分专家获取其他所有评分专家的公钥g ,根据所有评分专家公钥计算组合公钥yvi,每一评分专家对自身的私钥xvi和组合公钥yvi采用ElGamal算法进行加密,获取第一组合密文:其中r为随机数,g为生成元;

r

对第一组合密文进一步对g采用ElGamal算法加密获取第二组合密文:并获取最终的评分密文:

i

每个评分专家生成自身总评分pcj的部分知识证明 以及每个评分专家生成自身私钥xvi的零知识证明ZKP(xvi),被评分单位获取每一专家的部分知识证明和零知识证明ZKP(xvi),用于验证所述评分密文。

2.根据权利要求1所述的一种基于区块链的线上专家评分方法,其特征在于,被评分单位自身标书的哈希值hci写入区块链的第二区块中,审核节点查询所有被评分单位标书的哈希值hci,若被评分单位未上传标书哈希值hci,则终止对未上传标书哈希值hci的被评分单位审核。

3.根据权利要求1所述的一种基于区块链的线上专家评分方法,其特征在于,设定指定上传时间,若审核节点在所述指定上传时间内未查询到被评分单位的标书,则终止对的被评分单位的审核。

4.根据权利要求1所述的一种基于区块链的线上专家评分方法,其特征在于,所有可访问的区块链节点根据评分密文采用同态算法统计评分结果,并将最终评分结果写入区块链中。

5.根据权利要求1所述的一种基于区块链的线上专家评分方法,其特征在于,采用ElGamal算法生成所述组合公钥yvi,其中所述组合公钥yvi的生成公式为:k为大于0小于nv的整数。

6.一种基于区块链的线上专家评分系统,所述系统包括处理器,所述处理器执行上述权利要求1‑5一种基于区块链的线上专家评分方法。

说明书 :

一种基于区块链的线上专家评分方法和系统

技术领域

[0001] 本发明涉及互联网领域,特别涉及一种基于区块链的线上专家评分方法和系统。

背景技术

[0002] 目前部分的评标过程都在线下进行,在实际评标前还有很长的准备时间以及繁琐的步骤,当然在线下评标模式中这些步骤都是十分必要的,正是这些步骤保证了投标、评标
过程的公平性与保密性。但是这类线下评标模式准备时间长、对招投标过程的监管力度不
足、专家组信息容易泄漏、实际评标时间短且容易出现暗箱操作等不公平不公证的问题,而
且碍于地理、时间、资金等因素,评分专家组的数量也只能限制在一定范围内,可能几个专
家与投标方勾连就可以左右评标结果。在部分线上评标的操过程中可能存在数据修改、泄
露、黑客攻击等问题,线上评标也无法较好的保障评标的公平公正。

发明内容

[0003] 本发明其中一个发明目的在于提供一种基于区块链的线上专家评分方法和系统,所述方法和系统采用线上评分,并采用区块链技术将被评分单位的相关信息、评分专家的
相关信息、评分过程和评分结果保存于区块链中,使得整个评分流程在后续验证过程中无
法被修改,提高了评分过程和评分结果的可信度。
[0004] 本发明另一个发明目的在于提供一种基于区块链的线上专家评分方法和系统,所述方法和系统采用改进后的ElGamal算法对评分专家的密钥、被评分单位的公钥和评分结
果进行加密,可保障评分过程和评分结果在未允许公开前的保密性。
[0005] 本发明另一个发明目的在于提供一种基于区块链的线上专家评分方法和系统,所述方法和系统中每一专家采用非自身所有专家已经公开的公钥进行ElGamal算法加密,因
此只要评分专家不公开所有的私钥和公钥,则无法获取加密的评分结果,可确保评分结果
的保密性和可信度。
[0006] 本发明另一个发明目的在于提供一种基于区块链的线上专家评分方法和系统,所述方法和系统对评分单位需要生成上传标书的哈希值,并且将该哈希值写入区块链的指定
区块中,若指定区块中无对应评分单位对应的哈希值,则该对应评分单位无法进一步参与
评分,该方法可保证上传的标书稳定,不能对数据进行修改,可保障评分的公平。
[0007] 为了实现至少一个上述发明目的,本发明进一步提供一种基于区块链的线上专家评分方法,所述方法包括如下步骤:
[0008] 被评分单位ci生成私钥skci,根据私钥skci计算被评分单位公钥pkci,将该公钥pkci发布公开;
[0009] 从专家库中随机选取若干个评分专家,每一个评分专家vi分配不同的私钥xvi,每xvi xvi
个评分专家根据各自的私钥计算生成不同的公钥g ,并将该公钥g 发布公开;
[0010] 所有被评分单位上传自身标书的哈希值hci,将每一被评分单位的哈希值hci写入区块链中;
[0011] 评分专家对上传的标书进行评分,将评分结果采用ElGamal算法获取评分密文;
[0012] 验证评分专家的所有评分密文,进一步将验证完的所有评分结果写入区块链中。
[0013] 根据本发明其中一个较佳实施例,将评分单位的公钥pkci写入区块链的第一区块中,审核节点查询所述第一区块中的所有被评分单位的公钥pkci,若所述第一区块中不存在
目录中被评分单位的公钥pkci,则将该被评分单位剔除目录。
[0014] 根据本发明另一个较佳实施例,被评分单位自身标书的哈希值hci写入区块链的第二区块中,审核节点查询所有被评分单位标书的哈希值hci,若被评分单位未上传标书哈希
值hci,则终止对未上传标书哈希值hci的被评分单位审核。
[0015] 根据本发明另一个较佳实施例,设定指定上传时间,若审核节点在所述指定上传时间内未查询到被评分单位的标书,则终止对的被评分单位的审核。
[0016] 根据本发明另一个较佳实施例,每一评分专家获取其他所有评分专家的公钥gxvi,根据所有评分专家公钥计算组合公钥yvi,每一评分专家对自身的私钥xvi和组合公钥yvi采
用ElGamal算法进行加密,获取第一组合密文:
其中r为随机数,p为满足安全要求的素
数。
[0017] 根据本发明另一个较佳实施例,对第一组合密文进一步对gr采用ElGamal算法加密获取第二组合密文:
[0018]
[0019] 并获取最终的评分密文:
[0020]
[0021] 根据本发明另一个较佳实施例,每个评分专家生成自身总评分pcji的部分知识证明 以及每个评分专家生成自身私钥xvi的零知识证明ZKP(xvi),被评分单位获
取每一专家的部分知识证明 和零知识证明ZKP(xvi),用于验证所述评分密文。
[0022] 根据本发明另一个较佳实施例,所有可访问的区块链节点根据评分密文采用同态算法统计评分结果,并将最终评分结果写入区块链中。
[0023] 根据本发明另一个较佳实施例,采用ElGamal算法生成所述组合公钥yvi,其中所述组合公钥yvi的生成公式为:
[0024]
[0025] k为大于0小于nv的整数。
[0026] 为了实现至少一个上述发明目的,本发明进一步提供一种基于区块链的线上专家评分系统,所述系统采用上述一种基于区块链的线上专家评分方法。

附图说明

[0027] 图1显示的是本发明一种基于区块链的线上专家评分方法流程示意图。

具体实施方式

[0028] 以下描述用于揭露本发明以使本领域技术人员能够实现本发明。以下描述中的优选实施例只作为举例,本领域技术人员可以想到其他显而易见的变型。在以下描述中界定
的本发明的基本原理可以应用于其他实施方案、变形方案、改进方案、等同方案以及没有背
离本发明的精神和范围的其他技术方案。
[0029] 本领域技术人员应理解的是,在本发明的揭露中,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系是基于附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是
指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述
术语不能理解为对本发明的限制。
[0030] 可以理解的是,术语“一”应理解为“至少一”或“一个或多个”,即在一个实施例中,一个元件的数量可以为一个,而在另外的实施例中,该元件的数量可以为多个,术语“一”不能理解为对数量的限制。
[0031] 请参考图1显示的一种基于区块链的线上专家评分方法流程示意图。本发明公开的方法包括以下几个步骤:1、评分启动阶段,2、专家选取阶段,3、专家评分阶段,4、评分验
证阶段,5、评分统计阶段。
[0032] 所述评分启动阶段需要获取被评分单位的名称、资质等,可通过线上申请的方式进行,审核端在完成对被评分单位的审核后将审核结果保存于区块链中,审核合格的被评
分单位生成公私钥匙,其中每一被评分单位生成的公钥向网络发布公开,通过区块链的共
识机制发送至所有可读取的节点。在所述审核端完成审核后,需要确定评分上限A,将该评
分上限A写入区块链中保存。
[0033] 举例来说:设定nc个需要被评分的单位,每个被评单位为ci,资质审核人员要对每个ci的资质进行审核。每个被评分单位ci生成自身的私钥skci∈Zq,根据私钥计算得到对应
skci
的公钥pkci=g mod p,p为满足安全要求的素数,其中g表示生成元。在确定评分上限A后
将所述评分上限A和每一被评分单位的公钥pkci写入到第一区块中,所述第一区块通过共识
机制将所述评分上限A和被评分单位的公钥pkci发送至所有可阅读的节点。
[0034] 审核节点需要将审核员身份信息写入区块链,审核节点可通过区块链查询被评分单位上传的资质材料、评分上限A和公钥pkci,若被评分单位在指定的时间内未将资质材料、
评分上限A和公钥pkci写入区块链中,则自动将该被评分单位剔除出评分目录。由于区块链
的共识效应使得写入区块链节点的数据所有有权限的节点都可查阅。
[0035] 根据评分规则要求删选出nv个评分专家,每个评分专家为vi,每个评分专家vi获取自身的私钥xvi∈Zq,其中Zq为密钥数据库,可由若干个随机数组成。根据每一专家私钥xvi生
xvi xvi xvi
成对应的公钥g ,将每一专家的公钥g 写入区块链中使公钥g 全网公开。
[0036] 每一被评分单位ci在上传标书的同时还需要计算并上传本单位标书哈希值hci。并且所述标书哈希值hci写入区块链的第二区块中,审核节点在指定的时间内查阅审核所述第
二区块中的每一被评分单位标书哈希值hci,若在指定时间内未查询到被评分单位标书的哈
希值hci或哈希值hci和标书不匹配,则终止该评分单位的下一步评分流程。通过上传标书的
哈希值hci可有效地防止标书在审核过程中被修改,保障评分过程的公平和可信度。被评分
单位需要在指定时间内上传标书,若被评分单位未在指定时间内上传标书,则自动终止被
评分单位进入下个评分流程。
[0037] 进一步的,在专家评分阶段中,评分专家对每一个标书进行评分,利用ElGamal算法对评分结果进行加密。需要说明的是,本发明改进了ElGamal算法,利用所有评分专家公
开的公钥形成组合公钥yvi进行ElGamal算法的加密工作,其中所述组合公钥yvi的获取方式
为:
[0038]
[0039] k为大于0小于nv的整数,p为满足安全要求的大素数。
[0040] 进一步获取随机数r∈Zq,评分专家vi对被评单位cj的评分记作 被评单位公布的公钥为pkcj,通过ElGamal算法可以得到第一组合密文如下:
[0041]
[0042] 进一步对gr再次使用ElGamal算法加密获取第二组合密文:
[0043]
[0044] 获取最终的评分密文为:
[0045]
[0046] 通过加密的评分密文,只要评分专家不公开自身的私钥,则无法解析评分密文,评分将该评分密文 在网络上公布。
[0047] 在评分验证阶段,为了让所有人都可以不解密就验证加密后的分数评分专家还需要生成部分知识证明与零知识证明。通过被评分单位的
i
总评分pcj的部分知识证明 可以证明评分是在0到A之间的,通过xvi的零知识证
明ZKP(xvi)可以证明加密内容是由vi的私钥xvi生成的。举例来说:设对 生
成验证,其中1≤l≤nc,则有:
[0048] 生成随机数t1,t2,...tnc∈Zq与 nc为被评分单位总数。
[0049] 当 时,计算Sj=tj+r·Vj,Sj为验证参数,用于后续验证计算。
[0050] 当j=1,2,...,nc时,
[0051] 计算 与 其中T0j为验证参数。
[0052] 计算验证参数T0j和密文c1、c2的哈希值:
[0053] 计算 为异或,Vl为验证参数。
[0054] 计算Sl=tl+r·Vl,Sl为验证参数。
[0055] 得到部分知识证明
[0056] 生成随机数k1,k2∈Zq
[0057] 计算
[0058] 计算
[0059] 计算c=Hash(K1||K2)
[0060] 计算Z1=xvic+k1
[0061] 计算Z2=rc+k2
[0062] 得到零知识证明 Z1,Z2分别为验证参数。
[0063] 对每一个被评分单位cj的评分 密文都需要这两个证明才能解密,评分专家需要将部分知识证明与零知识证明写入区块链中全部公布,才能确定最终的
评分结果,并将最终评分结果写入区块。
[0064] 由于评分密文被写入到区块链中,因此所有可阅读节点都都可以查阅到所述评分密文,而每一专家的部分知识证明 和零知识证明ZKP(xvi)都被写入区块链中,每
一被评分单位可通过自身的节点查询获取。
[0065] 由于ELGamal验证算法是公开的现有技术,每个被评分单位在获取专家的PKPi
(pcj)与ZKP(xvi)后直接采用ELGamal验证算法对 进行验证:
[0066] 使用 进行验证:
[0067] j=1,...,nc,
[0068] 计算
[0069] 验证等式是否成立:
[0070]
[0071] 验证等式是否成立:
[0072] 使用ZKP(xvi)验证
[0073] 验证等式是否成立:
[0074] 验证等式是否成立:
[0075] 当上述等式均成立后表示验证成功,其中当某一专家vi对所有被评单位的加密评分均被验证后,其评分信息才被认为是可信的,最后由矿工将可信的加密评分与对应的加
密评分证明写入区块链中。
[0076] 由于所有的分数都是采用ElGamal算法进行加密的,在不解密的情况下可以采用同态加法进行计算,举例来说:
[0077]
[0078] 其中m1,m2分别为加密对象的明文,通过对加密对象的密文即等式右边的gm进行同态加法计算后可获得最后的E(m1+m2,pk)中明文相加的效果,无需对密文进行解密。本发明
中m1和m2可由上述公式计算的 评分替换,因此可采用如下公式对所有评分专家评分进
行统计:
[0079]
[0080] 其中 则有:
[0081]
[0082]
[0083] 其中Score表示明文分数,下标为评分专家代号。通过计算后可将统计的评分结果保存于区块链中。
[0084] 特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读
介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样
的实施例中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质
被安装。在该计算机程序被中央处理单元(CPU)执行时,执行本申请的方法中限定的上述功
能。需要说明的是,本申请上述的计算机可读介质可以是计算机可读信号介质或者计算机
可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、
磁、光、电磁、红外线段、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存
储介质的更具体的例子可以包括但不限于:具有一个或多个导线段的电连接、便携式计算
机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM
或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述
的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形
介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载
了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信
号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介
质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执
行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码
可以用任何适当的介质传输,包括但不限于:无线段、电线段、光缆、RF等等,或者上述的任
意合适的组合。
[0085] 附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用
于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标
注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上
可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注
意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执
行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令
的组合来实现。
[0086] 本领域的技术人员应理解,上述描述及附图中所示的本发明的实施例只作为举例而并不限制本发明,本发明的目的已经完整并有效地实现,本发明的功能及结构原理已在
实施例中展示和说明,在没有背离所述原理下,本发明的实施方式可以有任何变形或修改。