基于区块链的可追溯混凝土质量管理系统

文档序号:29158127发布日期:2022-03-08 22:16阅读:395来源:国知局
基于区块链的可追溯混凝土质量管理系统

1.本发明涉及区块链,具体是基于区块链的可追溯混凝土质量管理系统。


背景技术:

2.区块链是一种共享账簿技术,其作为底层架构,具备分布式、公开透明性、不可篡改性、集体维护和隐私保护的特点。在区块链系统中,不存在中央权威机构,每个节点都需要承担网络路由、区块数据验证、区块传播等任务。区块链技术有助于在不安全的网络环境下在用户间建立信任,通过共识机制来保证数据和交易的可靠性和一致性。区别于传统系统中依赖中心权威机构的信任模式,基于节点对区块的集体维护,用户可以进行安全的价值交易和信息交互。如果恶意节点想要攻击或篡改区块数据,则必须重新计算该区块以及该区块之后所有加入主链的区块的sha256难题,并且其计算速度必须使得伪链长度超过主链才能攻击或篡改成功,这种攻击难度在一定程度上抵御了外部攻击,保证了区块链系统数据的不可篡改和安全性。
3.区块链技术采用带有时间戳的链式结构存储数据,增加了时间维度,使数据具有极强的可验证性和可追溯性。基于区块链的链式结构,各个区块依次环环相接,记录了区块链数据的完整历史,能够提供区块链数据的溯源和定位功能,任意数据都可以通过此链式结构顺藤摸瓜、追本溯源,对于审计和产品的追踪溯源的应用场景能够发挥较好的优势。由于区块链系统具有的分布式高冗余存储、数据不可篡改和伪造、可追溯、去中心化、建立信任等特性,区块链技术的应用范围不仅仅局限于加密货币,在商业贸易、信息管理、版权认证等领域中都有广泛的应用场景,结合智能合约技术,可以使得区块链能够在复杂逻辑的应用场景中得到更好的发挥。
4.输电工程施工现场混凝土检测是保障工程质量的重要手段,混凝土质量直接影响到工程建设质量。施工单位不按设计要求配比和浇注混凝土,导致质量问题时有发生,为工程安全质量带来隐患,造成重大损失。同时在基建施工质量管理中,缺乏必要的信息化技术手段对水泥混凝土的配比和浇注过程进行实时的有效监控,在出现质量缺陷时,不能及时识别出现问题的环节,给分析问题原因和整改造成极大困难。因此,有必要利用区块链技术对基建工程中的混凝土质量进行管理和责任追溯。


技术实现要素:

5.本发明的目的在于克服现有技术的不足,提供基于区块链的可追溯混凝土质量管理系统,包括用户管理模块、数据上链模块、数据存储模块、责任追溯模块、节点服务模块;
6.所述的用户管理模块用于管理各节点的公钥及私钥,各节点用户在加入区块链系统时进行实名身份认证,当节点用户实名身份认证成功后获得ca证书;
7.所述的证据上链模块用于各节点用户根据业务需要上传的电子证据,进行证据上链;
8.所述的证据存储模块用于对上传到证据上链模块链上的电子证据进行哈希计算,
生成固定长度的唯一特征数据,将完整的电子证据存储在星际文件系统中,在链中存储星际文件系统中电子证据的加密过后的哈希值;
9.所述的责任追溯模块用于用户对业务任何环节进行溯源;
10.所述的节点服务模块用于各节点用户与区块链进行交互。
11.进一步的,所述的进行证据上链,包括如下过程:
12.步骤1,区块链节点将进程列表重置为空;
13.步骤2,用户通过公钥提交请求;根据用户公钥,区块链网络选择是否接受该请求;
14.步骤3,若某个记账节点接收了该请求,则向网络广播该请求被接受;
15.步骤5,节点用户请求被接受,提交材料验收条目;根据验收条目的链标识,其中一个区块链节点把条目加入其进程列表,并添加进入相应链的区块中;
16.步骤6,服务器对网络广播该条目的确认,区块链网络中的所有其他节点更新该服务器的进程列表,验证该列表,并更新该链的区块;
17.步骤7,在一个打包周期结束时,所有服务器确认进程列表高度,计算验收条目的反向哈希和被处理区块的哈希值;
18.步骤8,使用反向哈希值的集合来创造一个种子,为下一轮的链标识重新分配服务器;
19.步骤9,在完成10个目录块后,执行以下操作:对最后一分钟的合同条目块创建默克尔树根,按照链标识排序;创建最后一分钟的目录区块,并计算其默克尔树根;用10个目录区块的默克尔树根创建一个锚定;用服务器的反向哈希值集合创建一个种子,再选择下一个服务器把锚定写到区块链上。
20.进一步的,所述的用户对业务任何环节进行溯源,包括如下过程:
21.步骤1,获取事故相关节点用户的公钥标识,向区块链网络发出溯源请求;
22.步骤2,智能合约接收到请求后,首先验证请求签名是否正确,若正确解析请求内容中的公钥标识,签名不正确则驳回请求;
23.步骤3,智能合约获取区块链网络的区块地址;
24.步骤4,根据区块地址获取产生的区块,检查此区块是否存在与事故发生相关人员的公钥标识相关的档案,若存在则取出该档案,然后取出此区块的上一区块的hash值,根据该hash 值得到上一区块,检查上一区块是否存在与事故发生人员的公钥标识相关的档案,若存在则取出该档案,直到检查到创世区块,按照时间顺序依次展示在溯源过程中取出的档,溯源完毕。
25.本发明的有益效果是:本发明系统基于区块链建立,保证数据的不可篡改、持久有效,实现节点控制和责任追溯,在发生事故后倒查事故原因,事故负责人,避免事故原因不确定,责任人推卸责任等问题;本发明采取去中心化的架构,对施工现场混凝土质量全过程急性管控,从施工方提供供应商资质证明开始,到水泥样品材料入场装卸,直至到检测机构的取样、检验、报告、质控等各检测环节进行存储,把工程项目业主方、监理方、施工单位、检测企业和材料供应商等与质量安全的相关方紧密联合起来,共同建立面向施工现场水泥混凝土质量全过程管控的可信质检证据链,实现水泥混凝土材料验收数据的纵向延伸和检测信息追溯的完整路径,由点及线连接水泥材料供应商、检测机构上下游,建立起完整的闭环生态。
附图说明
26.图1为基于区块链的可追溯混凝土质量管理系统的原理示意图;
27.图2为区块链上链数据形式示意图。
具体实施方式
28.下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
29.如图1所示,基于区块链的可追溯混凝土质量管理系统,包括用户管理模块、数据上链模块、数据存储模块、责任追溯模块、节点服务模块;
30.所述的用户管理模块用于管理各节点的公钥及私钥,各节点用户在加入区块链系统时进行实名身份认证,当节点用户实名身份认证成功后获得ca证书;
31.所述的证据上链模块用于各节点用户根据业务需要上传的电子证据,进行证据上链;
32.所述的证据存储模块用于对上传到证据上链模块链上的电子证据进行哈希计算,生成固定长度的唯一特征数据,将完整的电子证据存储在星际文件系统中,在链中存储星际文件系统中电子证据的加密过后的哈希值;
33.所述的责任追溯模块用于用户对业务任何环节进行溯源;
34.所述的节点服务模块用于各节点用户与区块链进行交互。
35.进一步的,所述的进行证据上链,包括如下过程:
36.步骤1,区块链节点将进程列表重置为空;
37.步骤2,用户通过公钥提交请求;根据用户公钥,区块链网络选择是否接受该请求;
38.步骤3,若某个记账节点接收了该请求,则向网络广播该请求被接受;
39.步骤5,节点用户请求被接受,提交材料验收条目;根据验收条目的链标识,其中一个区块链节点把条目加入其进程列表,并添加进入相应链的区块中;
40.步骤6,服务器对网络广播该条目的确认,区块链网络中的所有其他节点更新该服务器的进程列表,验证该列表,并更新该链的区块;
41.步骤7,在一个打包周期结束时,所有服务器确认进程列表高度,计算验收条目的反向哈希和被处理区块的哈希值;
42.步骤8,使用反向哈希值的集合来创造一个种子,为下一轮的链标识重新分配服务器;
43.步骤9,在完成10个目录块后,执行以下操作:对最后一分钟的合同条目块创建默克尔树根,按照链标识排序;创建最后一分钟的目录区块,并计算其默克尔树根;用10个目录区块的默克尔树根创建一个锚定;用服务器的反向哈希值集合创建一个种子,再选择下一个服务器把锚定写到区块链上。
44.进一步的,所述的用户对业务任何环节进行溯源,包括如下过程:
45.步骤1,获取事故相关节点用户的公钥标识,向区块链网络发出溯源请求;
46.步骤2,智能合约接收到请求后,首先验证请求签名是否正确,若正确解析请求内容中的公钥标识,签名不正确则驳回请求;
47.步骤3,智能合约获取区块链网络的区块地址;
48.步骤4,根据区块地址获取产生的区块,检查此区块是否存在与事故发生相关人员的公钥标识相关的档案,若存在则取出该档案,然后取出此区块的上一区块的hash值,根据该hash 值得到上一区块,检查上一区块是否存在与事故发生人员的公钥标识相关的档案,若存在则取出该档案,直到检查到创世区块,按照时间顺序依次展示在溯源过程中取出的档,溯源完毕。
49.具体的,在本发明基于区块链的混凝土质量管理系统中,构建以业主方为主题,施工单位、监理单位为核心的区块链网络,分别部署区块链节点。在区块链上部署智能合约,每个参与方可以部署一个或者若干个节点,组成系统的区块链底层架构。在任一参与方的区块链节点生成一个创世区块,创世区块作为其他区块的根区块,在所有节点启动前必须载入正确的区块信息,且不能任意修改。此后产生的所有区块在创世区块后。所有参与方共同参与到区块链网络中的治理中,每个参与方都有一份完整的分布式账本,防止任意一方篡改。每一个参与方都有唯一公钥、私钥和地址,私钥由随机数和椭圆曲线生成,具体地,私钥是由随机数生成的64位的16进制字符串,私钥自行保存,不得外泄,把私钥输入到椭圆曲线中可以得到公钥,将公钥压缩映射处理就可以得到地址。
50.图2展示了在混凝土质量管控系统中需要上链的证据。在证据上链的过程中,由于在区块链网络上,区块数据将被多个节点备份,因此不能将验收质检的各种资料文件直接存储在链上,以免造成大量冗余,影响区块链的运行效率。区块链上只保留验收和质检的轻量级元数据,保证验收质检信息在存储和流转的过程中只有拥有合法访问权限的用户才可以获取,而验收质检文件本身则存储在中心化数据库中。具体步骤如下:
51.步骤1,区块链节点将进程列表重置为空;
52.步骤2,用户通过公钥提交请求;
53.步骤3,根据用户公钥,区块链网络选择是否接受该请求;
54.步骤4,若某个记账节点接收了该请求,则向网络广播该请求被接受;
55.步骤5,用户看到请求被接受,然后提交材料验收条目;
56.步骤6,根据验收条目的链标识,其中一个区块链节点把条目加入其进程列表,并添加进入相应链的区块中;
57.步骤7,服务器对网络广播该条目的确认,内容含有在进程列表中的位置,条目的哈希值以及最新进程列表的哈希值;
58.步骤8,区块链网络中的所有其他节点更新该服务器的进程列表,验证该列表,并更新该链的区块;
59.步骤9,只要用户可以验证相关的进程列表中包含自己提交的验收条目,那么就可以相信它会被成功地录入区块链;
60.步骤10,在一个打包周期结束时,所有服务器确认进程列表高度,计算验收条目的反向哈希,还有被处理区块的一系列哈希值;
61.步骤11,一个打包周期内的目录区块是由所有服务器中定义的所有条目区块组合在一起生成的。因此每个服务器都拥有所有的条目区块,所有的目录区块和所有验收条目;
62.步骤12,使用反向哈希值的集合来创造一个种子,为下一轮的链标识重新分配服务器;
63.步骤13,在完成10个目录块后,执行以下操作:对最后一分钟的合同条目块创建默
克尔树根,按照链标识排序;创建最后一分钟的目录区块,并计算其默克尔树根;用10个目录区块的默克尔树根创建一个锚定;用服务器的反向哈希值集合来创建一个种子,再用其选择下一个服务器来把锚定写到区块链上;
64.步骤14,返回步骤1;区块链服务用一种去中心化的方式来收集/打包/保护材料验收质检数据资料,并把数据锚定在区块链上。区块链节点不断变换在系统中所承担的责任,永远不会只有一个节点控制整个系统,每个节点都只是系统的一部分。
65.以供应商资质管理为例,由供货商或施工单位(乙供材料)提交供货商资质申请,资质文件上传区块链,监理和业主单位从链上查阅资质文件并审核,通过后将供应商添加到供应商目录。供货商资质文件包括必要文件和附加文件,必要文件包括:营业执照、生产许可证、开户许可证、质量管理体系认证。附加文件为供货商提供的证明其资质的其他文件。
66.原材料资质管理为供货商资质管理的子项任务,供货商通过资质审核后可添加原材料供应资质申请。流程和供货商资质管理流程一致,原材料供应资质在区块链提交申请后,由监理和业主单位使用移动端或客户端进行审核,审核通过后存入供应商原材料供应目录。供应商提供的原材料主要包括:商砼混凝土、混凝土用砂、碎石卵石、水泥和添加剂,并同步提供混凝土用砂检测报告、碎石卵石检测报告、水泥检测报告、添加剂检测报告,其中水泥还需提供生产资质。商砼混凝土厂商需提供全套检测设计报告包括:混凝土用砂检测报告、碎石卵石检测报告、水泥检测报告、添加剂检测报告、混凝土配合比设计报告。所有资质文件都将上链存储。
67.在数据存储中,将完整的电子证据存储在星际文件系统中,在链中只存储星际文件系统中电子证据的加密过后的哈希值,以此来降低链上的存储压力。基于区块链的分布式存储架构,步骤如下:
68.步骤1,将用户的验收质检资料文件分成相同大小的块,如果最后块的大小比指定值小,则以实际大小存放。然后基于椭圆曲线加密ecc算法生成用户的公钥/私钥对(pk,sk),并对文件块加密。ecc允许用户在没有任何密钥生成中心或者第三方参与的情况下解密他们的文件。与此同时,利用数字签名算法ecdsa生成签名密钥对(spk,ssk)。在业务资料文件流转时,发送者使用ssk在资料文件块上签名,并由接收者使用spk进行验证。
69.步骤2,使用区块链存储和流转业务资料文件信息。区块链结构中仅存储业务资料文件的元数据,即文件块的哈希值,文件块的urldizh以及文件块副本的url地址,而不是在区块链中存储业务资料文件本身。在架构中,区块链上记录的不是传统意义上的交易,而是业务资料文件元数据从一方流转到另一方的过程,这个过程也同样带着时间戳。因此当用户需要更新一个业务资料文件时,只需要发起新的交易;同样当用户审查资料文件时,也只需要审查与之相关的最新交易,因为它是该文件的最终状态。当用户需要验证他们的数据时,可以根据身份信息从区块链中追溯交易记录,然后通过区块链上记录的文件位置验证数据。
70.步骤3,对文件完整性进行验证。文件的完整性验证仅需要验证merkle根,merkle树由sha256单向哈希计算生成,而sha256是两次sha256运算。merkle树首先通过配对数据,即最底层的叶子节点ti构建。在比特币系统中ti通常指交易,而在本发明系统中指业务资料文件元数据从数据所有者到数据使用者的流转过程。它们经过哈希运算后得到h(ti),然
后进行两辆配对和再哈希,一层一层向上哈希直到得到最终的计算结果,即merkle树根。在树中,包含信息的每个叶子节点都可以通过相应的路径进行验证。通过比较它们的merkle树根,就可以知道叶子结点中的元数据是否被篡改过。sha256将任何输入都输出为256位的字符串,它是不可逆的,输入稍微变化,其输出就会有很大的变化。
71.本发明中,完整的电子证据存储在星际文件系统中,当用户通过节点上传一个文件时,ipfs会把文件进行分块,通过构建merkle树根节点,把每个子块节点连接,每个块都会用一个唯一的cid进行标识。块的数据会被保存在本地的blockstore中,并不会立即上传到ipfs网络中。而当用户通过节点获取该文件时,它会首先从本地的blockstore查找请求的数据,如果本地没有,则会向与其连接的所有节点构成的网络发出请求,通过哈希路由找到拥有该文件的节点并把文件反馈回来,然后本地节点会将文件数据拷贝一份保存至本地的blockstore中,这样就相当于整个网络中多了一份原文件的拷贝。
72.在责任溯源模块中,如果施工中或施工后出现安全、质量等问题,将使用此模块利用其他模块上传至区块链节点的数据进行追责,具体为:验收方提供事故发生相关人员的公钥标识,调用责任溯源模块进行倒查事故原因、确定责任人,该模块使用的数据来源自其他模块上传至区块链网络上的数据。该模块由区块链的最新产生的区块开始向创世区块进行溯源,将与之相关的文件按照时间顺序形成一条链条展示出来,然后再根据具体信息进行追责并找出事故原因,具体的步骤为:
73.步骤1,链下收集事故发生相关人员的公钥标识,然后向区块链网络发出溯源请求,请求内容包括经过请求人签名后的事故发生相关人员的公钥标识;
74.步骤2,智能合约接收到请求后,首先验证请求签名是否正确,若正确解析请求内容中的公钥标识,签名不正确则驳回请求;
75.步骤3,智能合约获取区块链网络最新的区块地址;
76.步骤4,根据区块地址获取最新产生的区块,检查此区块是否存在与事故发生相关人员的公钥标识相关的档案,若存在则取出该档案,然后取出此区块的前区块的hash值,根据该hash值得到上一区块,检查上一区块是否存在与事故发生人员的公钥标识相关的档案,若存在则取出该档案,以此类推,直到检查到创世区块,溯源完毕;
77.步骤5,按照时间顺序依次展示在溯源过程中取出的档案,因为区块是按照时间顺序生成的,所以倒序展示在溯源过程中取出的档案。线下根据溯源得到的可信档案数据,去追责相关负责人。
78.在节点服务模块中,采用多用户操作系统和微服务理念设计并行计算服务架构。本系统“微服务”粒度划分以现浇混凝土可追溯质量管理业务模型为导向,采用s++(serviceplusplus)理论,通过服务的业务与技术分离(第一个+)、通过服务多态建模(第二个+),彻底的将传统服务中和业务无关的技术成分剥离,建立了监控服务、监理服务和施工服务等多个子服务。。服务间或服务与用户端之间,数据传递使用了表现层状态转移接口(representationalstatetransferapi,简称restapi)实现。所谓表现层状态转移是指将状态区分应用状态和资源状态,客户端负责维护应用状态,而服务端维护资源状态。客户端与服务端的交互是无状态,服务端不需要在请求间保留应用状态,只有在接受到实际请求的时候,服务端才会关注应用状态,从而解决了不同客户端同步调用时,应用状态冲突和功能算法模块重入状态无关性。在多次请求中,同一客户端也不再需要依赖于同一服务器,
方便实现了高可扩展和高可用性的服务端。rest架构遵循统一接口原则,使用标准的http/https协议方法,如如get, put和post,并遵循这些方法的语义。客户端面对的数据和算法不再是具体的算法函数、可执行计算程序和输入、输出文件,而是用系统中url(uniform resource identifier)唯一标识的资源。且这些资源使用“/”来表示资源的层级关系,使用“?”用来过滤资源。客户端通过 http/https统一接口方法获取带表述的资源。资源的表述包括数据和描述数据的元数据。客户端可以通过accept头请求一种特定格式的表述,服务端则通过content-type告诉客户端资源的表述形式。
79.以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1