订阅

IoTeX 在 IIC 第二季度会议上介绍 Pantheon 联盟链

IoTeX 在 IIC 第二季度会议上介绍 Pantheon 联盟链

工业互联网联盟(IIC)是全球领先的物联网联盟之一,由全球顶尖的技术组织组成。

每个季度,IIC 全球 300 多位技术领袖成员都会齐聚一堂,分享最新的研究成果、应用案例和产品开发框架。在 6 月 22 日至 26 日举行的第二季度成员大会期间,IoTeX 参加了四场分会,向 IIC 成员分享了我们的最新工作成果。

本次大会中 IoTeX 的重头戏是我们向 IIC 区块链工作组做的Pantheon 展示,IoTeX 与亚马逊和华为共同担任该工作组的联席主席。在此次展示中,我们解释了什么是联盟链、Pantheon 与其他联盟链的区别、Pantheon 独特的技术栈与架构等诸多内容。

在本文接下来的部分,我们将分享 Pantheon 展示的视频录像和文字实录——希望大家喜欢!

展示——视频录像

展示——文字实录

大家好!我是范鑫鑫(Xinxin Fan),IoTeX 密码学负责人,同时也是区块链任务组的联席主席。今天我很高兴为大家介绍 Pantheon,这是一款面向企业的物联网联盟链。

众所周知,物联网的核心在于根据智能设备收集的数据做出商业决策。这里基本上有三大模块:1)各种智能设备从物理世界中收集数据;2)所有这些数据会被传输到后端进行存储、处理等操作;3)数据可视化与分析。数据可信度对物联网的成功至关重要,你向客户提供的数据是否可信,将决定你能为客户带来多大的价值。

一个自然而然的问题是:我们如何确保物联网中的数据可信度?这是一个非常热门的话题,过去几年安全工作组一直在讨论这个问题。简单来说,我们应当引入“可信物联网”(Internet of Trusted Things,IoTT)的概念——基本上我们需要覆盖 IoTT 的整个数据生命周期,以确保这一过程中的可信度。我们需要考虑数据采集、数据传输中、数据静态存储、数据处理以及数据保留等环节。也就是说,从设备开始采集数据起,到设备向后端发送数据时保障通信安全,再到安全地存储数据并以安全方式进行处理,整个流程都需要覆盖。

为什么区块链在这里如此重要?首先,让我们简单了解一下区块链——这是 NIST(美国国家标准与技术研究院)给出的定义。顾名思义,区块链是一条由区块组成的链,每个区块包含一系列交易。这个网络由一组节点以点对点的方式共同维护。区块链本质上为你提供了一个防篡改、抗篡改的数字账本,而这个数字账本依靠分布式节点来运行,无需任何中心化权威机构。

业内广泛使用的区块链有两种类型。第一种是无需许可的区块链,基本上就是公有区块链。在这种类型的区块链中,任何人都可以加入网络,任何人都可以读取账本数据并验证交易。这种类型的账本体现了高度的信任。另一种类型是许可制区块链,这在业内也被讨论了很多。这种许可制区块链通常由一组已知的交易方或机构组成,他们共同运营这个账本。因此验证工作通常由所有参与方共同确定的一组特定节点来控制。这种类型的账本体现了高度的透明度和可问责性。

虽然我相信公有区块链是未来的方向,但许可制区块链在从我们日常使用的中心化解决方案过渡到完全去中心化世界的这一转型期仍然具有很高的价值。许可制版本仍然为人们提供了一个很好的示例,帮助人们进一步理解这项技术的价值以及它在实践中的运作方式。

因此,我们首先需要强调的一个主题是“区块链为物联网系统带来了哪些特性?”以下是区块链提供的五个关键特性。第一个是去中心化——这意味着区块链消除了体现在受信任的中央权威机构中的“单点故障”问题。在区块链环境中,这个网络是由一组节点而不是一个受信任的中心化权威机构来维护的。第二个特性是不可篡改性——区块链使用加密哈希函数将所有区块链接在一起,这意味着一旦信息进入区块链,就很难再对其进行更改。第三个是透明度——区块链提供了一个完全可审计且有效的交易账本,因此系统中的每个参与者都可以看到这一点。第四个是关于安全性和弹性——区块链使用公钥加密和数字签名来证明数据的所有权,这意味着一旦你向区块链发送某些内容,你所证明的就是你持有相应的私钥。这也使得所有权可以被转让,也就是说,如果你要将某项资产从一个实体转移给另一方,你可以使用你的私钥来完成这一操作。由于区块链的性质意味着信息在整个网络中广泛可用,这意味着即使某些节点离线也没关系,你的信息仍然广泛可用。最后一个是自动化——区块链提供了一个非常有用的工具,叫做智能合约,这是一段部署在区块链上的代码。你用某种编程语言编写你的业务逻辑,其主要目的是简化复杂的业务流程。这些流程在现实世界中通常涉及多个中间方。智能合约可以帮助你简化复杂的流程。以上就是区块链能为物联网带来的所有关键特性。

那么,我们为什么要打造另一个企业级区块链呢?考虑到目前已经存在许多联盟区块链,例如Hyperledger、面向企业的以太坊、R3 Corda,以及最近出现的Baseline协议,还有像亚马逊和微软Azure这样的云服务提供商,它们提供区块链即服务(Blockchain-as-a-Service),让熟悉云计算的人在使用区块链时获得类似的体验。那么我们为什么还要再做一个呢?这里所有现有的解决方案,大多数都是非常通用的解决方案,你可以在其之上构建多种类型的应用。一些联盟区块链更为专业化,例如Corda主要用于银行业的支付用途,而亚马逊和微软则管理着他们自己的区块链即服务。我们想要开发一个新方案的原因是,我们意识到目前还没有一个专门为物联网设计的良好方案。因此,我们正在尝试构建一个新的方案,涵盖与物联网应用相关的所有服务,并最终提供端到端的安全性。

这就是我们致力于打造 Pantheon 的原因,这是一个面向企业、专为物联网设计的联盟链。这是我们所设想的高层技术栈。我们有物联网设备层,用于支持各种物联网设备和通信协议。第二层是联盟链与云的混合层。在第二层混合层之上,我们有核心物联网服务,包括用户管理、设备管理、存储管理等。在此之上是应用层,用户可以在此开发各种物联网相关应用。Pantheon 完全开源——您可以在这里访问我们的代码库。我们将提供核心物联网服务,以覆盖不同的物联网应用场景。目标是实现从设备端到后端的端到端安全。我们的初始版本主要专注于用户管理,其他核心服务正由我们的开发团队积极开发中,并将逐步添加到该技术栈中。

关于系统架构,这就是 Pantheon 的样子。我们有若干机构协同运行这个联盟链。我们有区块链节点 API 网关,用于访问该区块链系统内的所有功能。我们有一个共识组列表,即一组运行共识算法的机构。这里给出一个示例流程:用户想从区块链查询数据。例如,他们会先查询 API 网关,获取他们尝试访问的数据的哈希值。然后他们会查询数据访问代理,从链下数据库中检索数据。数据库中的数据访问控制策略会检查该用户是否拥有访问此数据的特定权限。如果权限被授予,用户就可以从数据库中检索数据,并与从区块链获取的哈希值进行比对。这只是一个简单的示例流程,用以展示如何利用我们的联盟链系统确保数据完整性。

您可以使用我们的区块链浏览器查看最新区块、所有交易以及维护该区块链系统的节点。

机构注册由我们系统中的一份智能合约处理,所有现有机构都可以对新机构的加入进行投票。他们将决定是否愿意让新机构加入该联盟。一个机构可以运行多个区块运营者——他们会决定谁能够成为其机构内的区块运营者,并各自独立管理自己的运营者。

因此,这张截图显示我们这里有多个机构——每个机构都可以管理多个运营者。

在用户管理方面,这项工作由各机构在链下进行。我们采用这种层级结构,每个机构管理自己的用户及相应权限。用户及其权限数据被安全地存储在加密数据库中。这里还有一位管理员,负责指定如何创建用户,并通过访问策略列表指定其权限。用户也可以被组织成用户组,并按用户组进行管理。

所以第一次登录这个系统时,你会像往常一样创建一个账户,然后你可以添加多个用户,并指定要将该用户放入哪个组。

在组内,你可能有普通用户,而管理员可以创建或添加新用户和新组,将用户分配到不同的组中,并分配相应的权限。

在联盟设置中,所有区块链访问都是基于权限的。用户和服务在登录后会被颁发一个认证令牌——这个认证令牌基本上就是一个 JWT。该令牌包含权限数据。目前我们支持对所有链 API 的读写权限。该令牌可以配置为过期,每次查询 API 时,你都需要附带你的认证令牌,才能向链节点发起请求。认证令牌将在节点网关上进行验证,正如我们在架构图中所展示的那样。

我们还可以在 Pantheon 中处理二层(Layer 2)可扩展性。其思路是,如果你的二层服务面临高请求负载,你可以使用 Merkle 树将它们批量处理在一起。我们只将 Merkle 根提交到第一层链上。通过这种方式,我们可以提升整体吞吐量。

最后,我想鼓励大家亲自尝试一下 Pantheon。基本上只需几个简单的步骤。你可以先安装 Docker,然后克隆我们的仓库。确保系统中以下端口是可用的。接着你只需运行一个非常简单的脚本——这将从 Docker Hub 拉取所有的 Docker 镜像并启动服务。之后,你可以打开浏览器,像我这样访问该端口对应的本地主机。它有不同的选项供你选择——你可以使用 Playground 向 API 网关发送查询,这是一个 GraphQL 查询。然后你可以返回所有不同的结果。从仪表盘中,你可以看到所有的区块。如果你点击某个地址,你可以看到所有的哈希值、发送者是谁,以及其他信息。

我们还提供了一个基于 Grafana 的监控工具,以方便对你的区块链系统进行监控。比如区块高度,如果出现问题,你可以到这里查明系统出了什么问题。

以上就是我演讲的全部内容——这是对该解决方案的一个简要介绍。如果你有任何问题,欢迎联系我们。谢谢!

关于 IoTeX

IoTeX 成立于 2017 年,是一个开源平台,致力于构建可信物联网(Internet of Trusted Things)****,一个开放的生态系统,在这个生态系统中,所有的“事物”——人类、机器、企业和 DApp——都可以在信任与隐私的基础上进行互动。IoTeX 拥有一支由 30 多位顶尖研究科学家和工程师组成的全球团队作为支持,将区块链、安全硬件和机密计算相结合,以赋能下一代物联网设备、网络和经济体系。IoTeX 将通过“逐块连接物理世界”来赋能未来的去中心化经济。

了解更多: 网站 | Twitter | Telegram | Medium | Reddit

IoTeX