![](https://img.haomeiwen.com/i14641857/603fb1780d8a0c20.png)
该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主网的Tangle上运行的。但是,谁在乎呢?最后这只是另一个书呆子的事情,不是吗?
了解选择不可篡改和分布式数据完整性协议Tangle作为聊天基础结构的意义非常重要。在CHAT.ixi中,既没有规则也没有主持人来执行它们。显然,这会带来在使用之前必须了解的某些风险。但是,同时,那些意见受到限制或压制的人有很多机会。
虽然大公司充当我们沟通中的中间人角色,但我们被迫将越来越多的信任投入第三方,并越来越依赖于第三方。另一方面,Tangle可以免费使用。CHAT.ixi没有广告。除了您故意发送的消息之外,不会收集任何数据。
使用主要通过设计分布的底层协议,您不必依赖中央集线器来处理您的数据。由于Tangle的内部工作原理,Tangle上的消息不会被篡改。
![](https://img.haomeiwen.com/i14641857/6e64c1627fc68b8e.png)
那么这个Ict是什么东西?
Iota Controlled agenT(Ict)是用于物联网(IoT)的实验性IOTA节点。与我们目前相当静态的互联网相比,物联网将充满在动态网状网络中,直接相互连接微型设备。其中一些设备会四处移动,或突然关闭或打开。这种不断变化的环境要求数据完整性协议具有足够的冗余来传递消息并使数据可访问,尽管网络的性质是不可预测的。
成为物联网的标准协议一直是IOTA的愿景。然而,目前通俗地称为物联网的大部分内容都存在于常规互联网架构中的云基础架构中。在过去几年中,我们开始看到网络边缘(也称为雾)的“真正”物联网的出现,其中技术资源并不丰富。IOTA不仅仅是适应这个新的前沿,而是旨在以安全性和不变性作为基本标准积极塑造它。IOTA基金会的目标是建立自己的物联网微观世界,而不是等待边缘网络发展然后再进行改造,Ict作为基础构建模块。
物联网是第四次工业革命的重要推动力。正如它的前身 - 数字革命一样,将会有超越我们日常生活各个方面的根本变革。例如,我们正在转变对所有权的看法。随着汽车或自行车共享等新兴趋势的出现,我们正朝着充满服务的世界迈进。这就是Ict发挥作用的地方,为服务提供了一个平台。
Ict核心客户端本身将保持精简,提供基本功能,如流言协议和数据完整性。然而,真正有趣的部分是IXI。
IXI - 与物联网接口
IXI是Iota eXtension Interface的缩写,是使用Tangle的应用程序的界面。接口保持相当纤薄和模块化设计,以便尽可能地从底层Ict通信协议中分离这些称为IXI模块的应用程序。这些IXI模块不需要知道Ict节点之间如何在技术上交换事务。他们想要看到的只是发生的实际交易。
通过抽象远离通信层,IXI使开发人员可以轻松访问Tangle并为他们提供容错协议,以便他们可以根据他们的想法实现应用程序,而不是调整他们的想法以匹配物联网的复杂网络属性。最重要的是,他们不必通过各自开发自己的通信解决方案来重新发明轮子,从而产生多种不同且不兼容的协议。目前缺乏兼容性标准是物联网的主要问题之一。Ict提供了一个解决方案。
在CHAT.ixi里面
CHAT.ixi扩展了连接到Ict的IXI模块模板。该模板旨在促进模块的开发。界面保持轻量级,同时可以访问整个相关的Tangle功能。远程方法调用(RMI)当前提供Ict和IXI模块之间的链接。
正如第一个命令行聊天模块(参见存储库)所证明的那样,可以使用极少的行代码实现各种IXI应用程序。为了揭开IXI的神秘面纱并展示它实际上的能力,Samuel和我决定在这个聊天应用程序中投入更多精力。在过去的几天里,我们非常努力地将这种概念验证纳入其中。
![](https://img.haomeiwen.com/i14641857/6e5ee9a20c6eb7c0.gif)
该模块的Java后端提供了一个REST接口,用于在Web GUI中显示消息,该GUI在JavaScript中实现。
签名方案使用RSA - 一种非对称加密算法,可用于加密和数字签名。每个参与者拥有一个由私钥和公钥组成的密钥对。私钥用于对消息进行签名,而公钥允许其他用户验证这些签名并验证消息的来源。
虽然可以自由选择用户名,但公钥的哈希值(称为用户ID)是唯一的,并允许用户识别彼此。您可以将用户的ID添加到联系人列表中,以使用白色边框标记其消息,以便您更轻松地发现模拟尝试。另外,每个用户配置的个人资料图片是从用户ID同一性导出的。
有超过八十七个quintrigintillion(8.7x10¹⁵)不同的频道聊天。这是因为每个通道都是由聊天模块侦听和发送消息的特定IOTA地址在内部实现的。您甚至可以看到谁在线,因为Web GUI将定期提交心跳交易,通知其他用户您在那里聊天。最后,为了确定我们的优先顺序,我们还增加了对表情符号的支持。😉
关于IOTA的常见问题是“为什么有人要运行节点?”。CHAT.ixi强调了保持连接良好的Ict的动机:因为这样的节点需要正确连接到Tangle并使用所有使用它的IXI模块。既然您可能想自己尝试CHAT.ixi,只需按照官方存储库中的说明进行操作即可。
Ict与IRI - 有什么区别?
该IOTA参考实现(IRI)是目前用来运行IOTA全节点参考软件,并且是该基金会的Alpha小队正在开发的主要项目之一。虽然Ict和IRI都旨在做同样的事情:提供IOTA协议,他们在不同的环境中这样做。IRI的设计考虑了当前的互联网,而Ict则面向未来的物联网。
最简洁的是,IRI是目前运行且经过充分测试的全节点软件。Ict是一个处于起步阶段的实验概念。由于存在真正的资金,在Ict可能取代IRI之前还有很长的路要走。在不久的将来,Ict可能会为许多概念验证提供测试平台,这对于大型IRI代码库来说将更加复杂。此外,Ict不依赖于协调员,这使其更接近IOTA的最终愿景,并使其成为测试其他共识机制的一个很好的工具。
Ict的预期最终组件是什么?
Gossip协议 - 接收和转发IOTA交易,以及签名等的验证,类似于IRI目前正在做的事情。
IOTA eXtension接口(IXI) - 作为模块化方法的简单接口,使Ict核心客户端可以通过各种插件和应用程序扩展 - “IXI模块”。
Swarm Logic - 实现群组中的共享目标,其中各个Icts调整其冗余级别,以过滤掉与该目标无关的事务。
经济集群 - 将是集成到Ict核心客户端的唯一共识机制。其他共识机制必须实现为运行在顶部的IXI模块。
Ict - 发展与路线图
自从开始开发当前Ict代码库以来的三周内,已经实现了基本的流言协议和IXI。此外,最近使用最新版本启用了第一个垃圾邮件保护机制和旧事务的修剪。CHAT.ixi作为第一个概念验证,已经启动并运行,并证明事情按预期工作。我们正努力在2019年中期之前将Ict变为稳定可靠的形式。
Q1 / Q2路线图:
改进IXI的通用接口设计
将IXI模块支持从Java扩展到其他语言
提高可靠性并保护Ict免受基本攻击向量的影响
通过实施签名等完成协议规范
围绕Ict构建IXI模块生态系统
在官方IOTA Discord 的#omega-ict频道(开发类别)中了解Ict开发的最新信息。要自己尝试CHAT.ixi,只需按照官方存储库中的说明操作即可。
现在,我们祝你新年快乐。
原文:点击进入
如果你喜欢我的这篇文章或者我之前发表的文章,我很高兴能得到一点捐助;-):
IOTA:PGGB9HOSLZQOPPVTGONEYLMJQWFAOLTZJVHEDR9XKSWCRJRUEZZOJYRRKNDBVNKADUXK9UZRKRAWEIFYWECAA9BTIW
网友评论