基于区块链的电子招投标数据防篡改方法
文献发布时间:2023-06-19 16:04:54
技术领域
本发明涉及一种电子招投标数据防篡改方法。
背景技术
随着国家加快建设电子招投标系统,大力推进电子化政府采购,越来越多的省份使用在线电子招投标系统进行招投标活动。2019年政府采购规模达到33067.0亿元,在如此庞大的金额下,如何保证电子化招投标过程中数据的真实性、有效性、完整性及防篡改,而区块链技术在此场景下无疑是量身定制。
区块链技术是一个分布式账本,一种通过去中心化、去信任的方式集体维护一个可靠数据库的技术方案。区块链技术有比如开放、去中心、去信任、交易透明、不可篡改、可追溯等特点。
发明内容
本发明的目的在于提供一种基于区块链的电子招投标数据防篡改方法。
本发明的目的通过如下技术方案实现:一种基于区块链的电子招投标数据防篡改方法,它包括以下步骤:
S1.定义电子招投标过程中操作的关键节点,并且确定每个关键节点要拉取或推送的数据,数据包括结构化数据和非结构化数据;
S2.关键节点触发后,将其对应的结构化数据以写入到文件的方式生成文件A,使结构化数据与非结构化数据均统一成附件形式;
遍历上述附件,为每个附件创建上链附件数据结构,上述上链附件数据结构包含有采用第三方区块链服务厂商提供的HASH值算法对附件内容进行计算得到的文件HASH值;
S3.将创建的所有附件的上链附件数据结构写入到一个结果文件B中,并通过第三方区块链服务厂商提供的SDK计算结果文件B的上链结果HASH值;
S4.使用上链结果HASH值发起第三方区块链服务上链请求,并进行上链结果HASH值的上链,第三方区块链服务厂商返回上链信息;
S5.将第三方区块链服务厂商返回的上链信息保存至数据库中,供电子招投标业务系统获取查看。
较之现有技术而言,本发明的优点在于:本发明主要针对电子招投标过程中产生的各种数据,比如采购文件数据、供应商报名数据、供应商操作日志、开标过程数据、评标过程数据、结果公告等,涉及到电子招投标的整个过程,保证了整个招投标过程中的数据的真实性、有效性、完整性,甚至具有法律效力,在面对一些纠纷时,可以使用该上链数据作为有效证据。
附图说明
图1是本发明基于区块链的电子招投标数据防篡改方法的流程框图。
图2是本发明基于区块链的电子招投标数据防篡改方法的流程图。
图3是通用数据结构的组成示意图。
图4是上链附件数据结构的组成示意图。
具体实施方式
下面结合说明书附图和实施例对本发明内容进行详细说明:
如图1-4所示为本发明提供的一种基于区块链的电子招投标数据防篡改方法的实施例示意图。
一种基于区块链的电子招投标数据防篡改方法,它包括以下步骤:
步骤S1:
定义电子招投标过程中操作的关键节点,并且确定每个关键节点要拉取或推送的数据,数据包括结构化数据和非结构化数据;
关键节点包括编标期(采购公告/采购变更公告发布后),示标期(供应商上传投标文件、供应商操作过程),开标期(开标结束之后),评标期(评标结束之后),定标期(电子合同签订之后)。
所述编标期拉取或推送的数据包括采购文件结构化数据、采购文件数据;所述示标期拉取或推送的数据包括供应商报名数据、供应商标书数据、供应商操作日志数据;所述开标期拉取或推送的数据包括投标供应商开标结果;所述评标期拉取或推送的数据包括专家评标数据、评标过程文件、评标报告;所述定标期拉取或推送的数据包括签订的电子合同。
在上述关键节点中,当满足触发条件时,向电子招投标系统拉取或推送对应关键节点的上链原始数据,并将上链原始数据通过第三方区块链系统进行数据上链,并返回有效的上链数据证书相关数据。并且在电子招投标系统中,可以实时获取到当前项目的某环节数据是否已上链。
以上可知,各个时期,各个环节,各种操作都有可能产生上链数据,这时需要定义一种通用数据结构,不论哪个时期、环节、操作都拉取或推送同一种数据结构的数据。纵观上链数据,实际上分为结构化数据与非结构化数据(附件)。在此基础上结合与电子招投标业务系统交互需要定义通用数据结构。
所述关键节点中的数据采用通用数据结构,其包括节点编码以及业务数据列表;业务数据列表包括业务上链唯一标识ID、环节编码、操作编码、结构化数据以及非结构化数据。所述非结构化数据包括文件名称以及文件地址(参见图3)。
步骤S2:
本发明提供电子招投标业务系统主动推送业务数据上链和主动拉取业务上链数据两种方式,在不同的业务场景下使用不同的方式。
关键节点触发后,将其对应的结构化数据以写入到文件的方式生成文件A,使结构化数据与非结构化数据均统一成附件形式(这时需要上链的文件的数量=电子招投标业务非结构化数据附件数量+1);
遍历上述附件,为每个附件创建上链附件数据结构,上述上链附件数据结构包含有采用第三方区块链服务厂商提供的HASH值算法对附件内容进行计算得到的文件HASH值;
步骤S2中提供开放配置项,允许配置多个第三方区块链服务厂商,可根据关键节点拉取或推送的数据场景需要,使用不同的第三方区块链服务厂商(可能使用到司法连、腾讯的致信链、阿里巴巴的蚂蚁链、或者自研的本地链)。
具体过程如下:
S2-1.接收或拉取到业务方需要上链的数据后,根据定义的通用数据结构对需要上链的数据进行相关的数据校验;
S2-2.拉取配置信息,根据配置信息校验需要上链的数据是否允许上链、是否已经上链、是否存在需要上链但未上链数据、上链必要信息是否为空;
S2-3.遍历需要上链的数据的业务数据列表;
如果为结构化数据,将业务方需要上链的项目字段信息数据推送至文件服务器,文件服务器生成保存有项目字段信息数据的文件并返回文件地址;
再根据文件服务器返回的文件地址组装成上链附件数据结构,其中文件HASH值是根据文件服务器返回的地址获取对应的保存文件内容计算得到;
结构化数据(项目字段信息数据)根据不同环节有不同结构:
以编标期为例:项目名称、项目编码、项目类型、项目预算、采购方式、代理机构名称、代理机构ID、采购人名称、采购人ID、标书售价、备案编号、立项时间、报名开始时间、报名结束时间、投标开始时间、投标结束时间、开标时间、开标地点、开标方式等。
以应标期为例:包含供应商操作类型、操作时间、上传标书文件名称、下载采购文件的版本、操作供应商名称、操作状态(上传、下载、参与)等。
如果为非结构化数据,使用非结构化数据中的文件地址,获取到对应的文件内容,并根据文件内容生成文件HASH值,并组装成上链附件数据结构。
非结构化数据以标书为例,根据第三方区块链服务厂商提供的HASH值算法计算得到文件HASH值,并对文件HASH值上链,标书内容并不会上链。
开标期非结构化数据样例:
最终上链文件内容样例:
所述上链附件数据结构包括节点编码、环节编码、操作编码、文件名称、文件路径、文件HASH值(参见图4)。
步骤S3:
将创建的所有附件的上链附件数据结构写入到一个结果文件B中,并通过第三方区块链服务厂商提供的SDK计算结果文件B的上链结果HASH值。
步骤S4:
使用上链结果HASH值发起第三方区块链服务上链请求,并进行上链结果HASH值的上链,第三方区块链服务厂商返回上链信息,包括上链证书地址、上链时间、上链高度、上链存证ID等上链关键数据项等信息。
步骤S5:
将第三方区块链服务厂商返回的上链信息保存至数据库中,供电子招投标业务系统获取查看。
当一个第三方区块链上链成功后循环回到步骤S2。
通过以上步骤,当获取到通用的电子招投标业务数据后,经过一些整理规则后,为各个附件生成一个唯一的HASH值,并以最终上链的上链附件数据结构通用格式为基础对所有的文件唯一HASH值结合业务数据生成最终上链数据并写入文件,再为最终的结果文件生成唯一的HASH值,最终将此HASH值上链。在这个过程中,无论是哪个步骤上的数据被篡改都会导致与最终上链的唯一HASH值不一致,从而保证了数据的有效性、真实性、完整性。
- 基于区块链的电子招投标数据防篡改方法
- 基于区块链实现防数据篡改、用户共谋的云数据共享方法