利用区块链网络的房产管理***
背景技术
分布式账本***(DLS),也可以被称为共识网络和/或区块链网络,使得参与实体能够安全地并且不可篡改地存储数据。在不引用任何特定用例的情况下,DLS通常被称为区块链网络。区块链网络的类型的示例可以包括公有区块链网络、私有区块链网络和联盟区块链网络。联盟区块链网络针对选择的实体组群提供,该实体组群控制共识过程,并且联盟区块链网络包括访问控制层。
区块链网络可被用于追踪和管理参与实体之间的交易,例如,与房东和租户之间的租赁协议相关的交易。许多租赁协议往往涉及房东、租户和其他实体(诸如房产管理实体或房产代理)之间的信任缺乏。这可归因于整个租赁过程效率低下以及参与实体的预期差异。例如,房东常常无法在同意租赁房产之前核实租户的信息,如果租户不遵守租赁协议的条款,就会产生房产损失或其他责任的风险。作为另一示例,在没有房东或代理人在场的情况下,潜在租户通常无法进入待租赁的房产,这限制了他们在做出租赁决定之前有效参观房产的能力。
发明内容
本文的实施方式包括计算机实现的使用区块链网络来管理房产租赁的各个方面以在潜在租户和房东之间建立信任平台的方法。
应理解的是,根据本文的方法可包括本文描述的方面和特征的任意结合。也就是说,根据本文的方法不限于本文具体描述的方面和特征的结合,还包括所提供的方面和特征的任意结合。
本文的一个或多个实施方式的细节在附图和以下的描述中阐述。根据本文和附图以及权利要求,本文的其他特征和优点将显现。
附图说明
图1绘出可被用于执行本文的实施方式的环境的示例。
图2绘出根据本文的实施方式的概念性架构的示例。
图3示出使用区块链网络提供自动进入房产的技术的示例。
图4示出使用存储在区块链网络中的信誉分数来对自动进入房产进行限制的技术的示例。
图5示出使用区块链网络管理与房产租赁相关的交易的技术的示例。
图6绘出根据本文的实施方式可执行的过程的示例。
图7绘出根据本文的实施方式的装置的模块的示例。
在不同的附图中相同的附图标记表示相同的元件。
具体实施方式
本文的实施方式包括计算机实现的使用区块链网络来管理房产租赁的各个方面以在潜在租户和房东之间建立信任平台的方法。更具体地,本文的实施方式旨在使用区块链网络在房东和潜在租户之间建立信任平台,以允许对要出租的房产安全风险最小或没有安全风险的自动房产参观。在一些实施方式中,区块链网络可以存储智能合约以便于房产租赁过程,一旦房产被租赁,则记录与租赁的房产相关的交易(例如,维修请求记录)、租金支付记录、房东和租户之间的纠纷等。在一些情况下,存储在区块链网络中的交易信息可进一步被用于生成并更新房东和租户的信誉分数,以降低与房产租赁相关的某些风险。尽管本文是在租赁或租赁协议的背景下描述的,但本技术也可应用于抵押房产、转租房产或其他类型的房产协议。
在一些实施方式中,操作包括:计算设备接收指示实体请求进入房产的凭证的数据;所述计算设备至少部分基于该凭证确定该实体被授权进入所述房产;响应于确定该实体被授权进入所述房产,所述计算设备使该实体能够进入所述房产;响应于使该实体能够进入所述房产,所述计算设备获取由位于所述房产中的一个或多个传感器收集的传感器数据;所述计算设备生成所述传感器数据的表示;并且所述计算设备将该表示存储在由区块链网络维护的区块链中。
为本文的实施方式提供进一步的背景,如上所述,分布式账本***(DLS),也可以称为共识网络(例如,由点对点(Peer-to-Peer)节点组成)和区块链网络,使参与实体能够安全且不可篡改地进行交易并存储数据。尽管术语区块链通常与加密货币网络相关,但本文所使用的区块链一般指在不参考任何特定用例的情况下的DLS。
区块链是以交易是不可篡改的方式存储交易的数据结构。因此,记录在区块链上的交易是可靠和值得信赖的。区块链包括一个或多个区块。链中的每个区块通过包括紧邻其之前的前一区块的加密哈希值(cryptographic hash)链接到该前一区块。每个区块还包括时间戳、自身的加密哈希值以及一个或多个交易。已经由区块链网络的节点验证的交易经哈希处理并编码成默克尔(Merkle)树。Merkle树是数据结构,其中树的叶节点处的数据是经哈希处理的,并且在该树的每个分支中的所有哈希值在该分支的根处连接。此过程沿着树持续一直到整个树的根,在整个树的根处存储了代表树中所有数据的哈希值。声称是存储在树中的交易的哈希值可以通过确定其是否与树的结构一致而被快速验证。
区块链是用于存储交易的去中心化或至少部分去中心化的数据结构,而区块链网络是通过广播、验证和确认交易等来管理、更新和维护一个或多个区块链的计算节点的网络。联盟区块链网络在参与实体之间是私有的。在联盟区块链网络中,共识过程由授权的节点集控制,一个或多个节点由对应实体(例如,金融机构、保险公司)操作。例如,由十(10)个实体(例如,金融机构、保险公司)组成的联盟可以操作联盟区块链网络,每个实体可以操作联盟区块链网络中的至少一个节点。因此,联盟区块链网络可以被认为是与参与实体相关的私有网络。在一些示例中,每个实体(节点)必须对每个区块签名,以使区块有效并将其添加到区块链中。在一些示例中,至少实体(节点)的子集(例如,至少7个实体)必须对每个区块签名,以使区块有效并将其添加到区块链中。
本文参照区块链网络进一步详细描述本文的实施方式,其中房产交易数据(例如,参观信息、租赁信息、维修服务信息)可被存储在区块链中以增加房东和租户之间的信任。
鉴于以上背景,本文进一步详细描述了本文的实施方式。更具体地,如上所述,本文的实施方式旨在记录和管理区块链网络中的房产数据,以增加房产租赁的参与实体之间的信任。
图1绘出可被用于执行本文的实施方式的环境100的示例。在一些示例中,环境100使得诸如租户101A和房东101B等实体能够参与到区块链网络102中。区块链网络102可被用于房产租赁和管理的各个方面,诸如房产参观、租赁协议的执行、与房产租赁相关的事件记录,如本文所述。
环境100包括分别与租户101A和房东101B相关的计算***106、108和网络110。在一些示例中,网络110包括局域网(LAN)、广域网(WAN)、因特网或其组合,并连接网站、用户设备(例如,计算设备)和后端***。在一些示例中,可以通过有线和/或无线通信链路来访问网络110。在一些示例中,网络110使得能够与区块链网络102通信以及在区块链网络102内部通信成为可能。通常,网络110表示一个或多个通信网络。在一些情况下,计算***106、108可以是云计算***(未示出)的节点,或者每个计算***106、108可以是单独的云计算***,其包括通过网络互连并用作分布式处理***的多台计算机。
在所描绘的示例中,计算***106、108可以各自包括能够作为节点参与至区块链网络102中的任何适当的计算***。计算设备的示例包括但不限于服务器、台式计算机、笔记本电脑、平板电脑和智能手机。在一些示例中,计算***106、108承载用于与区块链网络102交互的一个或多个计算机实施的服务。例如,计算***106可以承载第一实体(例如,租户101A)的由计算机实施的、例如租赁管理***的服务,第一实体使用该租赁管理***管理其与一个或多个其他实体(例如,房东、房产代理)的租赁房产相关的交易。计算***108可以承载第二实体(例如,房东101B)的由计算机实施的、例如房产管理***的服务,第二实体使用该房产管理***管理其与一个或多个其他实体(例如,租户、租赁代理、房产管理公司)的房产132相关的交易。
在图1的示例中,区块链网络102被表示为节点的点对点网络(Peer-to-Peernetwork),计算***106、108分别提供参与区块链网络102的第一实体和第二实体的节点。例如,租户101A可以参与区块链网络102,以与房东101B签订租赁房产132的智能合约。此后,区块链网络102可以记录与租赁相关的交易,该交易可被参与实体(例如,租户101A和房东101B)或者其他实体访问并更新。
图2绘出根据本文的实施方式的概念性架构200的示例。概念性架构200包括实体层202、承载服务层204和区块链网络层206。在所描述的示例中,实体层202包括三个实体,房东、租户和租赁代理,每个实体具有各自的交易管理***208。
在所描述的示例中,承载服务层204包括用于每个交易管理***208的接口210。在一些示例中,各自的交易管理***208使用协议(例如,超文本传输协议安全(HTTPS))通过网络(例如,图1的网络110)与各自的接口210通信。在一些示例中,每个接口210提供各自的交易管理***208和区块链网络层206之间的通信连接。更具体地,接口210与区块链网络层206的区块链网络212通信。在一些示例中,接口210和区块链网络层206之间的通信是使用远程过程调用(RPC)进行的。在一些示例中,接口210“承载”用于各自的交易管理***208的区块链网络节点。例如,接口210提供用于访问区块链网络212的应用程序编程接口(API)。
如本文所述,提供作为点对点网络的区块链网络212,包括将信息不可篡改地记录在区块链216中的多个节点214。虽然单个区块链216被示意性地绘出,但在区块链网络212上提供并维护了区块链216的多个副本。例如,每个节点214存储区块链的副本。在一些实施方式中,区块链216存储与交易相关联的信息,该交易是在参与区块链网络的两个或多个实体之间执行的。
图3示出使用区块链网络提供自动进入房产的技术的示例。在所描述的示例中,用户301A可获准进入房产320以进行房产参观,而在房产参观期间无需要求房东301B或代理人实际存在于房产320中。与房产参观相关的数据可由计算***330收集,并存储在区块链网络340内的区块链342中以进行验证和评估。
首先参考图3中所示的部件,电子锁322可以是锁定和解锁房产320的进入点(例如,前门)的锁定装置。在一些情况下,电子锁322可以是具有直接安装在锁上的电子控制组件的独立设备。例如,电子锁322可以是控制Z波锁,其使用Z波协议中的无线通信来锁定和解锁房产320的门。电子锁322可配置为通过房产320内的局域网与监控房产320的其他设备交换数据传输,诸如与房产320的监控***相关的控制单元和应用服务器。
电子锁322可基于接收到的凭证数据来提供钥匙控制、进入控制、交易记录和/或交易逻辑。此外,电子锁322可被远程监控和控制以响应从计算设备310接收的凭证数据来锁定和解锁房产320的前门。
电子锁322可以使用各种锁定机制以通过供电或断电来锁定和解锁房产的前门。在一些情况下,电子锁322可以包括简单开关以使用门释放机制来临时允许进入。在其他情况下,电子锁322可包含复杂的基于生物特征的门禁***。例如,电子锁322可包括电磁锁、电子击打或电子锁栓和锁闩中的至少一种。
电子锁322也可被用作认证设备或验证设备,其防止未经授权进入房产320的可能性。电子锁322还可以包括扫描设备,该扫描设备被用于验证由计算设备310提供的凭证(例如,二维码),然后将该凭证与存储在验证数据322A中的验证码比较。在一些实施方式中,电子锁322可以与安全摄像机交换数据通信以验证用户301A实际上被授权进入房产320,所述安全摄像机监控房产320的外部来检测用户的存在。
传感器324可包括接触传感器、运动传感器、玻璃破碎传感器或房产320的报警***或安全***中包括的任何其他类型的传感器中的一个或多个。传感器324还可以包括环境传感器,诸如温度传感器、水传感器、雨传感器、风传感器、光传感器、烟雾探测器、一氧化碳探测器、空气质量传感器等。传感器324还可以包括床垫,其配置为感测床垫上是否存在液体(例如,体液)。在一些示例中,传感器324可包括射频识别(RFID)传感器,其识别包括预先分配的RFID标签的特定物品。
传感器324还可以包括一个或多个摄像机。摄像机可以是视频/摄影摄像机或配置为捕获图像的其他类型的光学传感设备。例如,摄像机可以配置为捕获房产320内的区域的图像。摄像机可配置为捕获该区域的单个静态图像以及该区域的视频图像,视频图像中以相对较高的频率(例如,每秒30个图像)捕获该区域的多个图像。可以基于从计算***330接收到的命令来控制摄像机。
现在参考图3中所示的技术的示例,该技术执行一组步骤以授权进入房产320。在步骤(A),租户出示凭证312以获准进入房产320。例如,凭证312可以是二维(QR)码,该QR码显示在用户301A的计算设备310上,由房产320的电子锁322使用光学识别技术来处理。QR码可以由房东301B通过例如房产租赁应用程序发布到用户301A的账号,这使得潜在的租户能够查看房产列表并安排房产参观。
在步骤(B),电子锁322基于验证数据322A验证凭证312。该验证可被用于确认试图通过电子锁322进入房产320的用户的身份是房东301B允许进入房产320的用户身份。例如,验证数据322A可以存储与房东账号相关的验证凭证,电子锁322将凭证312与存储在验证数据322A中的验证凭证比较。如果凭证312与验证凭证匹配,则电子锁322确定凭证312已被验证。或者,如果凭证312与验证凭证不匹配,则电子锁322确定凭证312未被验证。
在一些实施方式中,凭证312可以被分配预定的时间段,在该时间段内凭证312是有效的。例如,凭证312在被发布到计算设备310后的两天内有效。在此时间段内,用户301A可以使用凭证312进入房产320,在该时间段结束后,则凭证312将过期,使得用户301A无法再使用凭证312进入房产320。
在步骤(C),电子锁322基于确定凭证312是有效的来授权进入房产320。例如,电子锁322可以自动解锁,使得用户301A可以进入房产320,而无需房东301B或房东301B的授权代理(例如,租赁代理)出现在房产320处。在一些实施方式中,电子锁322控制房产320中的房东301B授权在房产参观期间进入的指定区域。例如,电子锁322可以允许进入房产320的公共区域诸如客厅、餐厅和厨房,但限制进入房产320的更私人的区域诸如卧室。
在步骤(D),传感器324收集在用户301A已经被授权进入房产320之后的房产参观期间传感器数据324A。例如,传感器324可以收集视频数据,该视频数据代表用户301A在房产参观期间在房产320中的运动。在其他示例中,传感器324可以收集其他类型的传感器数据,诸如运动数据、活动数据、设备使用数据等。在一些实施方式中,传感器324可以被配置为确定用户301A在房产参观期间是否执行限制行为。例如,传感器324可配置为确定用户301A是否已进入房产320中的房东301B未授权进入的限制区域。在这种示例中,传感器324可配置为响应确定已执行限制行为而执行动作。例如,传感器324可以向房东301B的计算设备发出警报通知,触发房产320处的警报条件,等等。
在步骤(E),传感器数据324A被提供至计算***330以供处理。计算***330可以是配置为通过与电子锁322、传感器324以及房产320处的其他连接设备(诸如,控制单元或者存在于房产320中的其他物联网(IoT)设备)交换电子通信来提供在房产320处的监控服务的服务器。
计算***330可配置为监控在房产320处生成的事件(例如,报警事件)。例如,计算***330可以与在房产320的控制单元中包括的网络模块交换电子通信,以接收有关事件的信息,诸如在房产参观之前解锁电子锁322。计算***330可以存储从传感器324接收到的传感器数据324A,并对传感器数据324A进行分析。
在步骤(F),计算***330生成传感器数据324A的哈希表示324B。哈希表示324B可以唯一地标识传感器数据324A和相关信息,诸如收集传感器数据324A的传感器的设备标识、时间戳信息等。哈希表示324B可以基于将哈希函数应用于与传感器数据324A相关的信息(诸如房产320中传感器的设备标识、时间戳信息及其他类型的唯一签名信息等)来生成。哈希表示324B可被用于标识存储在计算***330上的传感器数据324A,并验证传感器数据是由传感器324在房产320处的房产参观期间实际收集的。
在步骤(G),计算***330将哈希表示324B存储在与房产320相关的区块链342中。例如,计算***330可以通过在区块链342中为房产320生成并***新的交易区块344C来存储哈希表示324B。交易区块344C可以包括交易346C,交易346C表示在用户301A在房产320处的房产参观期间收集的信息。例如,交易346C可以包括唯一与房产参观相关联的事件标识以及房产参观期间收集的传感器数据324A的哈希表示324B。区块链342还包括交易区块344A,交易区块344A指明与房产320和房东301B的标识相关联的交易346A。区块链342还包括交易区块344B,交易区块344B包括表示房产320处的其他先前房产参观的交易346B。
图4示出使用存储在区块链342中的信誉分数来对自动进入房产401进行限制的技术的示例。在此示例中,区块链网络340与信誉***430相关联,信誉***430与房产401的电子锁412交换数据通信。当用户401A试图使用计算设备410A以类似于图3中所讨论的方式进入房产401时,信誉***430评估用户401A的信誉分数。用户401A的信誉分数可由单独的***生成并且存储在区块链网络340中。信誉***430可以使用信誉分数来控制用户401A进入房产401。例如,房产401的房东401B可以指明获准进入房产401所需的阈值分数。在此示例中,信誉***430从区块链网络340查询用户401A的信誉分数,并且相对于房东401B指明的阈值来评估查询的分数,以确定用户401A是否应被授权进入房产401。例如,如果用户401A的信誉分数为“0.90”,则信誉***430指示电子锁412授权用户401A进入房产401,因为该值超过阈值“0.85”。或者,如果用户401A的信誉分数为“0.71”,则信誉***430指示电子锁412拒绝用户401A进入房产401,即使用户设备410A提供的凭证有效,因为该值不超过阈值“0.85”。
在上面讨论的这个示例中,信誉分数可以表示对用户履行租户同意租赁房产401的义务的能力的评估。例如,信誉分数可以表示基于信用使用、现有债务义务、历史付款记录、行为数据或其他数据的用户的信用分数。在一些情况下,信誉分数可以表示历史租赁活动,例如先前拖欠付款、先前房产纠纷、雇佣历史以及对于房东401B而言可能感兴趣的其他类型的信息。在一些情况下,信誉分数可以是基于结合不同类型的评估而结合的累计分数。例如,信誉分数可以是表示用户的财务历史以及用户的租赁历史的累计分数。
图5示出使用区块链510管理与房产租赁相关的交易的技术的示例。在所描述的示例中,区块链510包括包含与租赁协议相关的交易的区块,所述租赁协议包括租户501A与房东501B之间对于房产501的租赁协议。区块链510可以存储许多不同房产的租赁协议,并且可以由区块链节点的网络(未示出)来维护。在一些情况下,区块链510可以包括与租赁协议相关的其他类型的交易。
区块链510可以存储与租户501A或房东501B相对应的交易。存储在区块链510中的交易数据可被用于更新分配给与房产501的租赁相关的每个参与者的指标。例如,在租赁期间收集的交易数据可被用于调整在租赁期间之后分配给租户501A和房东501B的信誉分数。在这方面,区块链510使外部***例如信誉***能够在租赁期间监控房产501处的活动,从而监控的活动随后可被用于动态地调整表示参与实体在租赁期间的活动的指标。
以上讨论的指标可以包括分配给租户和房东的信誉分数、分配给租户和房东的财务历史分数、租户提交的若干服务请求、房东在收到服务请求后提供维修的平均时间段、或在租赁期之后对于潜在的租户和/或潜在的房东可能有兴趣的其他类型的活动信息。例如,如果区块链510中记录的交易活动表明房东501B以前提供了糟糕的维修服务,则在租赁期后房产501的潜在租户可能会对房东分数有兴趣。作为另一示例,如果另一租户的交易活动表明用户之前没有收到其保证金,这表明租户在随后的租赁期内可能会损坏房产501,则在租赁期后房东501B可能会对该租户的租户分数有兴趣。
在图5所示的示例中,一旦租户501A与房东501B之间形成了租赁协议,与该协议相关的交易信息就可以存储在区块链510中。例如,“交易3”包括交易信息,该交易信息表示租户501A和房东501B执行租赁协议的日期以及与该租赁协议相关的智能合约。如本文所述,智能合约可以是反映租赁协议的条款的自执行合约。代码存储在区块链510中,并且在被调用时由维护区块链510的区块链网络的节点执行,例如,由对进入房产进行控制的智能锁执行。
例如,房东501B可以创建智能合约,该智能合约接受租户501A的每月租金支付,如果在某个日期之前未收到租金,则会禁用租赁房产的电子锁。当存储在区块链中时,智能合约将与地址相关联。租户501A将被指示将租金支付转移到智能合约的地址。当此租金支付交易被存储在区块链中时,智能合约将由包括其地址的交易触发,并由区块链网络的节点执行。智能合约可以更新其内部状态,该内部状态也被存储在区块链中,以表示租户501A已经支付了其特定月份的租金。此外,智能合约可以包括基于其内部状态提供表示租户501A的租金是否为当前租金的功能。租赁房产上的电子锁可以配置为在租户试图解锁电子锁时调用此智能合约功能。如果智能合约功能表示租户501A的租金不是当前的,则电子锁可被配置为拒绝租户501A进入房产。如果智能合约功能表示租户501A的租金为当前的,则电子锁可被配置为允许租户501A进入房产。
在另一示例中,“交易7”包括标识由租户501A提交的房产501中损坏的卫生间的维修服务请求的交易信息。这个区块还可以包括与维修服务请求相关的其他信息,诸如与房东501B执行维修操作相关的时间戳、为同一卫生间提交的先前维修服务请求、或在房产501处的可能与维修服务请求相关的其他事件,诸如水损坏或管道泄漏。
区块链510可以包括交易信息,该交易信息可被用于动态调整与租赁协议中的每个参与实体相关的指标。例如,“交易12”表示租户501A延迟每月支付租金,“交易15”表示因房产501发生纠纷而提交的警方报告。***使用这些交易信息计算在租赁协议期间和/或租赁协议终止后分配给租户501A和房东501B的分数的调整。例如,“交易12”确认的延迟租金支付可被用于将租户分数从时间T1(延迟支付之前)的0.95降低至时间T2(延迟支付之后)的0.76。作为另一示例,如果房东在收到“交易7”确认的维修服务请求后花了不合理的长时间来修理卫生间,则房东分数可以从时间T1(在收到维修服务请求之前)的0.86降低至时间T2(在完成维修之后)的0.81。在这方面,在租赁期间存储在区块链510中的参与实体的交易信息可被用来管理跟踪其在租赁协议下的义务并相应调整分数。
区块链510还可以标识与房产501相关的现有租赁协议终止的时间点。例如,“交易29”确认租户501A空出房产501的时间点T2,这表示租赁协议的终止。在其他示例中,终止日期可基于智能合约规定的日期或参与实体采取的其他行动(诸如房东501B的驱逐行动或参与实体确定的单独协商的终止日期)来确认。
在时间点T2终止时,信誉***可以更新分配给租户501A和房东501B的分数。在图5所示的示例中,***基于“交易12”中确认的延迟付款而降低分配给租户501A的分数,并基于响应于“交易7”中接收到维修服务请求而修理卫生间的延迟来降低分配给房东501B的分数。
在一些实施方式中,存储在区块链510中的代表租赁协议的智能合约不能被删除,因为区块链510中的条目是不可篡改的。在这种情况下,可以在智能合约的代码中为该智能合约配置终止日期。智能合约在执行时可以检查当前日期,如果当前日期在终止之后,则智能合约可简单退出。
图6绘出根据本文的实施方式可执行的过程600的示例。在一些实施方式中,过程600可以使用通过使用一个或多个计算设备执行的一个或多个计算机可执行程序来执行。
在610,***接收表示与区块链网络相关联的第一实体的凭证的数据。例如,计算***330可以接收表示与用户301A相关联的凭证312的数据。如上文参考图3所述,凭证312可以通过计算设备310呈现给房产320的电子锁322。在一些情况下,凭证312是通过用户301A使用的用以访问房产320的租赁清单的应用程序向用户301A发送的QR码。凭证可以自动发送(例如,如果用户301A的信誉分数超过了房东301B指定的阈值分数,如图4所示),或者基于房东301B提供的确认发送。
在620,***确定凭证是有效的。例如,计算***330和/或房产320的电子锁322可以基于将凭证312与验证数据322A比较来确定凭证312是否有效。如上所述,验证数据322A可以包括分配给被房东301B表示为允许进入房产320的潜在租户的凭证。在一些情况下,电子锁322和/或计算***330基于识别验证数据322A中的匹配凭证来确定凭证312有效。在一些情况下,凭证312可以被实时处理,这促使向房东301B的计算设备提供通知。在这种情况下,电子锁322和/或计算***330基于从房东301B接收到用户301A应被授权进入房产320的响应来确定凭证312有效。
在630,***使能进入房产。例如,电子锁322可被配置为解锁前门,使得用户301A可以进入房产320。如上所述,电子锁322可以提供进入,使得用户301A可以进入房产320,而在房产参观期间无需房东301B和/或房东301B的代理人存在于房产320中。
在640,在进入房产已被使能之后,***获取由位于房产中的一个或多个传感器收集的传感器数据。例如,计算***330获得由传感器324在用户301A通过电子锁322获准进入房产320后的房产参观期间查看房产320时收集的传感器数据324A。如上所述,传感器数据324A可包括由安全摄像机收集的视频数据、标识被参观的房产320的位置的占用数据、或其他类型的传感器数据,诸如活动数据、运动数据等。
在650,***生成传感器数据的表示。例如,计算***330生成传感器数据324A的哈希表示324B。在一些实施方式中,该表示可以是唯一标识传感器数据324A和相关信息(诸如收集传感器数据324A的传感器的设备标识、时间戳信息等)的哈希表示。哈希表示可以基于将哈希函数应用于与传感器数据324A相关联的唯一信息(诸如房产320中的传感器的设备标识、时间戳信息以及其他类型的唯一签名信息)而生成。
在660,***将表示存储在由区块链网络维护的区块链中(如图3所示)。
图7绘出根据本文的实施方式的装置700的模块的示例。装置700可以是软件处理的示例实施方式,该软件处理被配置为实现用于验证房产租赁交易的方法。装置700可以对应于上述实施方式,装置700包括以下:第一接收单元710,用于接收第一实体请求进入房产的凭证数据;请求单元720,用于响应接收到凭证数据而请求通过区块链网络执行与房产相关的智能合约,其中,智能合约包括基于凭证数据检查第一实体和与房产相关的第二实体之间的当前关系状态的指令;第二接收单元730,用于从区块链网络接收智能合约的执行结果;确定单元750,用于至少部分基于执行结果来确定第一实体被授权进入房产;以及使能单元760,用于响应确定第一实体被授权进入房产而使得第一实体能够进入房产。
在前述实施方式中所示出的***、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型的实施设备是计算机,计算机可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或这些设备的任意组合。
对于装置中每个模块的功能和角色的实施处理,可以参考先前方法中相应步骤的实施处理。为了简明,这里省略了细节。
由于装置实施方式基本上对应于方法实施方式,因此对于相关部分,可以参考方法实施方式中的相关描述。先前描述的装置实施方式仅仅是示例。被描述为单独部件的模块可以是或不是物理上分离的,并且被显示为模块的部件可以是或不是物理模块,可以位于一个位置,或者可以分布在多个网络模块上。基于实际需求可以选择一些或所有模块,以实现本文的方案的目的。本领域普通技术人员无需付出创造性劳动就可以理解和实现本文的实施方式。
再次参考图7,其可以被解释为示出了配置为实现用于验证房产租赁交易的方法的软件处理的内部功能模块和结构。执行主体本质上可以是电子设备,该电子设备包括以下:一个或多个处理器;以及存储一个或多个处理器的可执行指令的存储器。
本文中描述的技术产生一种或多种技术效果。例如,在一些实施例中,所述技术可以使计算机从外部数据源(例如,区块链)获取关于租户的当前身份的数据,并基于租户的当前身份而控制位于房产处的物理门禁设备(例如,智能锁)的操作。由于表示租户的当前身份的数据通过区块链网络的共识过程来验证,因此物理门禁设备(physical accessdevice)将收到真实且未被篡改的状态。通过防止攻击者篡改状态来获准进入房产,这增强了***的安全性。在一些实施例中,所述技术可以使计算机从位于房产处的各种电子传感器接收数据,以处理传感器数据来创建用于存储的数据的表示,并将传感器数据的表示存储在外部数据存储(例如,区块链)中。
所述主题的实施例可以单独地或以组合的方式包括一个或多个特征。例如,在一些实施例中,操作包括:计算设备接收第一实体请求进入房产的凭证数据;响应于接收凭证数据,计算设备请求通过区块链网络执行与房产相关的智能合约,其中,智能合约包括基于凭证数据检查第一实体和与房产相关联的第二实体之间的当前关系状态的指令;计算设备从区块链网络接收智能合约的执行结果;计算设备至少部分基于执行结果来确定第一实体被授权进入房产;以及响应于确定第一实体被授权进入房产,计算设备使得第一实体能够进入房产。
上述和其他描述的实施例可各自可选地包括以下一个或多个特征:
第一特征,与以下特征中的任一项可结合,具体而言,响应于使得第一实体能够进入房产,计算设备获得由位于房产中的一个或多个传感器收集的传感器数据;计算设备生成传感器数据的表示;以及计算设备将该表示存储在由区块链网络维护的区块链中。
第二特征,与前面或以下特征中的任一项可结合,传感器数据的表示包括哈希值,哈希值基于与传感器数据的收集相关联的时间戳以及一个或多个传感器的一个或多个设备标识而生成。
第三特征,与前面或以下特征中的任一项可结合,具体而言,凭证数据被编码在位于房产处的二维(QR)码中。
第四特征,与前面或以下特征中的任一项可结合,具体而言,凭证数据被编码在位于房产处的二维(QR)码中,其中凭证数据由计算设备从第一实体的设备在该设备扫描QR码之后接收。
第五特征,与前面或以下特征中的任一项可结合,具体而言,位于房产中的一个或多个传感器包括位于房产中的摄像机,传感器数据包括由摄像机在进入房产被使能之后收集的视频数据。
第六特征,与前面或以下特征中的任一项可结合,具体而言,操作包括:计算设备接收房产已经租赁给不同于第一实体的新租户的指示;响应于接收到房产已经租赁给新租户的指示,计算设备更新计算设备的配置以响应于接收到凭证数据而请求执行与新租户相关的新智能合约。
第七特征,与前面或以下特征中的任一项可结合,具体而言,计算设备是对进入房产进行控制的电子锁,第一实体是房产的租户,当前关系状态表示租户是否遵守与房产相关的租赁协议。
本文还提供了耦接到一个或多个处理器并且其上存储有指令的一个或多个非暂态计算机可读存储介质,当所述指令由一个或多个处理器执行时,所述指令促使所述一个或多个处理器根据本文提供的方法的实施方式执行操作。
本文还提供了一种用于实现本文提供的方法的***。所述***包括一个或多个处理器,以及耦接到所述一个或多个处理器并且其上存储有指令的计算机可读存储介质,当所述指令由所述一个或多个处理器执行时,所述指令促使所述一个或多个处理器根据本文提供的方法的实施方式执行操作。
本文中描述的主题、动作和操作的实施方式可以在数字电子电路中、有形体现的计算机软件或固件中、计算机硬件中实现,包括本文中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本文中描述的主题的实施方式可以实现为一个或多个计算机程序,例如,一个或多个计算机程序指令模块,编码在计算机程序载体上,用于由数据处理装置执行或控制数据处理装置的操作。例如,计算机程序载体可包括其上编码或存储有指令的一个或多个计算机可读存储介质。载体可以是有形的非暂态计算机可读介质,诸如磁盘、磁光盘或光盘、固态驱动器、随机存取存储器(RAM)、只读存储器(ROM)或其他类型的介质。可选地或附加地,载体可以是人工生成的传播信号,例如,机器生成的电信号、光信号或电磁信号,其被生成来编码信息用于传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是或部分是机器可读存储设备、机器可读存储基板、随机或串行访问存储器设备或它们中的一个或多个的组合。计算机存储介质不是传播信号。
计算机程序也可以被称为或描述为程序、软件应用程序、App、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言编写,包括编译或演绎性语言、说明或程序性语言;并且它可以配置为任何形式,包括作为独立程序,或作为模块、组件、引擎、子例程或适于在计算环境中执行的其他单元,所述环境可以包括位于一个或多个位置通过数据通信网络互连的一个或多个计算机。
计算机程序可以但非必须对应于文件***中的文件。计算机程序可以存储在:保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本;专用于所讨论的程序的单个文件;或者多个协调文件,例如,存储一个或多个模块、子程序或代码部分的文件。
用于执行计算机程序的处理器包括:例如通用微处理器和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将接收用于执行的计算机程序的指令以及来自耦接到该处理器的非暂态计算机可读介质的数据。
术语“数据处理装置”包括用于处理数据的所有种类的装置、设备和机器,例如包括可编程处理器、计算机或多个处理器或计算机。数据处理装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或GPU(图形处理单元)。除了硬件,所述装置还可以包括创建计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理***、操作***或它们中的一个或多个的组合的代码。
本文中描述的过程和逻辑流程可以由一台或多台计算机或处理器执行一个或多个计算机程序来执行,以进行通过对输入数据进行运算并生成输出的操作。过程和逻辑流程也可以由例如FPGA、ASIC或GPU等的专用逻辑电路,或者由专用逻辑电路和一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用和/或专用微处理器,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的元件可包括用于执行指令的中央处理单元和用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以补充有专用逻辑电路或集成在专用逻辑电路中。
通常,计算机还将包括或可操作地耦接至一个或多个存储设备,以从一个或多个存储设备接收数据或向一个或多个存储设备传送数据。存储设备可以是例如磁盘、磁光盘或光盘、固态驱动器或任何其他类型的非暂态计算机可读介质。然而,计算机不需要具有这样的设备。因此,计算机可以耦接到一个或多个本地和/或远程的存储设备,例如一个或多个存储器。例如,计算机可以包括作为计算机的组成部分的一个或多个本地存储器,或者计算机可以耦接到云网络中的一个或多个远程存储器。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位***(GPS)接收器或例如通用串行总线(USB)闪存驱动器的便携式存储设备,这里仅举几例。
部件可以通过直接或经由一个或多个中间部件彼此可互换地(例如,彼此电连接或光学连接)“耦接”。如果部件中的一个部件被集成到另一个中,则部件也可以被彼此“耦接”。例如,集成到处理器中的存储部件(例如,L2高速缓存部件)“耦接到”处理器。
为了提供与用户的交互,本文中描述的主题的实施方式可以在计算机上实现或配置为与该计算机通信,该计算机具有:显示设备(例如,LCD(液晶显示器)监视器),用于向用户显示信息;以及输入设备,用户可以通过该输入设备向该计算机提供输入的输入,例如键盘以及例如鼠标、轨迹球或触摸板等的指针设备。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以接收来自用户任何形式的输入,包括声音、语音输入或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过向用户设备的web浏览器传送网页以响应从web浏览器接收的请求,或者通过与用户设备(例如,智能电话或电子平板计算机)上运行的应用程序(App)交互。此外,计算机可以通过向个人设备(例如,运行消息应用程序的智能电话)发送文本消息或其他形式的消息并反过来从用户接收响应消息来与用户交互。
本文结合***、装置和计算机程序组件使用术语“配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的***,意味着***已经在其上安装了在运行中使得该***执行所述操作或动作的软件、固件、硬件或它们的组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当由数据处理装置执行时促使所述装置执行操作或动作的指令。对于被配置为执行特定操作或动作的专用逻辑电路,意味着所述电路具有执行操作或动作的电子逻辑。
虽然本文包含许多具体实施细节,但是这些细节不应被解释为由权利要求本身限定的对要求保护的范围的限制,而是作为对特定实施例的具体特征的描述。在本文中的多个单独实施方式的上下文中描述的多个特定特征也可以在单个实施方式中组合实现。相反,在单个实施方式的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施方式中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初也如此要求保护,但是在一些情况下,可以从要求保护的组合中删除来自该组合的一个或多个特征,并且要求保护可以针对子组合或子组合的变体。
类似地,虽然以特定顺序在附图中描绘了操作并且在权利要求中叙述了操作,但是这不应该被理解为:为了达到期望的结果,要求以所示的特定顺序或依次执行这些操作,或者要求执行所有示出的操作。在一些情况下,多任务和并行处理可能是有利的。此外,上述实施方式中的各种***模块和组件的分离不应被理解为在所有实施方式中都需要这种分离,应当理解,所描述的程序组件和***通常可以一起集成在单个软件产品中在或者打包成多个软件产品。
已经描述了主题的特定实施方式。其他实施方式在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现所期望的结果。作为一个示例,附图中描绘的过程不一定需要所示的特定顺序或次序以实现所期望的结果。在一些情况下,多任务和并行处理可能是有利的。