工业互联网联盟峰会,IoTeX受邀主讲"万神殿"联盟链

工业互联网联盟(IIC)是全球领先的工业界物联网联盟组织,由全球300多家知名科技和物联网企业共同组成。

每个季度,IIC的成员都会齐聚一堂,交流行业趋势,分享最新的技术发展方向、研究用例和产品开发框架。在6月22日至26日举行的联盟第二季度成员峰会上,IoTeX受邀在四个不同的会议上发表主题演讲和讨论,向联盟成员分享IoTeX最新的研究成果和解决方案。

近日,IoTeX和亚马逊、华为共同当选工业互联网联盟区块链项目组联合主席。在本次峰会上,IoTeX密码学负责人范博士向参会成员介绍了什么是联盟链、IoTeX物联网联盟链“万神殿”与其他联盟链的区别,以及“万神殿”独特的技术和架构设计。

今天,让我们一起来回顾下范博士此次主题演讲的精彩内容。

主题演讲视频

主题演讲文稿

大家好!我是IoTeX密码学负责人Fan Xinxin,也是IIC区块链项目组的联合主席。今天,很高兴向大家介绍IoTeX“万神殿”,一款企业级的物联网联盟链。

众所周知,物联网的意义在于通过智能设备收集大数据并做出商业决策。我们将这一过程分为三个阶段:

1.各类智能设备从物理世界收集数据;
2.将收集到的数据传输到后端进行存储、处理;
3.对数据进行可视化处理和分析。

因此,数据可信度是物联网价值的关键,你提供给客户数据的可信程度决定了你为客户带来的价值。

那么大家可能会问,我们如何才能确保物联网数据的可信性呢?这也是过去几年安全项目组的热门话题。简单来说,我们需要构建一个覆盖数据全部生命周期的可信物联网(IoTT)来保障数据的可信性,其中包括数据的收集、传输、处理以及存储/留存等。也就是说,从智能设备开始收集数据,到向后台安全地发送数据,存储并以安全的方式处理数据时,都需要可信物联网的参与。

为什么区块链技术很重要呢?我们先来看一下美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)对区块链的定义:区块链是一个由不同区块组成的链,每个区块包含一系列交易记录。区块链网络由多个点对点的节点共同维护。区块链可以提供签章验证和防止数据篡改的数字账本,账本基于分布式节点运行,没有任何中心化的机构。

目前业界广泛使用的区块链有两种,一种是“无许可”的公链,任何人都可以加入网络,读取账本数据并验证交易。一般来说,无许可的公链具有较高的可信度。另一种是需要“许可”的区块链,由被授权的交易方或机构组成,共同维护分类账本。因此,联盟链上的验证工作由所有参与方选举的节点负责,这种分类账具有高度的透明度和问责制。

我个人认为公链是未来的趋势,但不可否认的是,从目前集中化解决方案向完全去中心化的过渡期内,联盟链依然具有很高的价值。联盟链可以带来多种实用的解决方案,帮助人们进一步理解区块链的实践应用及其潜在价值。

首先,我们需要了解的是,区块链给物联网系统带来了哪些特性?如图所示,区块链给物联网系统带来了五个重要特性。

区块链的第一大特征是去中心化,这一特征使区块链规避了受信任的中心化系统“一损俱损”的弊端。在区块链环境中,整个网络不由受信任的中心化权威控制,而是由多个分布式的节点来共同维护。
第二个特性是不可变性,区块链使用加密学哈希函数将所有的区块连接在一起,这意味着一旦信息被记录在区块链上,就很难做任何改变。
第三个特性是透明度,区块链提供了一个可审计并且有效的交易分类帐,链上每个参与者都可以随时查看。
第四个是安全性和弹性,区块链采用公钥加密和数字签名方式来验证数据的所有权,这意味着当你向区块链发送一些数据时,持有相应的私钥就可以证明你对该数据的所有权。当然,区块链也支持所有权转移,如果你想要转移某个资产,可以通过私钥来完成。信息在整个网络中的广泛可用性是区块链的天然属性之一,这意味着用户的信息不受个别节点宕机的影响,仍然可以广泛使用。
最后一个特性是自动化,区块链提供了一个非常实用的工具——智能合约,也就是部署在区块链上的一段代码。为简化业务流程,用户可以根据业务逻辑自主编程,并将代码部署在链上。

在现实生活中,实现这一系列过程通常需要涉及到多个中介机构,而智能合约的目的就是帮助用户简化复杂的流程。以上所述区块链的诸多重要特征能够完美加持物联网技术。

那么,我们为什么要开发企业级联盟链呢?目前,市场上已经存在很多联盟链,例如Hyperledger、Entreprise Ethereum、R3 Corda、近期出现的“基线协议”,以及亚马逊和微软为熟悉云计算的用户提供类似体验的Baas(Blockchain-as-a-Service,区块链即服务)平台。

既然市场上已经有这么多联盟链,IoTeX为什么要再开发一个呢?

现有的联盟链大多提供通用的解决方案,用户可以在链上构建各种类型的应用程序。此外,一部分联盟链则具有更专业的用途,例如Corda专注于银行业的支付业务,亚马逊和微软主要运营自己的Baas平台。考虑到目前还没有一个专门用于物联网领域的联盟链,因此,我们希望 打造一个新的联盟链,为所有与物联网应用相关的开发人员提供端到端的安全服务

这就是我们开发“万神殿”的初衷。“万神殿”是为物联网量身打造的企业级联盟链,具备业内领先的技术栈。此外,“万神殿”内置物联网设备层,支持不同类型的物联网设备和通信协议。

第二层是联盟链和云的混合层,也是物联网服务的核心层,包括用户管理、设备管理、存储管理等。在这之上是应用层,用户可以在应用层开发各种物联网相关的应用程序。“万神殿”是完全开源的,用户可以自由访问我们的资源库。我们将为不同的物联网应用程序提供核心服务,最终目标是保证设备端到端的安全性。目前,“万神殿”的初始版本主要专注于用户管理问题,IoTeX团队正在积极开发其他核心服务,将逐步更新技术堆栈。

这是“万神殿”的设计架构,目前,有多家节点(机构)负责维护“万神殿”的运行。我们专门设置了区块链节点API接口,用于访问联盟链内的所有功能。此外,我们还准备了一个正在系统内运行共识算法的节点列表。举个例子,如果用户希望查询链上数据。

首先,用户向API接口发起申请,获取想要访问数据的哈希值。然后,用户通过数据访问代理权限从链外数据库检索数据。同时,数据库中的权限控制中心将核实用户是否具有访问该数据的特定权限,只有拥有访问权限,用户才可以从数据库检索数据,并与从链上获取的哈希值进行比对。这只是一个简单的例子,介绍了“万神殿”的内部流程如何确保数据的完整性。

用户可以使用我们的区块链检索功能查询最近生产的区块和交易记录,也可以查询所有负责维护区块链网络安全运行的节点。

“万神殿”的系统通过智能合约处理节点(机构)的注册信息,所有的节点(机构)都可以投票决定新节点(机构)的加入。一个节点(机构)可以同时管理多个区块运营商,每个运营商都能独立运作,互不影响。同时,节点(机构)有权决定由谁来担任其管理区块的运营商。

如图所示,我们有多个节点(机构),并且每个节点(机构)可以管理多个运营商。

各节点(机构)采用链外的方式进行用户管理。我们将用户管理下放至每个节点(机构)所有的用户数据都被安全地存储在加密数据库中。

此外,我们还设有管理员,负责帮助用户创建ID并根据权限列表开通用户的权限。同时,“万神殿”还支持设置不同的用户群组,按分组进行用户精准化管理。

如果你是初次登录这个系统,需要像平常一样创建一个ID,然后可以添加用户,并对用户进行分组。

每个分组内都有管理员和常规用户,管理员可以创建或添加新用户以及新的分组,同时可以调整用户的分组,并分配权限。

在联盟链的设置中,所有区块链的访问权限都是基于许可的。用户在登录后,将会获得一个权限通证,这个通证是一个JWT(JSON Web Token),包含权限数据。目前,我们对链上所有的APIs都开放读写权限。此外,权限通证可以设置期限,每次查询API时,都需要提交权限通证,以便向链上的节点发出查询请求。正如图中的架构所示,权限通证将在节点接口上验证。

“万神殿”也具备L2层可伸缩性,如果你有一个高负载的请求,可以使用Merkle树进行分批处理。我们只将Merkle根提交到第一层链。这种方式可以极大提高“万神殿”数据的总吞吐量。

最后,我建议各位亲自去探索一下“万神殿”,只需要几个简单的步骤就可以完成安装。首先需要安装Docker,然后克隆我们的存储库,并确保你的系统兼容以下端口。接下来,你只需运行一个非常简单的脚本,从Docker hub中提取所有的Docker图像并运行服务。之后,就像我演示的这样,打开浏览器并在此端口访问这个本地主机。你可以选择不同的功能,比如使用GraphQL发送一个查询请求到API接口。然后可以看到不同的查询结果。在任务板上,我们可以看到所有的区块。如果你点击某个地址,将会看到所有的哈希、发件人以及其他信息。

同时,我们还提供了一个基于Grafana的监控工具,方便用户监控自己的区块链系统,例如区块高度。如果有什么异常,你可以在这里找出系统出现的问题。

以上是本次演讲的全部内容,也是对IoTeX“万神殿”的一个简短介绍。如果你有任何问题,欢迎随时与IoTeX官方团队联系!谢谢大家!

1 Like