基于区块链的房屋租赁分配系统设计与实现
2019-12-04李瑞娥沈文枫杨宇华周丽萍王洋
李瑞娥 沈文枫 杨宇华 周丽萍 王洋
摘要:传统房屋租赁平台存在着用户隐私安全与租赁双方权益难以得到保障等问题。区块链技术是一种去中心化、不可篡改、可追溯、可编程的分布式账本技术,基于区块链的房屋租赁分配系统是解决当前房屋租赁行业相关问题的综合性解决方案。重点研究在非信任情况下通过密码学技术保证用户数据安全与隐私安全,结合时间戳技术将交易信息上链,以解决交易双边信用等问题。使用智能合约实现分布式的自适应寻租与匹配策略,通过对上海市地区进行实验测试,结果表明:以智能合约为基础的房屋自适应寻租匹配策略能够有效保证房屋租赁双方的权益。
关键词:房屋租赁;区块链;自适应寻租匹配;智能合约;用户权益
DOI:10.11907/rjdk.191130开放科学(资源服务)标识码(OSID):中图分类号:TP319文献标识码:A 文章编号:1672-7800(2019)010-0111-06
0引言
国内外现有市场下的房屋租赁平台主要有两种模式:①用户个人发布租房信息的互联网平台,包括58同城、咸鱼等,房东在平台上发布房源信息;②自主提供房源的互联网中介公司,其中最具代表性的是自如平台,租客通过联系租房中介公司进行看房、租房。
但以上两种房屋租赁方式都存在一定问题:对于第一种模式,房东为了节省时间和精力,大多将房源交至中介,委托中介进行租房,因此平台上的房源信息大多由中介发布,使租客难以确定中介发布的是否为真实房源。此外,部分中介通过发布低价房源吸引租客看房,再以低价房源已被租赁为由,带租客去看其它房源,同时提高房源价格,使租客权益得不到保障;对于第二种模式,自主提供房源的互联网中介公司由于存在房源数量少、房屋装修存在安全隐患等问题使其发展受到限制。另外,两种互联网房屋租赁方式存在着共性问题:租赁双方用户的信息真实性与隐私安全性得不到保障。
区块链技术是一种基于时间戳的链式数据结构,并以密码学方式保证其不可篡改与伪造,是一种去中心化、去信任的分布式共享总账技术。所有节点共同参与数据备份与维护,区块链存储的数据不会因为一个节点数据被篡改或破坏而产生影响,以此实现对数据的安全存储。通过P2P网络技术与共识机制实现分布式节点验证、通信并建立信任关系,利用智能合约实现复杂的业务逻辑功能,对交易进行自动化操作。目前已有一些租房项目中开始应用区块链技术,最早应用该技术的是美国的Rentbrry,其主要通过区块链技术保证租赁双方信息的真实性;伊链区块链通过引入信用机制,利用积分体系提高用户双方违约成本,并制定违约奖惩制度,规范租房流程;雄安新区区块链将租房平台、诚信积分系统及区块链系统三者相结合,以方便内部管理人员使用。由于用户信息与交易信息错综繁杂,本文提出将用户信息链与交易链分离的设计思想,该系统具有以下特点:①在非信任的情况下保证用户信息与交易信息分离以及数据的安全性、隐私性、透明性;②采用智能中介代替人类中介的方式,既降低了房东的人力与时间成本,又保证了租客权益,解决了房屋租赁的双边信任问题;③通过智能合约实现自适应寻租与匹配问题,节省了租客寻租时间。
1系统介绍与相关技术
1.1系统实体
用户之间的房屋租赁交易模型包括房东、租客与智能中介节点3个实体,如图1所示。
(1)房东:上传房源信息,包括房源配套设施及地理位置等。
(2)租客:向智能中介节点提出租房需求,并筛选房源。
(3)智能中介节点:智能中介节点有作为中介的职责,协助房东和租客商定房源价格,以及记录交易信息,并将交易记录存储到区块链上。同时,智能中介节点为用户提供通信服务,每个租客向最近节点发送一个房屋租赁请求,智能中介节点对自己管辖范围内的房屋资源进行统计,并进行自适应寻租与匹配,并将信息返回给租客,同时扮演拍卖者角色,在租客与房东之间进行反复的房价双向拍卖。
1.2区块链技术
区块链是一种新兴的P2P技术,用于分布式计算与网络节点间分散的数据共享。区块链主要由3部分组成:
(1)交易。在交易过程中,交易信息包括用于隐私保护的租客与房东代用名、数据类型、原始事务数据的元数据标记、元数据完整索引历史、与交易记录的加密链接以及事务生成的时间戳。信息经过加密与数字签名,保证其真实性和准确性。
(2)事务数据块。租房事务的所有原始数据都在智能中介节点之间进行存储、共享与审计。由于计算与存储的限制,房东和租客只存储元数据索引。元数据索引表示元数据位置,从而降低了系统成本。智能中介节点收集与管理自己的本地交易记录,这些交易记录在经过授权之后,被存放到区块中,每个区块包含一个密码散列以供跟踪与验证。在区块链中,区块是以线性时间顺序添加的。当交易添加到区块链之后,房东、租客可以公开访问这些数据。
(3)智能合约。智能合约实现具体业务,将具体交易细节和准则以脚本方式实现,可实现交易的自动执行。智能合约通过加密算法进行加密,保证了数据的真实性和完整性,在记录交易全部过程的同时,还可防止交易被篡改。
2基于区块链的房屋租赁分配系统设计
2.1系统架构
如图2所示,用户通过身份认证注册账户,已认证的用户信息以hash值方式存储在用户信息链上,从而保障了用户信息的隐私性。房东上传的房源信息存储在传统数据库中,租客将租房需求发送给所属区域的智能中介节点,各区域智能中介节点拥有本地区房源信息。
智能中介根据租客要求利用智能合约完成房源自适应匹配,并将匹配的房源信息返回给租客。待交易双方达成共识后进行交易,并将交易信息上链。交易信息上链保证了交易数据的真实性、不可篡改性以及可追溯性。
采用交易信息與用户信息分链存储的方式,实现了交易信息与用户信息的隔离,降低了信息链的冗余。若修改交易或用户信息,对应的hash值也会被修改,这一特征保证了信息的真实性,同时保证了信息的完整性与不可篡改性。此外,用户还可以查询交易记录。在传统的中心化存储模式中,若存储中心损坏将会导致整个系统瘫痪,在区块链中,由于每个节点在网络中的地位相同,网络是去中心化的,从而降低了整个系统的瘫痪机率。
2.2业务流程
2.2.1系统用户信息初始化与密钥生成
本系统采用椭圆曲线数字签名算法与非对称加密算法进行用户信息初始化(见式(1))。用户根据自己的不同需求选择不同身份进行注册,每一个用户在可信机构(如政府部门)注册后成为合法实体。当用户Ui成为合法实体后将获得唯一标识身份的Idi,同时获得该用户的公钥、私钥以及证书,分别记为:PUKi、PRKi、CERTi。用户Ui向授权机构请求一组钱包地址WTIDi,授权机构生成初始化映射列表。
UN={PUKi,PRKi,CERTi,WTIDi} (1)
2.2.2系统交易信息初始化
首先进行交易信息初始化。
TN={CA,SM,T} (2)
其中CA为共识算法,SM为智能合约,房屋交易为T。
T={Idi,Idj,TDij}
其中Idi为租客的唯一身份标识,Idj为房东的唯一身份标识,TDij为成交细节。
TDij={rui,huj,huij,PRij|rui∈RU,huj∈HU} (4)
租客请求房源资源的集合为RU,房东提供的房源资源集合为HU,其中rui、huj,分别是RU、HU中的单个租房请求资源与单个房屋资源,huij是达成交易的房源。
2.2.3业务资源请求初始化
单个租房请求资源初始化。
rui={loci,ri,faci|loci∈LOCi,ri∈Ri,faci∈FACi}(5)
其中LOCi为地理位置集合,Ri为备选房源数量,FACi为房源配套设施。
2.2.4租赁交易
租客Ui通过请求房源资源rui,将消息发送给最近的智能中介节点,该节点通过租客提供的请求房源地理位置loci、房源配套设施要求faci与本地房源资源信息huj进行白适应寻租与匹配。其中备选房源数量为ri,经过匹配后节点将满足要求的待租赁房源信息huij返回给租客。租客接收到智能中介匹配的房屋资源后进行筛选,并将筛选完成的信息返回给智能中介,智能中介将租客的请求发送给房东:
(1)当租客筛选后预留下大于1个房源信息吋,此时智能中介需要将租客请求发送给多个房东,房东根据提供的房源价格区间设置房源租价,并将消息通过智能中介返回给租客,租客根据多个房东提供的租价,结合备选房源信息,确定租赁并更新租赁房源信息huij。
(2)当多个租客选择同一房源吋,通过智能中介将租客请求发送给房东,房东制定房源起拍价,再通过智能中介反馈给租客,此时多个租客可通过竞拍方式争取交易达成,竞拍最高价格不能超过房源价格区间的最高价。
2.2业务流程
由于区块链使用分布式数据库,所以以地区为单位分配智能中介节点,租客与房东之间的交易通过就近原则实现,通过最近的智能中介节点完成房屋租赁双方交易。
2.2.5交易上链
智能中介将完成的交易首先存储在本地数据库中,并对这些交易记录进行加密与数字签名,以保证交易的真实性及准确性。智能中介按照一定的时间间隔将交易记录保存到区块中,每一个块包含前一个区块的加密hash值。
2.2.6共识过程
交易记录保存到区块之前需要对交易进行验证,完成交易验证的过程就是达成共识的过程。委托权益证明算法(Delegated ProofofStake简称DPOS)是共识算法的一种,通过选举部分节点为代表产生与验证区块,其在少数群体勾结的情况下以及任何自然网络中都是安全的。DPOS可以在大多数生产者失败的情况下继续工作。本文对DPOS共识算法进行改进,将所有智能中介作为评审委员会成员,从智能中介中选举部分节点作为共识节点,并利用这些共识节点对产生的区块进行验证。
3房源自适应寻租与匹配策略
以一个随机选取的房源资源请求为例进行阐述。首先从租客请求资源的集合RU中选取一个房源资源请求ru,相应区域的智能中介根据租客提供的租房需求,对交通地理位置和房源设施等级进行计算。利用该区域的房源坐标与租客期望的租房地址坐标,生成坐标距离矩阵,并根据距离设置不同权重得到两点间的距离。对房源设施与距离设置不同权重,得到最终的匹配度列表,并进行降序排序。根据租客的备选房源数量要求n,取前n個房源,并将对应的房源信息发送给租客。以下算法给出了房源自适应匹配与寻租的更多细节。
首先输入各参数变量,loc为租客期望的地理位置地址坐标,,为租客备选房源数量,fac为租客对房源配套设施的需求,huij为房源信息,HU为某区域的房源地址集合,λ为目标距离权值,μ为距离匹配度占总匹配度的权值,η为配套设施匹配度占总匹配度的权值。
首先对输入参数进行初始化,huij、loc、facr、HU、MT均为空,λ、μ、η为常量,其中Uh表示所有区域的房源集合,HUn表示11区域所有房源。区域标识K按照各地区情况具体制定,不同地区房源数量不同,MT为房源匹配度列表。
当租客不提供期望地理位置地址坐标与房源配套设施需求时,不匹配房源给租客。
当租客只提供期望地理位置地址坐标,不提供房源配套设施需求时,在进行匹配度计算时只针对距离匹配度进行计算,根据经纬度坐标求出两点之间的距离LOC。按照权值比重计算方式,求出所有符合要求的房源匹配值,此时只根据房源位置进行匹配值计算。对房源匹配值进行降序排序得到MTsec,按照租客的备选房源数量n=r,取前r个最高的匹配值。
当租客提供期望地理位置地址坐标和房源配套设施需求时,按照房源坐标和房源设施权值比重求出所有符合要求的房源匹配值。对房源匹配值进行降序排序得到MTsec,按照租客的备选房源数量n=r,取前r个最高的匹配值。
最后输出r个备选房源信息,供租客选择。
4实验结果及分析
4.1参数说明
为了验证区块链技术在基于区块链的房屋租赁资源调度分配上的适用性,本文设计以下实验方案。使用Java脚本构建相应模型和策略,调用谷歌地图,并对实验结果进行分析与说明。对模型作以下几点假设和说明:
(1)房屋基础设施等级设置如表2所示,目标距离矩阵参数权重如表3所示,房源匹配度影响因素权重如表4所示。
(2)为了突出研究对象的典型性,以上海地区为例进行实验。智能中介以上海各区域为维度,每个区分配一个智能中介,对应区域的房源寻租与匹配由该区域中介负责。从上海市两个区域的租房需求着手,其中一个为市中心的静安区,另一个为相对偏远的宝山区。本文从Uber上分别获取宝山区与静安区100个在租房源信息,并随机在两个地区选取5个租房需求。
(3)所有节点均在分布式网络中,并按照本文提出的规则和策略完成房屋租赁资源供需之间的寻租、匹配与交易。
4.2实验结果及分析
将实验中的所有租房需求及房源在区块链技术作用下进行自适应匹配与寻租,将所有租房需求及匹配结果显示在谷歌地图上,以验证区块链技术对房屋租赁分配的可行性和适用性。由于获取的是最高坐标层级,所以本文只以某几个租房需求点为例进行说明。图4为上海市宝山区房屋租赁资源请求与分配的部分结果坐标图,图5为上海市静安区房屋租赁资源请求和分配的部分结果坐标图。其中五角星为租房需求点,坐标点为满足要求的备选房源中匹配度最高的房源地点。所有租房需求分配匹配度如表5、表6所示。
从实验结果可以看出,所有租房需求都能够通过区块链技术实现自适应匹配与寻租,充分说明区块链技术通过分布式的智能中介节点,能够让分散的租房请求与房屋资源之间自动完成寻租与匹配,使房屋资源调度仅与租房需求相关,而与房屋资源中介掌握的房源信息无关,从而避免了传统中介中的交易信息不对称问题,既节省了房东的时间和精力,又保证了租客的租房权益,并解决了房屋租赁双方的信用问题,这与传统模式下的房屋租赁调度和管理有着本质区别。中介的房源价格制定由智能中介直接给出价格区间,且租赁双方可以商定价格,免除了中介手续费,同时租客也不用担心中介从中获取暴利而损害了自身利益。
5结语
本系统实现了区块链技术与房屋租赁系统的结合,针对现有房屋租赁平台中存在的关键问题,提出基于区块链的房屋租赁分配系统。研究结果表明,基于区块链的房屋租赁分配系统能够为租客提供自适应性的房源寻租与匹配策略,同时能够保障交易信息的公开性、防篡改性及用户信息的隐私性,保证了房屋租赁双方的利益。然而,该系统仍存在不足之处:①本文提出的改进DPOS算法效率有待提高;②本文設计的实验环境较为理想,房屋租赁分配策略只考虑了交通与房源配套设施,且交通方面未考虑实际道路分布,仅考虑了两点间的直线距离,对房源配套设施的考虑也不够全面等。因此,在未来研究中需设计更符合用户实际需求的房屋租赁分配策略以解决上述问题。