CHAT.ixi 使用Ict在IOTA 缠结上进行无需授权的聊天

CHAT.ixi 使用Ict在IOTA 缠结上进行无需授权的聊天

Iota Controlled agenT(Ict)是由IOTA基金会Omega团队开发的项目。对于社区中的大多数人来说,Ict看起来相当抽象与科幻,难以完全掌握。这就是Samuel和我决定发布基于Ict运行的聊天应用程序CHAT.ixi的原因。作为一个有形的概念验证,它为Ict提供了一个面孔,并展示了IOTA扩展接口(IXI)的功能。


介绍CHAT.ixi

从表面上看,CHAT.ixi只不过是另一个聊天应用程序。但其实它的内容很丰富!一旦你深入了解它所应用的技术,事情会变得更有趣。CHAT.ixi是在Iota Controlled agenT(Ict)网络上运行。Ict是一个轻量级的IOTA节点,专为物联网而设计。

Ict网络提供了一个实验性的Tangle testnet。所以这个聊天程序实际上是运行在一个类似于IOTA主网的缠结上。但是,谁会在乎这些技术问题呢?说到底技术问题也是书呆子研究的,不是吗?

理解不可篡改和无需授权的数据完整性协议-缠结,作为聊天基础结构的意义非常重要。在CHAT.ixi中,既没有规则也没有服务器来执行它们。显然,这类应用在使用时会有一些风险。但是,同样的,一些个性受到压迫的群体就会非常喜欢。

然而大公司在我们的通讯中充当中间人的角色,并且我们不得不越来越依赖他们,给予他们更多的信任。好在缠结可以免费使用。CHAT.ixi没有广告,没有利益中间商,除了您发送的消息之外,它也不会收集任何数据。

它的应用主要通过分布式的底层协议,您不必依赖中央集线器来处理您的数据。由于缠结的内部工作原理,缠结上的消息不会被篡改。

CHAT.ixi 使用Ict在IOTA 缠结上进行无需授权的聊天

Alpha测试的流出样图

那么,ICT究竟是个什么?

Iota Controlled agenT(Ict)是用于物联网(IoT)的实验性IOTA节点。与我们目前静态的互联网相比,物联网将充斥于动态网状网络中直接互联的微型设备。其中一些设备可能会四处移动,突然关闭或者打开。这种不断变化的环境要求数据完整性协议具有足够的冗余来传递消息并使数据可访问,即使网络具有不可预测的性质。

成为物联网标准协议一直是IOTA的愿景。然而,目前广义物联网的大部分内容都存在于常规的互联网架构中。在过去几年中,我们开始看到网络边缘(也称为雾)的“真正”的物联网出现,但其中的技术资源并不丰富。IOTA不仅仅是应用于这个新的前沿,而是旨在以安全性和不变性作为基本标准而积极塑造它。IOTA基金会的目标是以Ict作为基础构建模块,来建立自己的物联网微观世界,而不是等待边缘网络发展后再进行改造。

物联网是第四次工业革命的重要推动力。正如它的前身,数字革命一样,将会有融入我们的日常生活,带来根本性的改变。例如,我们正在转变对所有权的看法。随着汽车或自行车共享等新兴趋势的出现,我们正朝着充满共享型服务的世界迈进。这就是Ict发挥作用的地方,为服务提供了一个平台。

Ict核心客户端本身将保持精简,提供基本功能,如gossip协议和数据完整性。当然,真正有趣的部分是IXI。


IXI - 与物联网的接口
IXI是Iota eXtension Interface的缩写,是使用缠结的应用程序界面。接口保持相当精简和模块化的设计,以便尽可能地从底层Ict通信协议中分离这些称为IXI模块的应用程序。这些IXI模块不需要知道Ict节点之间如何在技术上交换事务。他们所需要的只是发生的实际交易信息。

通过建立远离通信层的抽象层,IXI使开发人员可以轻松访问缠结并为他们提供容错协议,以便他们可以根据自己的想法实现应用程序,而不是调整他们的想法以匹配物联网的复杂网络属性。最重要的是,他们不必通过各自开发通信解决方案来重新发明轮子,从而导致多种不同且不兼容的协议出现。目前缺乏兼容性标准是物联网的主要问题之一,而如今,Ict提供了解决方案。


走进CHAT.ixi

CHAT.ixi扩展了连接到Ict的IXI模块模板。该模板旨在促进模块的开发。保持轻量级界面,同时可以访问整个缠结的相关功能。还可以通过远程方法调用(RMI)当前Ict和IXI模块之间的链接。

正如首个命令行聊天模块(参见代码库)所证明的那样,可以使用极少行的代码实现各种IXI应用程序。为了揭开IXI的神秘面纱并展示它实际上的能力,Samuel和我决定在这个聊天应用程序中投入更多精力。在过去的几天里,我们非常努力地将这种概念验证纳入其中。

CHAT.ixi 使用Ict在IOTA 缠结上进行无需授权的聊天

CHAT.ixi演示

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

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

虽然可以自由选择用户名,但公钥的哈希值(称为用户ID)是唯一的,并允许用户识别彼此身份。您可以将用户的ID添加到联系人列表中,并使用白色边框标记其消息,以便您更轻松地尝试聊天功能。另外,每个用户的个人资料图片是由用户ID导出的。

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

关于IOTA的常见问题是“为什么有人要运行节点?”。 CHAT.ixi凸显了设立ICT节点的意义:因为这样的节点需要正确连接缠结,并使用它的IXI模块。如果您想自己尝试CHAT.ixi,那只需按照官方代码库中的说明进行操作即可。


Ict vs IRI ——两者有何区别?

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

最简单的表述是,IRI是目前运行且经过充分测试的全节点软件。Ict是一个处于起步阶段的实验概念。由于涉及资金安全,在Ict可能取代IRI之前,还有很长的路要走。在不久的将来,Ict可能会为许多概念验证提供测试平台,这对于大型IRI代码库来说将更加复杂。此外,Ict不依赖于协调员,这使其更接近IOTA的最终愿景,并使其成为测试其他共识机制的一个很好工具。


Ict的最终预期是什么?

  • Gossip协议 — 接收和转发IOTA交易,以及签名的验证,类似于IRI目前正在做的事情。
  • IOTA eXtension Interface (IXI) — 作为模块化的简单接口,使Ict核心客户端可以通过各种插件和应用程序扩展-“IXI模块”。
  • Swarm Logic — 实现群体中的共同目标,其中个别Icts调整其冗余级别,以过滤掉与该目标无关的事务。
  • Economic Clustering — 将是集成到Ict核心客户端的唯一共识机制。其他共识机制必须建立在IXI模块的上层。

Ict —开发与线路图

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

第一,第二季度的路线图:

  • 更新IXI的通用交互界面
  • 拓展IXI模块并使其支持其他语言
  • 增加Ict的可靠性和安全性以应对攻击
  • 通过实施签名等完成协议规范
  • 围绕Ict构建IXI模块的生态系统

欢迎在官方IOTA Discord的#omega-ict频道(开发类别)中了解Ict开发的最新信息。如想要自己尝试CHAT.ixi,只需按照官方代码库中的说明操作即可。

 

原文链接:https://blog.iota.org/chat-ixi-using-ict-for-permissionless-chat-on-the-iota-tangle-59ce6c5b95fb

 

tigermumu

专栏作者:tigermumu

个人简介:坚定不移的贯彻以推广和普及IOTA为核心一百年不动摇

作者邮箱 作者主页 Ta的文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注