基于区块链的建筑供应链信息共享管理系统架构研究
当前, 信息技术的不断进步与发展为信息共享提供了支撑技术, 例如基于本体的信息共享平台、基于物联网的节点信息管理平台、基于BIM的信息共享机制等, 在一定程度上实现了供应链内各节点之间的信息交流与共享, 促进了建筑供应链内的运行。然而以上信息共享平台在信息保存以及处理方面还存在一些问题, 例如:信息所有者不明确、信息数据盗用以及信息修改权限等, 这些问题的存在使得建筑供应链内各主体之间缺乏信任、监管溯源困难、信息透明与安全。
区块链技术 (Blockchain technology, BT) 是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式, 具有去中心化信任、可追溯性以及安全透明等特点, 目前区块链已应用于医疗数据、政府部门信息共享方面。虽然有研究者指出区块链技术在工程招投标、安全质量事故溯源以及数据共享和合同管理等方面具有很大的应用价值, 能够解决建筑业中长期存在的痛点, 但其在建筑业供应链信息共享管理中的应用还不多。而且现有对建筑供应链信息共享的研究也多关注于构建统一的信息共享平台, 在信息保护和溯源方面还存在不足。为此, 本文将区块链技术应用在建筑供应链信息管理上, 构建建筑供应链信息共享管理区块链, 期望通过利用区块链技术实现建筑供应链内的信息共享管理, 最终推动建筑供应链的高效运行。
1 区块链在建筑供应链信息共享管理中的可行性分析
1.1 区块链基本原理
区块链技术由中本聪 (Satoshi nakamoto) 于《比特币:一种点对点电子现金系统》一文中首次提出, 是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构, 并以密码学方法确保的不可篡改和无法造假的去中心化共享总账。在区块链中, 每个分布式节点通过哈希算法和Merkle树数据结构生成一个数据区块, 并链接到主区块链上。数据区块包含区块头和区块体两部分 (图1) , 区块体包含交易数据以及整个哈希的过程, 区块头则包括了链接上一区块的前一区块地址、经过哈希算法之后得到的Merkle根、随机数以及时间戳。
1.2 建筑供应链信息传统共享结构的不足
建筑供应链内部信息交换多为点对点的拓扑结构, 交换频繁, 内容复杂。建设项目各参与方构成供应链的各个节点, 各节点间必须进行信息共享, 不但需要获取信息还需要提供信息给其他节点, 例如供应商需要从业主和施工方获取材料需求信息, 同时需要向业主和施工方反馈材料进场信息;设计方需要从业主方获取设计任务书、可行性研究报告, 然后向业主和施工方提供初步设计文件、施工图纸等等。
针对这些特点, 目前应用比较广泛的是集成式信息共享模式 (如图2所示) , 该种模式下的信息共享一般需要借助第三方建立统一的信息管理中心, 各节点需要将信息上传至信息管理中心, 然后根据各自的需要从管理中心下载数据, 这一过程中, 项目参与方往往会因为不信任或者出于保密机制而不愿意共享数据。此外, 这一共享模式很大程度上依赖于信息管理中心, 如果第三方的信息管理中心遭遇破解, 整个数据都面临被复制、篡改或者丢失的危险, 安全性较差;同时整个数据都存储在数据中心, 这种情况下对整个数据中心的荷载能力就有较高的要求。最后, 当某节点需要一份数据时, 需要不停地检查权限与验证身份信息, 过程繁琐。
1.3 区块链应用于建筑供应链信息管理的优势
(1) 信息可追溯
区块链的每一区块都带有时间戳, 记录了信息录入的时间, 按照时间顺序可以查询搜索到任一节点的全部数据, 这有助于对供应物资和建造过程中产生的问题进行追溯。
(2) 信息透明性
区块链技术可以实现不同程度的信息开放, 是一定范围内公开的透明的数据库, 对于工程中发生中的每一笔交易都会记录在案, 有利于审计和监管。此外, 区块链中确定合约签订双方后需要将相关参数信息向全网广播, 征求全网节点的认可, 不仅可以保证全网节点了解和把控新的交易, 而且在联盟组织壮大时可以为相似节点提供公平竞争的机会, 避免信息不对称所带来的风险。
(3) 信息安全性
信息的安全性体现在以下三点:第一, 新的节点加入联盟组织必须验证, 若是发布了虚假消息, 经查实后将被踢出组织, 保证联盟组织的稳定性和安全性。第二, 每个节点可以将联盟组织需要的信息生成私钥, 向需要查看信息的其他节点发送公钥, 非对称加密技术保证即使拥有公钥, 也不能反推出私钥, 保护每个节点上的隐私。第三, 与以往将数据单独存储在加密的信息数据库相比, 新的区块加入区块链之前会传播给各个节点, 具有分布式安全的特点。如果其中一个节点的数据出现问题, 将会和其他节点进行比较, 如果要篡改数据, 需要篡改绝大多数的节点数据, 难度较大, 可行性不高。
1.4 区块链实现建筑供应链信息管理的可行性
目前, 按照开放程度将区块链分为公有链、联盟链和私有链三种, 各自的特点如表1所示。公有链是完全去中心化的, 任何节点都可以接入此链中, 平等地享有各项权利;私有链则是采用中心化系统, 只对特定节点开放, 读取和写入信息都需要权限;联盟链则处在二者之间, 既结合了公有链的高度开放同时又具备私有链中的高度集权私有化, 在联盟内部就预先指定了若干个节点进行记账, 后加入的节点想要加入联盟链中都需要进行申请和验证, 经过同意之后才能加入联盟链中。
由于建筑供应链是从业主的需求出发, 是承包商作为核心企业将整个项目参与的各家单位作为供应链上节点进行整合管理的建设网络, 因此, 联盟链的形式用于建筑供应链信息共享, 不仅能够保证项目参与方成为联盟链的各个组成节点, 进行相互之间的信息共享, 同时非完全去中心化的结构又保证了业主和总承包商在整个组织内的相对领导地位, 再者联盟链的交易速度也能够完全处理整个建设过程中产生的大量信息。
区块链在供应链信息共享管理的应用方面已经得到了实践, 在应用了区块链的信息管理模式中, 数据库由各组成节点同时维护运行, 各节点间平等地进行信息交换和储存, 享有相同的权利和义务。同时各节点通过共识机制, 通过P2P网络扩散上传数据, 依靠哈希算法形成可溯源、无法篡改的区块并依次链接形成区块链。因此, 将区块链技术应用在建筑供应链信息共享上, 有望帮助解决传统模式下建筑供应链信息共享管理方面存在的问题。
2 基于区块链的建筑供应链信息共享管理概念模型构建
根据区块链定义和建筑供应链的运行机制, 构建的建筑供应链信息共享管理区块链概念模型见图3。
区块链中的联盟节点根据建筑供应链联盟中参与方的不同划分为供应商节点、业主管理方节点、施工方节点、勘察设计方节点和其他节点。各节点在通过验证后, 得到相应的节点身份标识IP, 而后获得IP的各节点计算并生成自己的公钥和密钥, 将自己的各项参数信息和公钥向全网广播, 并获取和保存其他节点的信息, 从此参与到建筑供应链的联盟组织中, 围绕项目展开合作。在建筑供应链中, 往往是围绕建设单位展开的, 因此, 联盟链的中心主要是业主管理方负责进行交易验证, 在区块链中添加新的智能合约代码, 并将经过验证的新的交易信息上传到信息库中。
在整个联盟节点中, 供应商节点是由响应资源需求并提供资源运输服务的供应商节点组成;业主管理方节点是由安排计划并布置任务的参与施工管理的单位组成, 不仅是业主也包括业主委托的咨询管理单位;施工方节点是由承担相应施工任务的总承包商或者分包商组成, 负责提供的信息包括班组人数、施工能力、施工质量等基本信息;勘察设计方节点集合是由负责前期勘察的单位以及完成项目设计任务的单位节点组成;其他节点则包括了其他参与项目的节点, 例如后期参与项目运营单位和保护维修的单位组成, 以及政府监管单位等等。
联盟链内各节点都需要将从节点内部各部门整合而来的信息提供出来, 其中供应商节点提供的信息包括资源名称、库存数量、单位资源制造时间、仓库位置、单位距离运输时间、单位资源价格 (包括运输) 等基本参数信息;业主管理方节点提供的信息包括项目定义、预期目标等基本信息;勘察设计方节点提供的信息包含勘察报告文件、初步设计文件和技术变更等信息;施工方节点提供的信息包括班组人数、施工能力等基本信息;其他节点中运行维护单位可能提供的信息包括项目运行策划、试运行信息等, 政府部门则会提供最新的政策, 同时获取项目建设过程中的相关信息。
3 信息共享管理区块链系统的架构
3.1 系统组成
区块链整个系统包含了数据层、网络层、共识层、激励层、合约层和应用层共六个层次。在这其中, 数据层、网络层和共识层是区块链的底部技术, 是成为区块链必不可少的部分, 本区块链主要还是应用于建筑供应链内信息共享的管理, 因此区块链架构主要分为数据层、网络层、共识层、合约层和应用层五个部分。
3.1.1 数据层
随着建设工程项目的不断实施, 建筑供应链内的各节点之间会产生大量信息, 并在各节点之间产生流动, 实现信息共享。数据层作为该区块链中最底层的技术, 是形成数据区块的核心, 而数据区块中的数据则来源于各节点上传的自身数据。针对建设项目的特点, 结合区块链构成特性, 各节点在联盟链上体现的信息为数据区块, 而每一节点的数据区块则由交易数据经哈希后得到, 交易数据具体体现为:已完项目任务、已完资源交易、已完施工任务、已完设计任务、已完运营任务。在交易数据下, 为各节点自身的状态数据, 主要是为了时刻记录项目建造过程中的各种状态, 每个状态节点得到满足或被完成时会自动删除原状态信息并加入新的状态信息, 管理人员可以随时查看 (如图4所示) 。
而每一笔任务完成的交易数据, 会在一段固定时间内通过哈希算法来生成相对应的哈希值。时间间隔较短的情况下可以保留所有交易的哈希值, 并直接链接区块头中的Merkle根上。建筑供应链中交易数量和金额庞大, 则需要将原记录的哈希值进一步哈希, 反复迭代, 直到满足区块存储要求时, 再将最终哈希值链接到Merkle根中。链接到Merkle根之间的哈希过程保存在区块体中, 保证了每条数据都可以追溯, 同时由于哈希算法的单向性和抗冲突性, 确保了数据无法篡改, 提高了数据的可靠性;而区块头则记录了当前版本、前一区块地址、时间戳、Merkle根以及交易金额的信息, 通过前一区块地址和当前区块的数据哈希值, 各个区块之间相互连接形成一条可以从最新区块追溯到创世区块的完整主链, 图5展示了资源交易区块建立过程。
3.1.2 网络层
网络层包含了组网方式、消息传播协议等要素, 通过设计特定的传播协议和数据验证机制, 使得区块链内每一个节点都能参与新建区块的校验。该区块链中采用P2P网络, 每个节点处于对等的地位, 均承担验证数据区块和传播数据区块的责任。由于P2P网络研究和影响已相对较为成熟, 故本文在此不再展开。
3.1.3 共识层
整个区块链的共识算法封装在共识层内。区块链最为突出的作用是解决各节点之间信任问题, 而共识算法便是为联盟节点之间高效地达成共识提供机制。随着区块链的发展, 共识机制已由最初的PoW共识发展为PoS (Proof of Stake, 股份证明) 、PBFT (Practical Byzantine Fault Tolerance, 拜占庭容错) 等多种类型。考虑到建筑供应链多中心的结构, 本区块链采用改进的股份授权证明机制 (Delegate proof of stake, DPo S) 。
DPoS允许联盟内每个节点投票选出委托代表, 得票数最高的代表将成为授权代表, 授权代表需要对其他节点负责, 若授权代表错过生成新区块或上传虚假数据, 则其他节点将不在信任该授权节点, 并将其移出联盟链, 避免了供应链内各节点提供虚假信息或者排斥竞争者, 同时减少了供应链内参与验证和记账的节点数量。
3.1.4 合约层
合约层主要包括了各类脚本代码、算法以及智能合约。智能合约是为了实现区块链账本记录功能, 由项目各参与方签署, 最后以代码形式附着在区块链上的协议。智能合约中封装了触发合约的各种条件, 一旦满足合约条件, 系统自动执行, 不受任何外界因素的干扰。如, 供应商与业主达成资源交易智能合约后, 即将该合约代码嵌入区块链中, 待交易数据上传之后, 自动判断是否符合合约条件, 若各项符合要求, 则判断合约成立, 合约金额将自动划分到供应商账户上。
3.1.5 应用层
应用层包含了区块链的应用范围, 即信息储存和信息查询及验证。前面已经讲到交易信息保存到了区块中, 而这些数据也同时保留在各个节点上, 这就有效避免了数据的丢失。而区块链中的信息带有时间戳和信息验证记录, 任何时候接受建设单位或政府检查都可以快捷方便地定位到信息位置, 证明信息真实存在。
3.2 信息共享管理区块链运行流程
在信息共享管理区块链中, 信息区块链的生成步骤如图6所示:
步骤1:项目各参与方共同组建联盟节点, 验证和添加新的节点, 并获得作为身份标识的公钥和私钥, 确定自己的权限;
步骤2:各节点利用共识机制选出授权节点;
步骤3:联盟节点共同制定参与施工计划的制定, 设计单位、供应商和施工单位分别作出完成任务的承诺。这份承诺规定了双方的权力和义务, 经由双方私钥签名后生成。合约被翻译成相应的代码, 经P2P网络向全网广播, 经验证通过后, 由授权节点传入到区块链中。
步骤4:智能合约在执行过程中, 状态信息时刻记录着供应商和施工单位的任务状态, 任务完成后, 建设单位、施工单位和监理单位对任务完成信息进行验证, 验证通过之后, 由授权节点将信息暂时存储在交易数据库中, 并向其他节点传播。
步骤5:智能合约每隔一段时间检查交易数据库中的数据, 在满足合约条件之后, 执行合约条款并将执行合约后的结果生成新的区块, 并接入到已有区块链的链尾, 形成完整的建设工程区块链。
步骤6:区块链生成后, 当有节点需要增加、删除、查询和检验信息时, 需要向区块链节点网络发布请求。例如聘请的审计单位想要查询项目建设信息, 那么审计单位所在的节点将自己的身份、信用等信息制成表单, 用自己的私钥签名后发至对应节点, 并向全网广播。对应节点在核实其身份、信用等信息后, 查询对应区块信息, 一旦查到相关信息, 就将带有时间戳的区块信息的查询和变动情况传送至全网核对。通过全网节点的信息验证后, 对应节点将私钥签名后的信息反馈至请求节点, 也就是审计单位所在节点, 审计单位将接收到全网认证核实且未经篡改建设信息, 在接收到信息后审计单位对项目建设情况进行审查。
4 结语
区块链技术作为一种快速发展的技术, 因其去中心化信任、防止篡改等特点, 得到了众多关注。本文提出的建筑供应链信息共享管理区块链, 借助区块链的特点, 解决了建筑供应链内各主体之间缺乏信任、监管溯源困难、信息安全的问题。未来随着区块链技术的进一步发展和完善, 借助区块链+智能合约的模式, 构建相互信任的建筑供应链联盟, 实现项目价值流的持续增值。
[2]刘平, 李启明.BIM在装配式建筑供应链信息流中的应用研究[J].施工技术, 2017 (12) :130-133.
[3]高国伟, 龚掌立, 李永先.基于区块链的政府基础信息协同共享模式研究[J].电子政务, 2018 (2) :15-25.
[4]朱雅菊.区块链技术在建筑行业的应用场景展望[J].工程经济, 2018 (6) :45-47.
[5]周乐.区块链技术在工程管理中的应用[J].中国招标, 2018 (24) :14-16.
[6]汪传雷, 万一荻, 秦琴, 等.基于区块链的供应链物流信息生态圈模型[J].情报理论与实践, 2017 (7) :115-121.