IOTA发展路线图

前言

IOTA是以一个清晰且专注的愿景发起的,旨在构建一个标准化的“可承载一切的账本”,以实现从物联网(IoT)、工业4.0和去信任化“按需经济”从传统模式的转移。自2015年中第一行代码的输入开始,这一项目已经取得了巨大的进展,但从IOTA发展的整体状况来看,这一切才刚刚开始。本文将公开并列明IOTA基金会实现其愿景的公共路线图。这个发展路线图将会随着发展进度持续更新,不断添加新的内容。目前还有很多其它内容在公开之后将被添加。


IOTA项目的头等大事就是在现实世界的普及。实现这一目标的基础是部署和发展一个友好的生态系统。这就需要一个全能型和包容性极强的生态系统,其中最重要的组成部分就是包含了不同语言的客户端,开发者能够选择最适合他们具体部署的客户端。目前我们正在研发的(客户端)有:

Java

IOTA参考部署(IRI)是用Java语言写的。它刚刚进行了代码重构,进行了重要的性能改进,能更快地进行网络同步并发起交易。由于IRI是首个官方的IOTA部署,稳定的Java客户端是普及的关键。

状态:完成,不久后进行压力测试

C++

这个客户端是目前的当务之急,因为我们目前正在转移IRI到C++,并计划继续用这一预言进行核心研发。和Java不同的是,这个客户端不需要设备安装虚拟机来运行代码,它能够实时编译机器代码,对于那些资源受限的IoT设备来说十分合适。C++还是世界上支持者最多并且使用最多的语言之一。

状态:早期转移阶段

Rust

Rust被视为最具前景以及最灵活的语言之一,尤其是对IoT来说,其安全性、快速执行能力和大量的并发性支持都是关键优势。Rust和C++目前是基金会的两大优选语言。

状态:早期研发阶段


Go

从并发性来看,Go和Rust十分相似。Go语言的接受度较高,特别是在行业内多个区块链项目的采用。我们已经在沙盒环境和代码库中用过了Go,将其作为研发的一个主要选择。

状态:早期发展阶段


轻客户端

尽管IOTA核心客户端本质是是轻量级的,有些特定的应用还是需要一些更加基础的东西,比如说资源受限的边缘设备无法作为全节点存在,因此我们就有了轻客户端。除了轻客户端之外,我们还会提供类似SPV(简单支付验证)的客户端,旨在实现去信任化交易和验证。

状态:已完成

群集客户端

另一个允许IOTA客户端运行在资源受限环境中的方法就是碎片化核心逻辑和数据库,将它们分配到不同的设备中进行共同运作。和群体智能类似的是,它能够在不需要全节点的情况下汇集一组设备并进行高效交易,同时还能减少SPV和轻客户端的信任需求。

状态:研究/初始阶段




改良网络

由于IoT有具体的网络需求,我们开始了这项早期研究,并在IOTA研发了一个网络代理,它能够在保证连接到(IOTA)这个P2P网络的同时,自由实现在多个不同的网络协议之间的切换。除此之外,我们还是会专注于节点的安全探索。

状态:积极的研究阶段
自动快照

为了保证IOTA与嵌入式设备(IoT组成部分)的需求一致,需要采用快照的方法来保证账本数据库保持在较小的规模。快照和区块链的修整类似,区别在于快照有利于将几笔转账分组到同一地址,并形成1笔记录,这样最终能够带来整体较小的存储需求。

状态:积极的研发和测试

IOTA核心协议本身就是故意设计成轻量级的,并且比较简单;其目的是实现无需信任和费用的交易结算以及防篡改的数据转移。就是这样。在遵守通用工程原则的同时,我们通过模块化哲学减少折中。我们并没有创造一个一体适用的“瑞士军刀”,这最终只会导致各个功能表现平平,反之,我们创建了IOTA平台模块。这就意味着每个部分都是独立的应用,能够实现其目标最优化,不用为了其它应用再性能或功能之间做出取舍。另外,用户还能选择按照自己的要求进行协议的使用,就算他们本来只打算用一个功能,也不用再被强加费用。这些部分都是可延展的功能平台。

物品身份

为了安全挖掘出IoT的全部潜力,我们必须彻底改变我们看待机器或设备的方式。我们必须转而认为每台设备都拥有自己的身份,只是属性不同,而不是将它们视为以特殊用途存在的没有生命的金属和塑料。

举个例子,一个传感器不仅仅应该拥有其独特的辨认特征,还应该伴随着特定的属性,比如:谁生产了它,它是什么时候部署的,其预计的使用寿命是多长,所有者身份,收集的传感数据是什么类型的,以什么粒径收集的,它是否会出售数据,出售价格是多少?要高效的完成索引编入、实现机器经济和工业4.0的预测维护,这是很有必要的。IDoT(物品身份辨认)在保障互联世界安全的方面起到了重要的作用。在每个设备拥有自己的身份的同时,还可以建立一个信誉系统,这对异常和入侵检测来说是很重要的。通过观察一个设备的运作是否与其身份信息一致——后者能够检测恶意程式的传播,相邻设备可以进行隔离。

状态:目前我们仍处于研究和构思的初期阶段,开发者和工业及IoT顶尖参与者都在研究身份系统的构建方法。IDoT成为标准是很重要的,这样更多的输入就成为了必需品。然而,目前有一件事已经很明显了:IOTA账本将会确保设备属性和信誉未被篡改。

以后将会发布一篇博客深入分析IDoT。


永久节点

IOTA采用快照的方式来保证Tangle(缠结)账本数据库的规模保持在较小的状态,这是IoT运作的先决条件。这对大部分结算和数据完整性用例来说是很必要的。然而,有些特定应用中保存着账本中全部的原始数据,并且能够永久访问,举个例子,一个透明的审计将会需要这样的能力。这就是永久节点(Permanodes)的作用。一个永久节点能够永久并安全地存储整个Tangle历史和数据。通过快照中的检查点技术,我们能够完全移除信任需求。

状态:Alpha测试
闪电网络

目前IOTA和IoT都处于早期阶段,我们认为这是一个走向生产部署和IoT环境之间的“过渡阶段”。直到网络发展到一定规模之后,IoT领域就会开始接受分布式账本技术(DLT),并给予硬件支持,这将会赋予IOTA所有实际用途的无限吞吐量,支付通道将会为具体用例服务,而具体应用恰巧就需要交易的高吞吐量。由于其独特的Tangle架构,闪电通道(Flash Channels)与闪电网络和Raiden网络等类似的想法相比拥有明显优势,包括建立通道不需要支付费用,这一特点非常适合微交易;另外,Tangle网络中没有矿工,因此就不需要担心交易在纳入下一区块之前就失效了。

状态:中期研发阶段

隐藏验证信息(MAM)

IOTA其中一个最值得期待,又或许是最独特的模块就是隐藏验证信息。MAM能够让传感器和其它设备加密整个数据流,并将它们通过量子论证的方式安全锚定在IOTA Tangle网络中。只有通过授权的一方才能查看并且重构整个数据流。从本质上来说,其运作模式与收音机类似,只有调到了正确的频率才能收听,在MAM中,只有使用了正确的通道ID才能获取数据。未来会有更多有关MAM以及其在供应链、银行和工业4.0等行业应用的消息。

状态:Beta测试
隐私交易

就像MAM能够提供安全和隐私的数据分享一样,隐私交易的存在是为了实现交易隐私。交易携带了大量的元信息,能够透露私人信息,这在特定的IoT用例中能够被放大,因此隐私交易层正在研发中。一开始我们将会使用代币混合的方式实现这个目标,不过我们还在探索类似零知识证明等其他延展技术。

状态:早期研发阶段
Oracles

扩展IOTA效用和应用的其中一个主要方法就是通过Oracles。通过这种方式能够让外部数据,比如说时间戳,流入IOTA网络。你可以在这里找到一些激动人心的声明。

状态:高级研发阶段

任何开发生态系统,特别是开源系统,都依赖健全的工具和代码库。目前多个代码库已经在开发中。

JavaScript代码库

作为使用最为广泛的IOTA代码库,JavaScript代码库是其它代码库的“参考”,因为它是首个部署新功能并能为开发者所用的代码库。通过完整的API覆盖、实用性、包裹函数和多重签名支持,JavaScript代码库能让你的NodeJS和浏览器应用在用IOTA时变得非常简单。

状态:已完成
Python代码库

Python或许是最受欢迎的原型语言。Python代码库(PyOTA)已经基本完成,还需要等待多重签名支持的全面测试。PyOTA已经在我们的几个概念验证项目,甚至是黑客马拉松中使用过。

状态:已完成,还需要进一步改进

Java代码库

Java代码库目前用于安卓移动钱包的现阶段测试,已经研发完成,大部分功能都已经实现。JavaScript代码库的所有函数和包裹函数都已经转移到Java,并且进行了全面测试。多重签名支持已经部署,目前正在进行安全审核。

状态:已完成
C#代码库

与Java代码库类似,C#代码库的功能已经完善,大部分来自Javascript代码库的API函数也已经部署完成。我们计划在未来的发布中,添加多重签名和地址及账户可选择的密钥安全。

状态:已完成,多重签名即将添加

Go代码库

Go代码库经常被用于沙盒开发者环境,我们有两个开发者正在进行积极的研发,将在4月份公布。我们还会提供一个简单的命令行界面(CLI)

状态:开发中


压力测试

为了证明IOTA Tangle账本具有成为最具延展性以及高吞吐量的公共分布式账本的能力,同时证明网络布局能够自行维持,我们计划进行多次不同类型的压力测试,计算能力、用户负载和分布式节点延迟等都会作为测试的方向。我们不久就会与合作伙伴公布更多的信息。

状态:计划中和准备中
公开模拟

考虑到Tangle是一个全新的概念,对于有些人来说通常难以理解,我们近几个月都在研发一个Python模拟框架。这个模拟框架能够模拟集群和网络设置、交易完成时间、交易传播、不同的终端选择策略和整体确认率。除此之外,我们还部署了几场攻击(在白皮书里提到过),这样你就能形象的看到Tangle是如何抵御攻击的。

状态:大部分已完成,等待同行审核中
沙盒

我们的沙盒能够帮助开发者降低参与门槛。IOTA沙盒对开发者来说十分简单,“只要写代码就行”。你不用下载任何软件,也不用搭建本地环境或者进行其他一些步骤。我们能够为你处理所有的难题,我们的GPU甚至能为你进行工作量证明。在经过短暂的修整之后,我们将会在4月中旬继续运行沙盒环境。

状态:4月中旬重新发起
学习

促进IOTA应用发展是我们的主要目标。作为社区的第一批工作之一,我们建立了IOTA Learn,这个中央资料库能够提供所有相关的开发者教程、代码段和资源。这不仅仅能够方便开发者快速融入IOTA,并向社区专家学习,他们还能成为老师,在网站中拥有自己的项目和教程。

状态:请查看!

IOTA生态系统每天都在成长,新的开发者、研究者、非政府组织、初创公司和大型企业走到了一起,探索IOTA和基金会能够提供的进一步促进新应用开发、提高社会影响力和商业发展的机会。有了这么一个雄心勃勃且全面的发展路线,我们将IOTA定位为这一领域中最独特、最受推崇的方案供应者。未来几个星期将会公布大量激动人心的发展和有关生态系统的消息。从草根项目开始,IOTA仍然是一个完全开源的公开项目。我们邀请所有人参与到这个生态系统中,加入我们的Slack,关注我们的推特或订阅我们的新闻。

原文:https://blog.iota.org/iota-development-roadmap-74741f37ed01

译者:胖大鼠