IOTA 聊天软件:CHAT.ixi
来源: 头等仓 时间: 2019-01-01 00:00:00
摘要: 在IOTA Tangle上使用Ict进行无权限聊天

CHAT.ixi


在IOTA Tangle上使用Ict进行无权限聊天


image.png


Iota Controlled agenT(Ict)是由IOTA Foundation Omega团队开发的项目。对于社区中的大多数人来说,Ict看起来是相当抽象的,未来派的,难以完全掌握的。这就是我和Samuel决定发布chat.ixi——一个在ICT上运行的聊天应用程序的原因。作为一个有形的概念证明,它为ICT提供了一个窗口来展示了IOTA扩展接口(IXI)的功能。


介绍CHAT.ixi

从表面上看,CHAT.ixi实际上只不过是另一个聊天应用程序罢了。然而并不仅限于此!一旦你深入了解它的技术,会更加感兴趣的。CHAT.ixi在Iota Controlled agenT(Ict)网络上运行。 Ict是专为物联网设计的轻量级IOTA节点。


Ict网络提供了一个实验性的Tangle测试网。所以这个聊天实际上是在一个类似于IOTA主网的Tangle上运行的。但谁在乎这个呢?最后,这只是被看作是一件新奇的事情,不是吗?
重要的是要理解选择不可变的、无权限数据完整性协议(Tangle)作为聊天基础设施的意义。在CHAT.ixi中,既没有规则也没有负责人来执行它们。显然,在使用它之前,这会带来一定的风险。但同时,对于那些意见受限的人来说,也有巨大的机会。

然而大公司在与我们的沟通中利用其中间人的角色,使我们被迫向第三方施加越来越多的信任,并越来越依赖于第三方。另一方面,Tangle可以免费使用。CHAT.ixi中没有广告。除了你特地发送的消息之外,任何数据都不会被收集。

通过使用设计过的分布底层协议,你不必依赖中央集线器来处理你的数据。由于Tangle的内部工作原理,Tangle上的消息不能被篡改。


image.png


秘密alpha测试阶段的罕见景象


那么,ICT是什么?


Iota Controlled agenT(Ict)是用于物联网(IoT)的实验性IOTA节点。与我们目前相当静态的互联网相比,物联网这个微型设备将与动态网状网络中的设备直接连接。其中一些设备会移动,或突然关闭或被打开。这种不断变化的环境需要一个具有足够冗余的数据完整性协议来传递消息并使数据可访问,尽管网络具有不可预测的性质。
成为物联网的标准协议一直是IOTA的愿景。然而目前大多数通俗地称为物联网的东西,都存在于常规互联网架构内的云基础设施中。在过去几年里,我们看到网络边缘(也称为雾)出现了“真正的”物联网,其中的技术资源并不丰富。IOTA不仅仅是适应这个新的前沿,而是旨在以安全性和不可变性作为基本标准而塑造的。IOTA基金会并不是在等待边缘网络发展再对其进行改造,其目的是以Ict为基础构建自己的物联网微观世界。

物联网是第四次工业革命的重要推动力。正如它的先驱——数字革命一样,将会有超越我们日常生活各个方面的根本变革。例如,我们正在转变对所有权的看法。随着汽车或共享单车等新兴趋势的出现,我们正朝着一个充满服务的世界迈进。这就是ICT发挥作用的地方,为服务提供了一个平台。
Ict核心客户端本身将保持精简,并提供基本功能,如gossip协议和数据完整性。然而,真正有趣的是IXI。


IXI——与物联网接口

IXI是Iota eXtension Interface(物联网扩展接口)的缩写,是使用Tangle的应用程序的接口。该接口保持相当纤薄和模块化设计,以便尽可能地从底层Ict通信协议中分离这些称为IXI模块的应用程序。这些IXI模块不需要知道Ict节点之间如何在技术上发生交易。他们想要看到的只是实际发生的交易。
通过抽象远离通信层,IXI使开发人员可以轻松访问Tangle并为他们提供容错协议,以便他们可以根据他们的想法实现应用程序,而不是调整他们的想法以匹配物联网的复杂网络属性。最重要的是,他们不必通过各自开发自己的通信解决方案来重新发明轮子(wheel),从而产生多种不同且不兼容的协议。目前缺乏兼容性标准是物联网的主要问题之一。Ict提供了一个解决方案。


CHAT.ixi内部

CHAT.ixi扩展了连接到Ict的IXI模块模板。此模板旨在促进模块的开发。界面保持轻量级,同时可以访问整个相关的Tangle功能。远程方法调用(RMI)当前提供Ict和IXI模块之间的链接。
正如第一个命令行聊天模块(参见存储库)所证明的那样,可以使用极少的行代码实现各种不同的IXI应用程序。为了揭开IXI的神秘面纱并展示它实际的能力,Samuel和我决定在这个聊天应用程序中投入更多精力。在过去的几天里,我们一直在努力使这个概念证明成形。


image.png


CHAT.ixi演示


该模块的Java后端提供了一个REST接口,用于在Web GUI中显示消息,该GUI在JavaScript中实现。

签名方案使用RSA——一种可用于加密和数字签名的非对称加密算法。每个参与者都拥有一个由私钥和公钥组成的密钥对。私钥用于对消息进行签名,而公钥允许其他用户验证这些签名并验证消息的来源。

虽然可以自由选择用户名,但公钥的哈希值(称为用户ID)是唯一的,允许用户彼此标识。你可以将用户的ID添加到联系人列表中,以使用白色边框标记其消息,以便你更容易发现消息提示。此外,每个用户的配置文件图片都是从用户ID派生的Identicon。

有超过87个quintrigintillion(8.7x10¹¹⁵)不同的频道可以聊天。这是因为每个频道都是由聊天模块收听和发送消息的特定IOTA地址在内部实现的。你甚至可以看到谁在线,因为Web GUI将定期提交心跳交易,通知其他用户你在哪里聊天。最后,为了确定我们的优先顺序,我们还增加了对表情符号(emoji)的支持。

关于IOTA的常见问题是“为什么得有人运行节点?”。 CHAT.ixi强调了保持连接良好的Ict的动机:因为这样的节点需要正确连接到Tangle并使用所有利用Tangle的IXI模块。如果你想试试CHAT.ixi,只需按照official repository中的说明进行操作即可。


ICT与IRI的区别是什么?


The IOTA Reference Implementation(IRI)是目前用于运行IOTA全节点的参考软件,也是基金会Alpha团队正在开发的主要项目之一。虽然Ict和IRI都旨在做同样的事情:提供IOTA协议,但却是在不同的环境中。IRI的设计考虑了当前的互联网,而Ict则面向未来的物联网。


简单的说,IRI是目前运行良好、测试良好的全节点软件。Ict是一个处于起步阶段的实验概念。由于存在真正的资金风险,Ict要取代IRI并不是那么容易。在不久的将来,Ict可能会为许多概念验证提供测试平台,这对于大型IRI代码库来说将更加复杂。此外,Ict不依赖于协调器,这使其更接近IOTA的最终愿景,并使其成为测试其他共识机制的重要工具。


Ict的预期最终组件是什么?

Gossip协议——接收和转发IOTA交易,以及签名验证等,类似于IRI目前正在做的事情。

IOTA 扩展接口(IXI)——作为模块化方法的简单接口,使Ict核心客户端可以通过各种插件和应用程序扩展——“IXI模块”。

群逻辑——实现群组中的共享目标,其中各个Ict调整其冗余级别,以过滤掉与该目标无关的交易。

经济集群——这将是集成到Ict核心客户端的唯一共识机制。其他共识机制必须作为顶端运行的IXI模块来实现。


Ict——开发与路线图


自目前的Ict代码库开发以来的三周内,已经实现了基本的gossip协议和IXI。此外,最近的版本启用了第一个垃圾邮件保护机制和旧交易的修剪。CHAT.ixi作为第一个概念证明,已经启动并运行,并保证事情会按预期发展。我们正努力在2019年中期之前使Ict成为一种稳定可靠的形式。


Q1/Q2路线图:

改进IXI的通用接口设计

支持IXI模块从Java到其他语言的扩展

提高可靠性并保护Ict免受基本攻击向量的影响

通过实施签名等完成协议规范

围绕Ict构建IXI模块生态系统

在官方IOTA Discord的#omega-ict频道(开发类别)中了解Ict开发的最新信息。如果你想试试CHAT.ixi,只需按照official repository中的说明操作即可。

祝愿你在新年有个美好的开始。


免责申明:资讯内容仅代表媒体观点,仅供投资参考,并不代表本网站观点。 凡因任何方式投资造成亏损或者盈利均与本网站无关,本声明未涉及的 问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为主。