搜狐首页 财经 送女孩回家2

手机搜狐

SOHU.COM

基于区块链的智能锁设计与实现

作者:中成才(币兜创始人)

一、优势

基于区块链技术实现的智能锁应用,可实现常规厂商难以企及的高安全性,同时亦不损失灵活性。该论断基于以下几点:

?服务提供者即区块链;

?区块链数据的可信性(公开透明、不可篡改);

?开放协议,开源代码;

?用户不被特定厂商所 绑架。

二、基本原理

2.1 功能逻辑划分

智能锁根据功能分为两部分:

?门锁。硬件,内置程序,该程序需要联网读取区块链数据,以验证钥匙的权限,从而决定是否开锁;

?钥匙。软件,区块链钱包应用程序负责其 创建、存储、使用 和 转让 等业务操作。 开锁 操作需要持有者向锁证明其拥有锁的控制权,锁通过访问区块链上数据来执行验证。钱包内的钥匙可以在不同用户的钱包内进行转让流通,即交付给下一个使用者。这可以广泛应用于共享经济,如租房、租车等。

2.2 开锁验证流程

锁在区块链上查找包含有自身ID 标识的那个UTXO,通过验证UTXO 的控制权以确认是否有锁的控制权(该UTXO 的控制权即锁的控制权)。具体过程是:取出控制者的公钥(或地址),然后向试图开锁者发送一个要求,要求其对自己生成的一个随机数用私钥签名,并发回给自己,如果签名正确,那么说明对方持有正确的钥匙,即验证通过,可以开锁。钥匙可以使用比特币本身拥有的 多重签名机制,如2/3签名,表示3把钥匙有任意2把同时通过验证(需要配合 不同钥匙的有效期),即可以开锁。这特别适合用于 共享经济。

2.3 应用场景示例

在租房应用场景中,我们可以为锁配备3把不同的钥匙,应用2/3签名,并分别分配给3方各自持有。具体如下:

?中介公司持有1把钥匙,开锁操作单次有效;

?租户持有1把钥匙,开锁操作单次有效;

?房东持有1把钥匙,开锁操作永久有效(在全部3方持有者没有任何变更的情况下),即:相当于这把钥匙一直插在钥匙孔里。由于是2/3签名,再有任一另一把钥匙插进来,即可开锁。

这样以来,租户和中介公司任意一方都可以使用自己的钥匙开锁,但房东不行,他必须再找个人帮他开锁。

这个设置乍一看似乎不合理,但仔细分析一下:

?房东是个人行为,通常不受约束,如果其可以随意开锁进门,这对租房者不利;

?中介公司持有的钥匙在使用时通常比较谨慎,因为其需要维护良好的信用和口碑。因此中介公司不会随意开锁去危害租房者的利益,即使有个别极端情况,概率上是比房东更受控的;

精选