AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

物联网平台应该为区块链集成做准备

  • 2018-08-08
  • 本文字数:5281 字

    阅读完需:约 17 分钟

“区块链”这个术语见多了也会令人生厌。虽说乱糟糟的区块链 ICO 环境更助长了人们对区块链的质疑,但在每次出现颠覆性技术时,出现这类质疑的声音都很正常。其实质疑本身可能就是新兴技术的一种助推剂。当新技术的炒作高潮期结束,人们的期望破灭时,正是质疑者的反馈让技术获得进步和新生。

于是问题来了:有哪个区块链项目可以服务于现在的物联网实践场景?

不考虑加密货币投资或虚拟加密猫( https://www.cryptokitties.co/ ),现在是否有哪个去中心化的网络平台可以成为未来 12 到 18 个月内物联网数据传输的首选架构?

下文对比了一些最有前景的去中心化物联网平台,它们有的已经是可用状态,有的已进入 Alpha 或 Beta 测试阶段。

典型的物联网解决方案

最常用的物联网设备数据传输协议之一是 MQTT。它使用服务端 / 客户端的消息队列架构,使用发布和订阅模型。MQTT 需要一个中心管理者,名为 Broker。它是系统的唯一信任源。



MQTT 的逻辑很简单。这个架构的中心 Broker 接收多个数据发布者的数据,之后将数据转发给任意数量的订阅者。除了用作消息队列,MQTT Broker 还支持身份验证、最多 3 级的 QoS 和按主题过滤数据的功能。 MQTT 最初诞生于 1999 年,之后由 IBM 全力发展,直到 2013 年开源。如今有很多投入实用的 MQTT Broker 项目和 MQTT 客户端库,能做到的事情任君想象。

许多商业化物联网平台使用 MQTT 作为主干。MQTT 的灵活性使企业可以部署大量不断发布数据的物联网设备,同时部署任意数量的服务器来订阅预过滤的原始数据。

以下是我们客户最常使用的 MQTT 平台:AWS IoT、Google Cloud IoT Core、Azure IoT Hub、Losant 和 Adafruit IO。

MQTT 是一个很好的解决方案,但它要扩展到未来预计的 204 亿个物联网设备( https://www.gartner.com/newsroom/id/3598917 )上,就需要规模庞大的基础设施和云计算服务。任何初创企业或商业项目的团队如果想要加入物联网元素,都必须准备好承担巨大的云基础设施费用和运维投入。

本文中,MQTT 将作为基准与区块链和分布式账本技术进行对比。

区块链的定义

区块链是一种不可篡改的去中心化账本,可以将其视为一种新型数据库。区块链的基础核心是在整个节点网络中更新的共享账本。每个节点都是一个接收和验证帐本副本的设备。数据按时间顺序存储在该帐本上,新增数据会添加进账本并传播到整个网络。帐本持有的数据可以记录交易、文档、文件或其他有价值的内容。

区块指的是链中当下的位置。一旦网络确认一个区块的副本已被发送到所有节点,这个区块就成为了该分布式账本或数据库的永久组成部分。每个新区块都会添加到上一个区块后面,因此每个区块都包含上一个块的哈希副本。区块链,亦即区块组成的链条!

因为每个新增区块都包含前一个块的哈希值,所以如果某人试图更改链上任意一点的数据,结果就会让哈希值变动,无法通过其它节点的验证。所以向网络混入篡改的数据实际上是做不到的。为了达到改变链上数据的目的,需要访问世界各地的每个账本副本,还要同时改变它们的内容。任何人或组织都无法获得如此大的权力,这使区块链成为无需中心信任源的可信交易或身份验证体系。

我们想要一个自我验证的,由安全的用户账户组成的大规模分布式数据库,交易还有可靠的验证。过去这个需求是无法实现的,因此我们创建了联邦保险银行。

基于以太坊区块链的物联网方案

大众可能是通过比特币了解了区块链技术,但开发者接触区块链则是通过以太坊,后者也因此成为最具实用性的区块链平台。以太坊允许开发者创建他们自己的去中心化合同,合同中可以定义规则、功能,甚至一种新的数字货币。

还记得 2017 年的 ICO 狂潮吗?以太坊提供的工具使科技创业者能够创造出他们自己的加密货币。开发者可以轻松创建自己的加密货币,这也成就了以太坊的生态系统、开发者社区和以太坊区块链。

传统区块链(如比特币和以太坊)的计算能力需求和存储需求太高,不可能用于物联网设备。例如,典型的以太坊节点使用 GPU 来处理区块,因为 CPU 的速度太慢;每个节点还要存储近 1TB 的区块链历史交易数据。如以太坊自己承认的那样,与中心化云服务相比它又慢又贵,还更费电。区块链要成为可选的数据传输平台,必须大幅降低共识耗时和采矿费用。

以太坊的领导团队并没有忽视这些问题。多年来,核心开发者一直致力于一个名为 Casper 的项目。 Casper 改变了区块链的共识机制,从称为“工作证明(Proof-of-Work)”的计算密集型操作转向称为“权益证明(Proof-of-Stake)”的基于风险的操作。 Casper 将对以太坊市场产生重大影响。对于物联网项目来说这种变化是值得期待的,因为它将降低事务处理成本并使性能不强的设备也能确认区块。 5 月,Casper 团队发布了 0.1.0 版,一周后更新到了 0.2.0( https://github.com/ethereum/casper/releases )。

1 月份,以太坊基金会宣布了两项补贴计划来进一步解决扩展性问题,参与候选方案的开发者可以获得 50,000 至 1,000,000 美元甚至更多的补助。具体到候选方案,基金会给出了两种策略并希望社区并行推进,它们分别是区块链分片和双层协议。

分片技术将允许以太坊的节点网络同时处理多个区块。实质上,这与 MongoDB 将数据分片到不同分区的方式类似。我们看到只有 prysmaticlabs.com 在发展分片技术。对于物联网设备来说,分片也是以太坊大幅减少共识耗时的一条路线。

双层协议通常被称为侧链。这些侧链借用了以太坊的许多功能,并创建了一个独立的链,使许多数据交易可以在以太坊链下处理。最后,侧链会把所有的交易记录上传到以太坊主链。



专门为性能受限的物联网设备创建的侧链,其架构类似于 MQTT。 侧链数据流是从设备到侧链到主链,而 MQTT 数据流是客户端到 Broker 到中心数据库。这种架构里,一方面有一个侧链“Broker”与性能受限的设备交互;另一方面,侧链以设定的时间间隔与以太坊主链同步“侧面”交易。有两个正在开发的侧链项目值得关注,分别是 Raiden Plasma

有了这么多基于以太坊的项目,还有众多开发者致力于解决扩展性问题,以太坊与侧链的组合可能很快就会成为传统消息队列 + 数据库架构的流行替代方案。

基于 IPFS 的物联网方案



分布式账本技术的一种令人兴奋、切实可行的实践是星际文件系统( IPFS )。 IPFS 在独立节点之间创建了一个分布式文件系统。 IPFS 可用于托管网站、文件甚至视频。

IPFS 节点仅存储节点感兴趣的内容和存储内容的索引。这与传统的区块链不同,后者要求每个节点都在本地存储整个网络的交易历史记录。 IPFS 与传统的区块链可能有很多差异,但相似之处在于文件的加密哈希值都会保存在网络中的多个节点上。

有人号召大家使用 IPFS( https://ipfs.io/ipfs/QmNhFJjGcMPqpuYfxL62VVB9528NXqDNMFXiqN5bgFYiZ1/its-time-for-the-permanent-web.html ),给出的理由极具野心:如果整个网络使用 IPFS 取代中心化的 HTTP 服务器,那么网络世界会变得更加美好。如果知道哈希地址,那么每个客户端节点都可以访问整个文件网络。客户端节点可以决定是否存储哈希数据,存储数据的节点就会成为这段数据的主机节点。即便哪个存储数据的节点断开连接,其文件也能通过其他节点继续访问,网络丝毫不受影响。

除了向应用开发者发布的存储工具之外,IPFS 还公布了类似 MQTT 的发布 / 订阅事件总线。与 MQTT 不同,IPFS 没有中心化的 Broker,而提供了完全去中心化和分布式的 Broker 替代品。这意味着对一个事件感兴趣的订阅者们作为整体,也对其它感兴趣的订阅者表现为 Broker 的角色。此外,内置的加密安全性也是一个额外的好处。

现在就可以使用 IPFS 发布 / 订阅方案( https://ipfs.io/blog/25-pubsub/ ),但用户很快就会发现,IPFS 要求节点选择进入以存储独立数据。由此以来,基于 IPFS 的大型项目的结构、库与感兴趣的节点“网络”都会运行相同的项目应用,从而贡献价值。

一个基于 IPFS 的项目是 Computes.io。创始人 Chris Matthieu 撰写了一篇博文,介绍了去年使用 Arduino 演示的一个物联网发布 / 订阅示例(组建物联网超级计算机)。超级计算机这个词可能会吸引你的眼球,但这个示例的主要内容是 Computes 将多台计算机融合为一个整体,演示暴力密码攻击。

IPFS 使我们能够连接一系列物联网设备,并让它们扮演共享文件系统、事件总线或像 Computes.io 演示的那样,作为分布式计算平台等角色。

基于 Helium 的分布式设备网络的物联网方案

Helium 是另一家引起我们 Hologram 注意的创业公司。他们正在建立一个“去中心化的设备网络”,这也是他们发明的新术语,用来描述自己的产品。 Helium 的网络结合了物理区块链、无线技术和开源软件,创建了一个专为物联网而构建的分布式区块链平台。

当 Helium 首次公布“去中心化的设备网络”时,他们在网站上声称“物联网已经失败了”。他们的理由是,因为各种协议和专有技术纠缠一起产生的混乱局面,物联网并没有实现人们当初的期望。



他们正在开发的解决方案中,有使用名为 WHIP 的新无线协议的网关,和低功耗的无线模块。最重要的是,他们为提供热点的个人贡献者创建了一个激励平台。这个机制是,如果贡献者设置网关并为物联网设备提供互联网访问,就能获得加密货币。

Helium 还为这个网络开发了新的加密共识机制,以为网络的扩展和维护行为提供激励。 Helium 网关并不会把资源浪费在挖矿功能上,而是提供了将网络扩展到特定地理区域的实用服务,这种服务通过 Helium 的覆盖证明机制(Proof of Coverage)验证。最终的结果,网关会收获代币,奖励它们为底层网络贡献验证算力的努力。

下面一步步分析 Helium 网络的数据传输机制。

  1. 物联网设备将使用 WHIP 协议安全地连接到传输范围内的多个本地网关。加入网络后,设备会将加密数据发送到所有网关。
  2. 每个网关都将数据添加到区块中,之后这些区块将添加到 Helium 的全局区块链。数据对象将包含路由信息以转发传感器数据。
  3. 网关将指定数据发送到指定路由。路由获得数据传输服务后,会向网关支付费用。
  4. 路由解密数据,流程结束。

由于 Helium 目前正在开发中,上文的描述可能有点乱。我们希望将来能更好地描述这一过程。

“我们使用区块链来奖励部署 Helium 网关的贡献者。这种方式使我们能够建立一个社区自治、去中心化的网络,提供安全、经济、无处不在的无线覆盖,从而将数十亿设备连接到互联网。” ——Helium

基于 IOTA 纠缠的物联网方案

IOTA 是另一项当下可用的技术。该项目引入了纠缠(Tangle)网络的概念,区别于传统区块链网络。 纠缠是一种新形式的分布式账本技术,以物联网为设计理念。



http://www.iotasupport.com/

与区块链不同,纠缠是一个用户网络而非矿工节点的缠结。这里的理念是:对于任何发起交易的设备或用户,它还必须处理接下来的两个交易。该方案可以实现快速交易,且费用低于其它任何方案。物联网设备可以迅速为传感器数据或功能发起小型交易。这一技术为连接设备创建了全新的经济模式。

IOTA 的一个有趣的主张是保护网络免受量子计算的攻击。这个说法难以验证,但值得思考。 IOTA 的白皮书有大量数学内容。他们使用了“独特的量子对抗加密算法”,将某些量子攻击的有效性下降到了百万分之一。

未来,大多数城市的基础设施都会基于传感器网络和分布式的执行器进行管理,可以想象,涉及欺骗身份或伪造数据的网络攻击可能导致灾难性的后果。基于量子对抗加密的安全物联网网络可以在节点生命周期内预防此类攻击。

展望未来

对区块链技术保持怀疑态度还是很有必要的,但随着这一技术的发展,它能做到的事情已经远不止于创造一种货币了。

考虑到将在未来 5 年内上线的数十亿设备,很容易理解为什么 IPFS 和 Helium 这类项目的意义如此重大。当我们连接的设备数量达到极限,我们需要确信它们仍然能够稳定连接工作。

为分布式网络开发的诸多协议正在努力改进以提升实用性。我们开始重新思考互联网的形态,从根本上使其从云中心化的形式转向去中心化的设备网络。

设想一个有趣的未来:设备通过独立的网关之间发起的微交易连接,整个网络分布在大量的私有节点之上;每个设备都会维护自身所依赖的系统,如果系统的一部分需要“下线”,整个系统也可以自主分叉或合并。

结语

当前的物联网解决方案依赖的平台可能在几年后就过时。我自己创建的许多项目都因为依赖的服务关闭而停止运行。本文中提到的这些分布式项目使我们能够超越中心管理者的局限。新的系统不易被破坏,数据也不容易丢失。

我们需要重点研究加密货币背后的实用技术解决方案,而不仅仅是这些数字货币的财务价值。最终,所有人都会在某种程度上受到去中心化技术的影响。有生之年,我们将看到一些基于区块链的系统成为日常生活的一部分。

数据安全和隐私话题逐渐成为社会关注的焦点,最终企业在区块链技术中找到了解决方案。随着去中心化变革的推进,越来越多的实际案例开始涌现。

你认为区块链或其相关技术会在哪些领域或行业带来益处?可以通过 Twitter @Hologram 联系我们分享看法。

查看英文原文: https://hologram.io/iot-platforms-should-be-planning-blockchain-integrations/

感谢冬雨对本文的审校。

2018-08-08 18:181781

评论 1 条评论

发布
暂无评论
发现更多内容

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第8章FlexBox布局

Geek_8dbdc1

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第9章FlexBox实战有路网

Geek_8dbdc1

工业互联网网络安全渗透测试技术研究

几维安全

网络安全 数据安全;工业互联网 移动应用安全 渗透测试

神经网络的学习为何要设定损失函数?

王坤祥

神经网络 学习 损失函数

微软看上的Rust 语言,安全性真的很可靠吗

华为云开发者联盟

数据库 开源 rust 安全 代码

面经手册 · 第4篇《HashMap数据插入、查找、删除、遍历,源码分析》

小傅哥

Java 小傅哥 hashmap 面经 红黑树

HTML5CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第10章有路网PC端主页实战整合

Geek_8dbdc1

看前谷歌工程师是如何副业赚钱的?

非著名程序员

程序员 个人成长 副业赚钱 提升认知

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第11章有路网移动端主页实战

Geek_8dbdc1

超市趣味游戏关卡设计

孙志平

巴黎世家土味病毒营销,B端创业初期,如何用营销壮大种子用户?

北柯

创业 营销 tob

智能汽车安全风险及防护技术分析

几维安全

移动应用安全

libuv 异步网络编程之 TCP 源码分析

Huayra

网络编程 libuv libuv 源码分析

有限数据量如何最大化提升模型效果?百度工程师构建数据增强服务

百度大脑

人工智能 数据 模型训练 百度大脑

《深度工作》学习笔记(6)

石云升

读书笔记 专注 深度工作

核心稳定、易扩展——开放关闭原则(The Open-Closed Principle)

晃来晃去的萨麦尔

编程习惯 架构分析 软件设计原则

HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第7章定位

Geek_8dbdc1

拼多多员工曝离职黑幕:要走可以,要离职证明,没有!

程序员生活志

职场 互联网公司

Spark优化之小文件是否需要合并?

华为云开发者联盟

spark 数据 cpu 内存 Spark调优

React TypeScript 项目基本构建2

JackWangGeek

React

微服务框架 Dubbo

莫莫大人

极客大学架构师训练营

Week10作业1

熊威

Week10总结

熊威

肯耐珂萨D1轮融资资方阵营揭晓,跟投方为中南资本、青发集团

人称T客

怎么写一个超棒的 README 文档

程序员生活志

经验总结 文档

安卓移动应用代码安全加固系统设计及实现

几维安全

android 安全评估 移动应用安全

致远互联A6+Cloud C位出道 赋能中小企业乘风破浪

爱极客侠

Windows AD日志分析告警平台—WatchAD安装教程

BigYoung

监控 windows 日志 AD 告警

SpringBoot 系列(一):SpringBoot项目搭建

xcbeyond

Java 微服务 springboot

云图说丨手把手教你为容器应用配置弹性伸缩策略

华为云开发者联盟

Docker 云计算 Kubernetes 容器

架构师训练营 第 10 周 作业&总结

Jam

物联网平台应该为区块链集成做准备_语言 & 开发_Holograms_InfoQ精选文章