目前物联网(Internet of Things, IoT)的生态系统构建已经成为下一个热点,不管是国内还是国外,许多大型企业都在IoT上进行大量投入。相比几年前的模糊定义,IoT现在已经有了一个相对比较清晰的概念和发展方向,但随之而来的通信安全则成为了一个绕不过去的问题。

最近看到一篇比较有意思的博文,主要就为IoT的安全提供了一种基于区块链的解决思路。其实这个方案是由HDAC(Hyundai Digital Asset Currency)提出的,而且目前在ICO,所以究竟是在为ICO画饼还是真有干货不得而知(本人倾向于前者),不过里面的某些想法还是有一定的启发。这篇文章也主要是对他们的技术白皮书(https://github.com/Hdactech/Hdac/wiki/Hdac-Technical-Whitepaper )进行了一个简单的梳理。

什么是物联网?

下面这个视频介绍了IoT的一些基本理念和应用,同时我也对这个视频做了一个简单的中文字幕(来源:IBM Think Academy):

(备用地址:https://www.bilibili.com/video/av16778419/)

一句话总结:所有电子设备将不再是简单地通过电力线路和通讯网络连接在一起,而是通过IoT共享收集到的各种数据,并自动完成交互。举个例子 ,假设屋内的一盏连接到IoT的台灯灯泡坏了,平台可以主动识别这个问题,然后自动下单购买新灯泡并配送至家门口,整个过程无需用户介入,最多也就是收到几条手机推送而已。随着芯片技术的进步,这些可能的IoT场景极有可能在未来的一两年内得到实现。

然而,安全应当是IoT优先考虑的重要问题。当有人入侵你的个人物联网系统时,你损失的不仅仅是资金,受影响的将会是实物资产,甚至人身安全。目前,IoT安全依然局限于账号密码、两步安全认证等,或者是人脸/指纹/声音识别等生物识别技术。但生物识别就真的是万无一失的吗?事实上,iPhone X的发布会就出现了识别失败的情景。虽然机器学习可以不断改进识别成功率和效率,但这一切并不是100%可靠的。在物联网平台上,一个0.0001%概率所造成的损失可能比现在要大得多,同时,生物识别技术的研发也需要大量资金的投入。事实上,我们现在可能有了一个更为简单可靠的解决方案:区块链。

HDAC及其私有区块链

HDAC(Hyundai Digital Asset Currency)是由韩国现代公司所支持的数字资产管理公司,这家公司现在所做的主要工作就是使用私有区块链技术来解决IoT的安全问题,整个系统的构思如下:

  • 区块链节点(Blockchain Node):记录所有交易信息和账单信息,存储所有用户与设备之间、设备与设备之间的控制和交互信息,以及管理员对于私有链的设置信息。类型为全节点(Full Node)
  • 管理员(Administrator):在区块链中注册用户、网关和设备,并为它们赋予相互之间的访问权限,相关设置信息如上所述将存储于私有链的节点中。所有设备和用户的设置信息将被实时更新,也可以整合到外部物联网平台上。
  • 用户(User):现实中的用户,或运行固定程序的设备。类型为简单节点(Simple Node),不存储区块。
  • 网关(Gateway):控制设备或传感器,分析IoT合约并将其传输至设备和传感器。每个设备和传感器都有特定的地址。
  • 设备(Device):与用户一样,仅仅简单地连接到网关中,类型同样是简单节点,不存储区块。但它可以对特定地址做出响应,并且分析IoT合约。

整个私有链的运作流程为:用户向某设备或网关发送IoT智能合约(合约已绑定特定程序),设备接收到合约后对其进行分析并进行后续响应。除此之外用户还可以发送交易请求,这些请求也可以控制或访问特定的设备和网关。

IoT智能合约

智能合约的基本概念不在这里展开(有兴趣的话可以关注我的后续几篇博文,我会专门对区块链和智能合约做一定的补充)。首先我们应当注意的是,HDAC与BTC、以太坊一样,同样建立在传统的区块链技术上,因此同样也会有一套自己的数字货币系统,准确地说,应该叫“代币”更为合适,这些代币的主要用途是:

  • 作为奖励分发给创建/确认区块的矿工们(即挖矿)。
  • IoT智能合约的交易代币

由于设备和设备之间、用户和设备之间都是通过智能合约完成交互,因此,交互的程度就可以通过代币进行量化。简单地说,你现在可以将智能合约看成是虚拟计算机,它们可以对设备发出指令,其实反过来说,智能合约就已经将实物资产进行了数字化 。同时,IoT的智能合约交易将之前的P2P交易拓展到了机器层面(Machine to Machine,M2M),也就是说,设备之间的自动交互就是一系列的M2M交易。另外,设备自身也可以参与挖矿,主动构建区块链网络,从而获取代币、参与智能合约的交易(也就是响应一系列的操作)。

那么,由于私有链和智能合约的存在,代币将成为完成某种操作的前提。只要未经认证进入到私有链中,或没有相应的代币,设备将不会作出任何响应,用户也无法操作设备,你可以将代币看作是发送汽车的车钥匙,或者是开启照明设备的开关,因此整个IoT会相对比较安全。另外,由于节点中存储了用户和设备的所有记录,那么机器学习所需要的数据均可从节点(特指前面所述的Full Node)中获取。下图展示了IoT智能合约的结构(IoT contract tx即为代币):

但从白皮书中注意到一个细节,管理员在许可新用户/设备时,使用的依然是传统的用户密码或生物认证手段,这可能是一个比较大的安全隐患

HDAC所处的阶段

目前HDAC已经完成了新的ePoW算法开发(用于解决传统PoW、PoS算法消耗算力巨大的缺点),并且也为一家名为“Cafe de BLOCK”的咖啡店搭建了这套IoT区块链系统, 他们还计划在韩国修建一栋全面部署该系统的公寓楼

对HDAC感兴趣的话可以参考他们的技术白皮书(见文首),里面有诸多在本文中未曾提及的细节。

最后,本文的目的仅仅是针对IoT与区块链技术结合的发现与探讨,不代表本人为其ICO宣传(直至本文撰写完毕才获悉HDAC正在进行ICO)。