基于Ethereum的房地产供应链系统设计与实现
2020-02-19张翰林孔凡玉
张 亮,张翰林,孔凡玉,于 佳,3,4
1.青岛大学 计算机科学技术学院,山东 青岛266000
2.山东大学 网络信息安全研究所,济南250100
3.中国科学院 信息工程研究所 信息安全国家重点实验室,北京100093
4.密码科学技术国家重点实验室,北京100878
1 引言
近年来,我国经济发展进入了新时代,房地产行业快速崛起,在国民经济中占有举足轻重的地位。然而,随着科技的发展进步,房地产行业存在的诸多问题逐渐显露,急需进行产业的重新整合和升级换代,提升行业的核心竞争力,其中重要之一就是对房地产供应链进行改造升级。供应链是指围绕核心企业,产品在生产和流通过程中涉及的供应商、生产商、批发商、零售商以及消费者所组成的一种供需网络结构[1]。在未来的发展过程中,房地产开发企业需要提升联合房地产供应链上下游企业的能力,提高管理效率,降低供应链成本,打造成一个利益共同体,实现信息共享、互利共赢[2]。但现阶段,传统的房地产供应链主要存在以下几点不足:(1)信息存储分散,共享程度低:供应链中各参与主体将数据存储在本企业的数据库中,独立性强,透明性差,信息孤岛现象广泛存在,协调机制不完善,需求方很难对数据进行查询,同时信息的真实性和完整性不易分辨,使得各参与主体间的信任度大幅降低[3];(2)信息追溯查询困难造成监管不易:当出现质量问题或者消费者权益受到损害时,由于存在数据存储不完整和人为篡改的可能性,很难对其进行追溯举证,分清责任,找出问题源头;(3)房产交易流程繁琐,安全性得不到保障:消费者在进行房屋购买时,房产所有权的转移过程处理流程繁琐,耗费大量时间,并且传统的交易方式经常需要第三方中介机构的介入,做不到交易的去中介化执行,交易成本也会因此提升。总之,传统的房地产供应链很难保证整个房地产供应链中数据的透明性、完整性、可追溯性以及房产交易的可靠性。
被认为最具潜力带来第五次科技革命的区块链技术能在很大程度上有效地解决传统房地产供应链中的弊端。区块链技术是一种利用分布式数据存储、密码学加密技术、创新性的共识机制等组成的一种综合性技术,其具有去中介化、数据可溯源、防篡改、集体维护、可验证、可编程等特点。由于区块链技术创造了去中介化的可信任的互联网环境,其应用范围变得更加广泛,从数字货币到金融、物联网、大数据、云计算、公益慈善等领域,房地产供应链也将是区块链的一个典型应用场景。2016年10月,中国工业和信息化部发表了《中国区块链技术和应用发展白皮书(2016)》,首先分析了全球区块链产业的发展趋势和现状,提出了区块链典型的应用场景,其中涉及到金融、供应链等领域[4],为中国的区块链产业发展指明了前进的方向。区块链技术的出现将为房地产供应链的改造升级创造新的机遇,智能合约将为信息的存储查询以及房产的交易提供自动化服务,是一项具有潜力改变房地产供应链系统的新技术。
针对上述提出的传统房地产供应链存在的不足,将对传统房地产供应链运用区块链技术思想,将供应链各参与主体的数据进行链上、链下存储和查询,依靠智能合约进行链上房产交易,为监管机构的监督管理提供便利,具体创新如下:(1)将供应链各参与主体提交的相关数据通过智能合约自动执行上链存储,额外的详细数据进行链下存储,各参与主体也将被串联到一起,基于区块链技术的分布式共享数据库和数据上链后不可篡改的特性,保证房地产供应链数据的高度安全和溯源访问;(2)采用智能合约来执行链上房产的交易,减少不必要的交易手续,避免中介机构的参与,确保交易的正常执行和房屋所有权的安全转移,在去中介化的同时解决房产交易中的财产和信任问题;(3)为了保证提交数据的透明性和完整性,政府等监管机构应对各参与主体每次提交的数据进行审核,如有提交虚假数据的行为,可及时发现,对其进行处罚,保证了供应链上传信息的真实性,解决了各参与主体之间的信任问题,减少不必要的纠纷。
2 相关工作及背景介绍
2.1 区块链技术起源与发展
最早,化名为“中本聪”(Satoshi Nakamoto)的学者发表了一篇名为《比特币:一种点对点的电子现金系统》的论文[5],提出了一种在无需信任的基础上进行点对点交易的加密数字货币—比特币,由此扩展出了区块链技术。后来,随着各国政府和企业的高度关注,区块链技术得到了较快的发展。可以说,区块链的发展经历了三个阶段[6],区块链1.0[7]——可编程货币:主要以比特币、莱特币等加密数字货币为代表构造出了一种全新的数字货币支付体系;区块链2.0[8]——可编程金融:智能合约与区块链技术相结合使得区块链的应用范围从单一的数字货币领域扩大到其他金融领域;区块链3.0[9]——可编程社会:由于区块链技术独特的去中心化特性,应用范围可扩大到社会生活的各个方面,例如:物流、选举、公证、版权等领域。
2.2 以太坊智能合约
智能合约这个概念最早是由Szabo在1994年提出的[10],当时由于受到互联网中心化、不可信环境的限制,没有得到更好的发展。直到今天,区块链技术的出现使得智能合约又以区块链2.0中的一个重要概念出现在人们的眼前。简单来说,智能合约就是一种特殊的协议,旨在提供、验证或实施合同的谈判或履行,智能合约允许在没有第三方的情况下执行可靠的交易,这些交易是可追踪的、不可逆转的,用户只需要提供特定的触发条件,合约就会自动的、不受外界干扰地正确执行[11]。更通俗一点来说,智能合约本质上就是一段代码,运行在一个分布式的去中心化平台上,这个平台赋予了这段代码确定、不可更改、自动执行、运行结果存储到区块链上的特性,并且保证其安全可靠地执行。
2.3 相关工作
近年来,区块链技术得到了各界人士的广泛认可。目前,区块链技术在金融、能源、资产、教育、医疗、知识产权等领域研究成果较多,供应链与区块链技术的结合是一项具有创新性的工作,许多国内外的专家学者正在积极研究如何将区块链技术应用到供应链领域[3]。
在国内,区块链研究涉及领域非常广泛,其中在供应链领域中,朱建明、付永贵[12]提出了基于区块链的B2B+B2C供应链多中心协同认证模型,并结合具体实例进行分析论证,对后续的研究发展具有很大的参考价值。李晓、刘正刚[13]认为当前环境中,供应链治理存在机会主义风险和信任问题,他们基于区块链的去中心且去信任的特性,提出了新的供应链智能治理机制。杨望、王虹珊[14]讨论了区块链技术在供应链管理中的总体框架和应用场景,提出了区块供应链的问题和发展建议。朱兴雄、何清素等人[15]研究了区块链供应链金融原理及理论,提出了区块链供应链金融的核心方案。
在国外,一些专家学者从技术层面进行区块链与供应链相结合的探讨研究,比如,Kim和Laskowski[16]认为物联网和区块链技术可以为供应链数据的溯源提供希望,他们分析了可追溯性的本体,并将其中一些表示转换为可在以太坊区块链平台上执行的智能合约。Tian[17]研究设计了基于RFID(射频识别)和区块链技术的农业食品供应链可追溯系统,将生产、存储、加工、配送和销售等环节的数据真实记录到区块链上,保证了整个农业食品供应链中信息的可追溯性,有效地保障了食品安全。Korpela、Hallikas等人[18]解释了如何通过区块链技术在数字供应链集成上实现颠覆性的转变,提出了供应链集成的要求和功能,为相关企业的发展提供了新的思路。Toyoda、Mathiopoulos等人[19]提出了一种新型的产品所有权管理系统,利用比特币区块链的概念和以太坊开发平台,实现了降低成本的目标,可用于后期供应链。
但是,区块链技术在房地产供应链领域的理论研究和技术研究相对较少,缺少相关文献资料。因此,本文将基于已有的供应链方面的研究进行区块链技术+房地产供应链系统的研究设计。
3 系统模型
本文将房地产供应链与区块链技术相结合,基于以太坊智能合约开发平台进行去中心化应用(Decentralized application,DAPP)的研究设计,主要功能为数据链上链下存储、数据溯源查询和房产交易功能。下面介绍基于以太坊的房地产供应链系统的系统流程和系统架构。
3.1 系统流程
图1展示了房地产供应链系统中各参与主体提交数据进行链上链下存储和房产交易的系统流程。
首先,供应商、房产商、顾客在注册界面注册各自权限的账号,用来登陆系统,不同权限的账号登陆将跳转到不同的页面。供应商和房产商登陆后跳转到后台信息填写页面,根据房产唯一标志ID填写房产相关信息,提交后通过智能合约进行链上的数据存储,同时使用服务器端数据库进行链下的数据存储。顾客登陆后跳转到房产信息展示页面,便于顾客了解房产详情和执行购买操作。
供应链各参与主体都可以通过房产ID进行数据的溯源查询,其中,顾客对其他参与主体提交的房产信息进行查询浏览后,如果满意可点击购买按钮,后台自动通过智能合约进行交易的相关操作,交易完成后顾客信息将上链存储,根据顾客意愿也可填写额外信息进行链下存储。
为了避免各参与主体恶意提交虚假数据,保证信息填写的真实性,所有信息存储过程将在政府等监管机构的监管下完成。
图1 系统流程
3.2 系统架构
系统功能模块架构如图2所示,本系统设计包含四个部分:Web前端及业务逻辑模块、区块链模块、智能合约模块、数据库模块,其中智能合约模块包括数据上链存储查询部分和房产交易部分。
底层的区块链模块和数据库模块提供数据存储功能,其中,区块链模块是房地产供应链系统中重要的组成部分,运用区块链特殊的结构进行数据的存储、点对点传输机制进行数据的传输、共识机制进行数据一致性的处理,保证数据的真实性、完整性;数据库模块通过前端业务逻辑调用,将Web前端及业务逻辑模块中提交到数据库的数据进行链下存储,两者结合使用来进行数据的分类存储可以减轻区块链的数据存储负担,使得资源得到合理地分配使用。
中间的智能合约模块为数据的存储查询和房产的交易提供交互接口,智能合约代码保存在区块链模块中。当进行数据存储查询时,数据存储查询智能合约将被自动调用,完成区块链中数据的存储或查询;当进行房产交易时,房产交易智能合约将确保房产商获得房产出售的钱款,顾客获得房产所有权,真正做到交易的去中介化,无需第三方中介机构干预。
顶层的Web前端及业务逻辑模块为用户提供友好的互动界面,通过智能合约提供的接口和前端业务逻辑调用分别与区块链和数据库进行交互,提交各参与主体的请求,执行具体的存储查询和房产交易功能。整个过程在政府等监管机构的监管下进行,这样可以保证各个环节正确执行,增强交易的可信性,避免不必要的争端。
4 系统功能模块
下面依次详细介绍本系统的功能模块:Web前端及业务逻辑模块、区块链模块、智能合约模块和数据库模块。
4.1 Web前端及业务逻辑模块
Web前端及业务逻辑模块中的前端界面主要分为注册登录界面、数据录入界面、房产详情展示界面、房产购买界面等四部分,采用html+css+javascript进行界面设计;通过web3.js库与以太坊节点的RPC接口连接来调用智能合约进行数据存储、查询以及房产交易;运行命令行版本的以太坊节点仿真器软件Ganache-cli来模拟真实的以太坊网络环境;使用谷歌浏览器中提供的插件——以太坊轻钱包Metamask来连接以太坊节点,生成并发送交易到以太坊区块链网络,同时进行交易费用的付款操作和房产购买的转账操作。
Web前端及业务逻辑模块中的业务逻辑部分主要负责处理前端页面传送的请求,与数据库进行交互。以注册登陆过程为例加以说明,为了将供应链各参与主体信息提交到区块链或数据库中存储,各参与主体首先要注册各自权限的账号,登陆DAPP。本系统采用的是以太坊测试网络,仅用于开发需求,在本地模拟一个拥有众多节点的区块链网络,然后系统将所有的交易信息向全网广播,最终记录到以太坊区块链网络中。实际上,如果将注册信息提交到区块链上存储,每一次的注册就是一笔交易,提交交易到区块链网络中的人需要对区块链网络中打包交易的矿工节点支付交易费用,而为了减少用户的手续费开销,本系统将此过程中的账号密码和权限信息存储于服务器端的MySQL数据库中,由于用户的密码经过哈希函数加密后存储,可以保证其安全性。这样做既可以节省实际交易费用,也方便快速地对数据库中的信息进行读取核对,系统登陆认证过程使用可以运行在服务器端的编程语言Node.js的身份认证中间件Passport.js来验证当前登陆的用户名、密码和对应权限是否相符。
图2 系统功能模块架构
系统所有执行的过程对各参与主体来说是不可见的,当涉及到提交到区块链上的交易时,他们只需在Metamask钱包弹出时进行支付操作。
4.2 区块链模块
区块链模块的主要功能是将供应链中各参与主体提交的上链数据打包进区块,由网络中的参与节点通过共识机制确认后将其链接到区块链上,用来实现数据存储以及后期的数据溯源查询,确保数据的安全性和完整性。
4.2.1 区块链技术原理
区块链本质上是存储信息的分布式数据库,或者理解为在各个参与者之间执行和共享所有交易和数字事件的公共账本,公共账本中的每笔交易都通过系统中半数以上的参与者通过共识机制进行验证,交易一旦记录到区块链上,便永远不会被删除[20]。与传统数据库不同,每个参与者都会保存一份完整的区块链数据,即使系统中少数参与者因各种原因造成数据丢失,也不会对区块链中存储的数据造成影响,区块链的这种特性正好满足房地产供应链中数据存储的需求,链上每个参与节点共同维护供应链中的数据,可以保证数据存储的完整性和安全性。同时,区块链包含的每笔交易都是特定可验证、可查询的,这为房地产供应链中的数据溯源提供了保障。
4.2.2 区块链区块结构
区块链技术是比特币的底层技术,比特币是区块链技术的第一个应用[21]。在比特币区块链网络中,交易首先会被打包进区块,然后全网的参与节点会对该区块的区块头进行双重SHA-256哈希运算,竞争来解决这个数学难题,即工作量证明机制(Proof-of-Work,POW),解出答案的节点向全网公布结果,经其他节点验证正确后,获得记账权和奖励[22]。这样,每笔交易都被打包进以区块为单位的链式数据存储结构中,整个区块链记录了从创世区块到当前为止所有的交易历史数据,通过全网的参与节点共同维护其一致性,防止了单一或几个记账人员相互串通,恶意修改数据。因此,区块链技术保证了所有参与者都有权参与记账,提高了交易的可信度和可靠性,应用于房地产供应链领域能有效改善传统房地产供应链中信息的不透明、人为控制等弊端。
从图3的区块结构中可以看到,区块链由两部分组成:区块头和区块体。其中区块头中的默克尔树根节点存储区块中包含的所有交易迭代计算得出的最终哈希值,默克尔树的特点是利用哈希函数的雪崩效应,一旦叶子节点的数据发生改变,父节点的哈希值就会随着发生改变,这个改变一直到根节点,默克尔树的这个特性保证了区块中数据的不可篡改,而且也使得验证一笔交易是否包含在一个特定区块中更加方便;时间戳字段可以明确表示该区块生成的时间,无法抵赖和篡改;难度值和随机数字段用于共识机制,保证了全网数据的一致性;每一个区块都保存了上一个区块的哈希值,用来实现区块的连接;以太坊区块中增加了日志布隆过滤器字段,可以对区块链上的数据进行安全且高效的访问,便于房地产供应链中数据的查询操作。
使用区块链来保存供应链中各参与主体提交的数据信息,可以做到信息公开透明、有据可查,除非篡改者拥有全网50%以上的算力,否则是不可能对已存储到区块链上的数据进行篡改,这样就可以保证在出现问题时,对供应链中各参与主体的真实数据进行追本溯源,找到问题源头,有利于监管机构进行监管和追究责任。
图3 区块链链式存储结构
4.2.3区块链共识机制
相比于比特币的工作量证明机制(POW)[7],以太坊区块链引入了一种较为先进的共识机制——Casper权益证明机制(Casper Proof-of-Stake,Casper POS)[23],即一种基于保证金的经济激励共识协议。由于技术升级困难等限制因素,以太坊区块链网络目前并未使用这种共识机制,而是采用在POW基础上进行了改进的工作量证明机制,其具有两大优势:可以抵御矿机挖矿;轻客户端可验证。区块链中参与节点达成一致进行数据存储的功能流程为:(1)供应链中参与主体节点提交新的上链数据信息,产生一笔交易通过点对点的方式向全网广播;(2)全网其他节点接收到这笔交易,验证合法后将其打包进区块;(3)挖矿节点开始通过改进的工作量证明机制对此区块进行哈希运算,找到一个符合要求的随机数;(4)当某个挖矿节点找到正确的随机数后,将其向全网广播;(5)其他节点通过哈希算法等密码学算法验证随机数的正确性后,挖矿节点获得记账权,将此区块链接到区块链末尾上,完成数据上链存储的过程。共识机制将确保房地产供应链中信息的一致性,增强各参与主体对区块链中存储的数据的信任度。
房地产供应链系统中各参与主体可以在数据存储交易打包进区块后,查询到此交易的哈希值信息,保存留作凭证,方便追溯交易。同时,顾客在房产交易完成后,可打印包含此交易的区块信息,以便进一步确认交易成功,保证房产所有权转移到付款的顾客名下。
全网所有节点都存有完整的区块链数据,所有的上链信息可以从其中任一节点获取,并且房产信息都有唯一的标志序号,可以容易地对存入区块链中的房产信息进行溯源查询。
4.3 智能合约模块
智能合约模块主要通过提供交互接口对供应链各参与主体所提交的数据进行上链存储和查询以及通过智能合约来进行房产交易,分为数据上链存储查询和房产交易两部分。
以太坊(Ethereum)[24]是最早将区块链和智能合约结合起来的,它支持图灵完备的脚本语言,并且封装了底层各种复杂的行为,允许开发者在上面开发任意的去中心化应用程序,根据需求来创建、执行任意的智能合约,同时提供了丰富的API-web3.js等。因此,本系统采用开源、成熟、被广泛使用的以太坊智能合约开发平台进行房地产供应链系统的研究设计。
4.3.1 智能合约模块流程
以太坊智能合约部署和执行的过程如图4所示。
以太坊虚拟机(EVM)是智能合约的运行环境,以太坊网络中所有的节点都运行着EVM,EVM作为沙盒来运行并且提供一个隔离的运行环境[25]。本系统使用官方推荐的智能合约开发语言solidity[26]编写智能合约,通过EVM将合约代码解释成EVM字节码,然后经过以太坊网络节点验证后部署到区块链上。房地产供应链中采用智能合约来进行数据的自动上链存储和查询调用,可以有效地降低操作成本,给房地产供应链管理带来极大的便利,同时,房产交易从链下转移到在链上依靠智能合约来进行,避免中介机构介入,安全性得到保障,顾客满意度也将提升。
4.3.2 数据上链存储查询部分
供应链各参与主体将各自所需要提交的数据输入后,点击提交按钮将自动调用数据上链存储智能合约,执行过程不受外界的干扰,可以节省运营维护成本,提高房地产供应链管理的效率。数据上链存储查询部分由结构体和存储查询函数组成,结构体中的属性包括房产唯一标识ID和各参与主体需提交数据的属性,存储查询函数负责对各参与主体提交的数据进行存储和查询。数据上链存储查询智能合约的部分solidity代码如下:
contract EstateSupplyChain{//房地产供应链智能合约
struct EstateSupply{//结构体
图4 智能合约部署和执行流程
uint estate_id;//房产唯一标识ID
//供应商需提交的数据
uint raw_material_id;
bytes32 suppiler_name;
…… //其他数据
//房产商需提交的数据
bytes32 seller_name;
bytes32 estate_sellprice;
……//其他数据
//顾客需提交的数据
uint customer_iphone;
bytes32 customer_name;
…… //其他数据
}
//从房产id到结构体数据的映射
mapping(uint=>EstateSupply)estatesupply;//存储供应商相关数据
function setSupplier(uint estate_id,bytes32 supplier_name,……){
EstateSupply storage estate_real=estatesupply[estate_id];
estate_real.estate_id=estate_id;
estate_real.supplier_name=supplier_name;
……
}
function setSeller(…){…}//存储房产商相关数据
function setCustomer(…){…}//存储顾客相关数据//查询供应商相关数据
function getSupplier(uint estate_id)constant returns(uint,bytes32,……){
EstateSupply storage estate_real=estatesupply[estate_id];
return
(estatesupply[estate_id].raw_material_id,
estatesupply[estate_id].suppiler_name,
……
);
}
function getSeller(…){…}//查询房产商相关数据
function setCustomer(…){…}//查询顾客相关数据
4.3.3 房产交易部分
房产交易部分主要功能是将传统房产交易的过程转移到通过以太坊区块链网络中部署的智能合约来进行,借用区块链去中介化特性,保证交易无第三方中介机构介入,顾客通过智能合约向目标地址汇款,并且通过不可篡改的链上代码确保房产所有权的安全转移,为顾客提供安全、透明的交易环境。在房产交易过程中,顾客调用房产交易合约中的付款函数来支付所购买房屋的费用,同时房产所有权转移将自动执行,从而正式完成房产的交易。房产交易智能合约的部分solidity代码如下:
contract EstateTransaction{
//顾客转账付款及产权转移
function payMoney(uint estate_id,address receiver,uint price){
balances[msg.sender]-=price;
balances[receiver]+=price;
……
estateToOwner[estate_id]=msg.sender;
……
}}
智能合约的代码要由房地产供应链中的各参与主体来共同制定,在各参与主体都知晓的情况下进行部署合约,合约一旦部署就不可更改,执行结果对所有人都可见,提高了供应链各参与主体之间的信任度,降低了信息不透明所造成的影响。合约部署完成后都会产生唯一的一个合约地址,顾客可以通过向此地址付款来购买房产,购买记录将会保存到区块链上。
4.4 数据库模块
数据库模块的主要功能是存储供应链各参与主体注册的用户名、哈希加密后的密码和一些额外相关信息,比如原材料详细数据、房产详情描述等占用较大存储开销的信息。
可以将区块链视为一个分布式NoSQL数据库,但在现阶段,区块链技术仍存在交易手续费昂贵,不利于大量数据存储等不足之处,所以不可避免地需要与传统数据库系统进行交互。严格来讲,数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合,每个数据库都会有一个或多个独特的API,用来创建、访问、管理、搜索或复制所保存的数据[27]。本系统采用目前广泛应用于Web方面的开源关系型数据库管理系统MySQL,在Node.js的Web应用框架express下与数据库建立连接,进行数据的存储和查询。
图5展示了存储于MySQL数据库中的数据结构图,主要包括用户表、角色权限表和供应链各参与主体的链下数据存储表。用户与MySQL数据库进行交互进行链下数据的读取操作,由于用户注册时需要选择不同的权限,这里以权限ID的形式存入用户表中,用户登陆后,数据库根据当前用户的权限ID在角色权限表中找到对应的权限,从而对不同参与主体的数据表进行操作。
5 系统工作流程展示
图5 数据库结构
本系统设计在Ubuntu16.04.4 LTS的64位操作系统下搭建了以太坊开发环境,以太坊区块链网络属于公有链,指的是任何人都可以加入其中成为参与节点,读取数据、发送交易、竞争记账,是“完全去中介化”的区块链网络,安装依赖包和软件包括:Node.js、truffle、ganache-cli、Metamask等。其中,以太坊智能合约开发框架Truffle用来对智能合约进行编译、测试和部署,由于合约的部署、执行以及交易过程需要花费以太币,而真实的以太币价格昂贵,因此使用以太坊开发者测试网络ganache-cli来模拟真实的以太坊网络环境,通过Chrome浏览器的轻量级钱包插件Metamask来执行以太币的转账、付款功能。
图6(a)以供应商为例展示数据链上链下存储的过程,其中供应商填写相关上链数据提交后弹出Metamask支付交易费用,最后一栏额外信息中填写的数据将提交到服务器端的MySQL数据库中存储;图6(b)为供应商和房产商填写完相关上链信息后,通过房产ID查询到的数据页面;图6(c)以顾客为例展示房产购买的交易过程,转账付款和所有权转移过程通过智能合约在后台进行,顾客只需支付交易产生的费用即可;图6(d)展示了顾客购买房产之后通过房产ID可查询到该房产的所有信息,其中包括房产拥有者的信息,确保交易成功。
使用ganache-cli测试网络进行模拟测试,图7中展示了数据上链存储查询智能合约和房产交易智能合约成功部署的交易数据,每笔交易包括交易ID、Gas使用、区块数和区块生成时间四部分。图8以供应商提交数据上链存储的交易为例进行展示。系统交易开销可以由以下公式进行计算:Gascost=Gasusage×Gasprice×exchangerate,其中,Gascost指系统交易开销,Gasusage指的是当前交易的Gas使用量,可以从图中交易数据的Gasusage字段获得;Gasprice指用户愿意花费于每个Gas单位的价钱,在真实的以太坊网络环境中,Gas价格取决于当前的网络环境,当网络拥堵时,Gas价格较高,支付较高的Gas价格,矿工将优先处理此笔交易,当网络不拥堵时,Gas价格相对较低,用户可以以较低的Gas价格完成一笔交易;exchangerate指以太币与法定货币的实时汇率。传统的房地产供应链系统通常需要大量的人力与物力进行维护和升级,各环节都需要人力去处理,成本开销大,而使用基于智能合约的房地产供应链系统将只在合约部署和执行有关操作时支付少量交易费用,并且不需要大量的人力进行维护,简化操作流程,大幅节约成本,提高效率,具有较大的优势。
图6 系统工作展示
图7 合约成功部署交易
图8 供应商数据上链交易
6 区块链+房地产供应链面临的问题
与任何新兴技术一样,区块链技术想要成为被广泛采用并最终成为全球供应链运营的支柱,就必须克服一些障碍[28]。将房地产供应链与区块链技术相结合是一项创新性的技术,同样存在一定的缺点和限制:
(1)隐私保护问题是众多场景中应用区块链技术的难题之一,虽然将区块链技术应用于房地产供应链领域有很大的发展优势,但由于区块链中的数据是完全公开透明的,不具备对敏感数据的保护作用,因此既要保护隐私数据又要满足安全问题,需要采取一个两者兼顾的方法。对系统中顾客的关键隐私数据进行隐私保护工作。具体来说,将隐私数据分为两类:不可公开验证的隐私数据和可公开验证的隐私数据。对于不可公开验证的隐私数据,将其通过密码学加密算法进行加密后上传到链上,保证不可篡改,在查询时以加密的方式显示。仅当出现纠纷或者其他必要情况下,监管机构可以对其进行解密,从而确保用户的隐私数据不被公开泄露。而对于可公开验证的隐私数据,可以使用零知识证明等密码工具对其进行处理后上传到链上,保证其他节点可对其进行验证而不泄露具体信息。
(2)在房地产供应链系统中,即使有区块链的去中心化特性,但人仍是关键。在实际应用环境中,虽然传统的房地产供应链相对比较成熟,但房产从建设到销售的全部环节涉及很多参与主体,要想协调各参与主体使用一种新兴技术来替代传统方法则需要对整个供应链系统进行升级并对相关操作人员进行培训,在短时间不能完成且需要各参与主体承担相关费用,一旦其中一方不同意,将无法将区块链技术应用于供应链。
(3)现阶段,制度与规则是限制区块链技术发展的障碍。任何高新技术的发展都需要一定的制度和规则,区块链技术与房地产供应链相结合是理想中的应用场景,但缺少相关法律法规、监管制度的约束,可能导致非法人员破坏供应链体系。所以,不仅政府要及时制定监管标准,供应链各参与主体也应积极配合。2018全球区块链技术发展论坛“区块链与社会治理”专场中,有专家指出,我国已开始着手建立区块链国家标准,计划从顶层设计推动区块链标准体系的建设[29],相信在不久的将来区块链各项标准将逐步建立完善。
7 结束语
本文研究设计了基于区块链技术的房地产供应链系统。采用区块链+房地产供应链的模式,对数据分别进行链上链下存储,保证了各个环节的重要数据信息上传存储到区块链中,确保其不可篡改、真实可靠。数据上链后打包进区块中,保证可追溯性,利于监管追责,提高效率,避免大量人力物力损耗;链下数据存储到数据库,降低了交易成本,有助于普及应用;供应链各参与主体都可以查看房产相关的信息,解决信任问题,提高信息的透明度;智能合约的使用,减少房产交易过程繁琐的手续,避免中介机构的介入。总之,通过区块链技术的正确运用,可重塑房地产供应链信任体系,降低成本,减少纠纷,强化管理。在实际应用环境中,还需要结合具体的应用场景进行改进,比如对于敏感数据的处理、物联网相关技术的应用、多主体间协调等问题。虽然区块链技术出现了一段时间,但仍是一种新兴技术,各方面应用都不够成熟,在供应链领域更仅仅是处于起步阶段,还需要学术界和产业界共同努力,解决现有的一些问题,完善监管体系,将区块链技术更好地应用于房地产供应链领域。