Januar 1, 2019

CHAT.ixi - Verwendung von Ict für das Chatten im IOTA-Tangle

Der Iota Controlled agenT (Ict) ist ein Projekt, das von der IOTA Foundation durch das Omega Team entwickelt wird. Für die meisten in der Gemeinschaft erscheint Ict eher abstrakt, futuristisch und schwer verständlich.

CHAT.ixi - Verwendung von Ict für das Chatten im IOTA-Tangle

Der Iota Controlled agenT (Ict) ist ein Projekt, das von der IOTA Foundation durch das Omega Team entwickelt wird. Für die meisten in der Gemeinschaft erscheint Ict eher abstrakt, futuristisch und schwer verständlich. Deshalb haben Samuel und ich beschlossen, CHAT.ixi zu veröffentlichen, eine Chat-App, die auf Ict läuft. Als konkretes Proof-of-Concept gibt es Ict ein Gesicht und zeigt, wozu das IOTA eXtension Interface (IXI) fähig ist.

Einführung in CHAT.ixi

Oberflächlich betrachtet ist CHAT.ixi wirklich nur eine Chat-Anwendung. Aber es gibt noch mehr! Die Dinge werden interessanter, wenn man tiefer in die Technik schaut, welche sie umgibt. CHAT.ixi läuft auf dem Iota Controlled AgenT (Ict) - Netzwerk. Ict ist eine leichte IOTA-Node, der für das Internet der Dinge entwickelt wurde.

Das Ict-Netzwerk stellt ein experimentelles Tangle-Testnetzwerk bereit. Dieser Chat läuft also tatsächlich über das Tangle, ähnlich dem IOTA-Hauptnetzwerk. Aber wen interessiert das schon? Am Ende ist das nur eine Nerd-Sache, oder?

Es ist wichtig zu verstehen, welche Auswirkungen das Wählen eines unveränderlichen und zulassungsfreien Protokolls zur Datenintegrität, der Verwicklung, als Infrastruktur für einen Chat hat. In CHAT.ixi gibt es weder Regeln noch Moderatoren, die sie durchsetzen. Natürlich birgt dies gewisse Risiken, die man verstehen muss, bevor man es verwendet. Gleichzeitig gibt es jedoch immense Möglichkeiten für diejenigen, deren Meinungen anderweitig eingeschränkt oder unterdrückt werden.

Während große Unternehmen von der Rolle der Zwischenhändler in unserer Kommunikation profitieren, sind wir gezwungen, mehr und mehr Vertrauen in Dritte zu setzen und von ihnen abhängig zu werden. Das Tangle ist dagegen frei zu Verwendung. Es gibt keine Anzeigen in CHAT.ixi. Außer den Nachrichten, die Sie absichtlich senden, werden keine Daten erfasst.

Mit einem zugrunde liegenden Protokoll, das weitgehend vom Design her verteilt ist, muss man sich nicht auf einen zentralen Hub verlassen, der sich um die Daten kümmert. Aufgrund des inneren Verhaltens des Tangles können Nachrichten im Tangle nicht manipuliert werden.

Seltene Aufnahmen der geheimen Alpha-Testphase.

Was ist das Ict-Ding?

Der IOTA Controlled agenT (Ict) ist eine experimentelle IOTA-Node für das Internet der Dinge (IoT). Im Gegensatz zu unserem derzeit eher statischen Internet wird das IoT mit winzigen Geräten gefüllt sein, die direkt in einem dynamischen Mesh-Netzwerk miteinander verbunden sind. Einige dieser Geräte bewegen sich oder werden plötzlich ein- oder ausgeschaltet. Eine sich ständig ändernde Umgebung erfordert ein Datenintegritätsprotokoll mit ausreichender Redundanz, um trotz der unvorhersehbaren Natur des Netzwerks Nachrichten zu liefern und Daten zugänglich zu machen.

Ein Standardprotokoll für das Internet der Dinge zu werden, war schon immer die Vision von IOTA. Das meiste, was heute umgangssprachlich als IoT bezeichnet wird, existiert jedoch bequem in einer Cloud-Infrastruktur innerhalb einer normalen Internetarchitektur. In den letzten Jahren haben wir begonnen, das „wahre“ IoT am Rand des Netzwerks (auch als Fog bezeichnet) zu entwickeln, wo technologische Ressourcen nicht reichlich vorhanden sind. IOTA trägt dieser neuen Grenze nicht nur Rechnung, sondern will sie mit Sicherheit und Unveränderlichkeit als Grundkriterien aktiv gestalten. Anstatt darauf zu warten, dass das Edge-Netzwerk wächst und dann nachgerüstet wird, möchte die IOTA-Stiftung einen eigenen IoT-Mikrokosmos mit Ict als grundlegendem Baustein aufbauen.

Das Internet der Dinge ist ein wichtiger Treiber der vierten industriellen Revolution. Genau wie sein Vorläufer, die digitale Revolution, wird es radikale Veränderungen geben, die alle Aspekte unseres täglichen Lebens überschreiten. Zum Beispiel verschieben wir unsere Wahrnehmung des Eigentums. Mit aufkommenden Trends wie dem Teilen von Autos oder Motorrädern bewegen wir uns in Richtung einer Welt voller Dienstleistungen. Und hier spielt Ict eine Plattform für Dienstleistungen.

Der Ict-Core-Client selbst bleibt schlank und bietet grundlegende Funktionen wie das Gossip Protocol und die Datenintegrität. Der wirklich interessante Teil ist jedoch IXI.

IXI - Schnittstelle zum IoT

IXI, kurz für IOTA eXtension Interface, ist eine Schnittstelle für Anwendungen, die das Tangle verwendet. Die Schnittstelle ist vom Design her schlank und modular aufgebaut, um diese als IXI-Module bezeichneten Apps so weit wie möglich vom zugrunde liegenden Ict-Kommunikationsprotokoll zu entkoppeln. Diese IXI-Module müssen nicht wissen, wie Transaktionen technisch zwischen den Ict-Nodes ausgetauscht werden. Sie möchten nur die tatsächlichen Transaktionen sehen.

Durch die Abstraktion von der Kommunikationsebene bietet IXI Entwicklern einen einfachen Zugang zum Tangle und stellt ihnen ein tolerantes Protokoll zur Verfügung, sodass sie Apps basierend auf ihren Ideen implementieren können, anstatt ihre Ideen an die komplexen Netzwerkeigenschaften des IoT anzupassen. Vor allem müssen sie nicht das Rad neu erfinden, indem sie jeweils ihre eigenen Kommunikationslösungen entwickeln, was zu einer Vielzahl unterschiedlicher und inkompatibler Protokolle führt. Das Fehlen von Kompatibilitätsstandards ist derzeit eines der Hauptthemen des Internet-of-Things und Ict bietet eine Lösung.

In CHAT.ixi

CHAT.ixi erweitert die IXI-Modulvorlage, die eine Verbindung zum Ict herstellt. Diese Vorlage wurde entwickelt, um die Entwicklung von Modulen zu erleichtern. Die Oberfläche ist leicht und bietet Zugriff auf die gesamte relevante Tangle-Funktionalität. Remote Method Invocation (RMI) stellt derzeit die Verbindung zwischen Ict und dem IXI-Modul bereit.

Wie das allererste Befehlszeilen-Chat-Modul (siehe Repository) zeigt, können verschiedene IXI-Anwendungen mit sehr wenigen Zeilen Code realisiert werden. Um IXI zu entmystifizieren und zu zeigen, was es wirklich kann, haben Samuel und ich beschlossen, mehr Aufwand in diese Chat-App zu investieren. In den letzten Tagen haben wir sehr hart daran gearbeitet, diesen Proof-of-Concept in Form zu bringen.

CHAT.ixi Demonstration

Das Java-Backend des Moduls bietet eine REST-Schnittstelle zur Anzeige von Meldungen in der Web-GUI, die in JavaScript implementiert ist.

Das Signaturschema verwendet RSA - einen asymmetrischen kryptographischen Algorithmus, der sowohl für die Verschlüsselung als auch für digitale Signaturen verwendet werden kann. Jeder Teilnehmer besitzt ein Schlüsselpaar, bestehend aus einem privaten und einem öffentlichen Schlüssel. Der private Schlüssel wird zum Signieren von Nachrichten verwendet, während der öffentliche Schlüssel es anderen Benutzern ermöglicht, diese Signaturen zu überprüfen und den Ursprung einer Nachricht zu authentifizieren.

Während der Benutzername frei gewählt werden kann, ist der Hash des öffentlichen Schlüssels (als Benutzer-ID bezeichnet ) eindeutig und ermöglicht Benutzern die gegenseitige Identifizierung. Sie können der Kontaktliste eine Benutzer-ID hinzufügen, um deren Nachrichten mit einem weißen Rand zu kennzeichnen, sodass Sie Identifizierungsversuche leichter erkennen können. Darüber hinaus ist das Profilbild jedes Benutzers ein Identicon, das von der Benutzer-ID abgeleitet wird.

Es gibt mehr als siebenundsiebzig Quintrigintillionen (8,7x10¹¹⁵) verschiedene Kanäle zum Chatten. Dies liegt daran, dass jeder Kanal intern durch eine bestimmte IOTA-Adresse realisiert wird, an die das Chat-Modul hört und Nachrichten sendet. Sie können sogar sehen, wer online ist, da die Web-GUI regelmäßig eine Heartbeat-Transaktion übergibt, die andere Benutzer darüber informiert, dass Sie dort chatten. Um unsere Prioritäten klar zu setzen, haben wir auch Unterstützung für Emojis hinzugefügt. 😉

Eine häufig gestellte Frage zu IOTA lautet "Warum sollte jemand eine Node betreiben?". CHAT.ixi hebt den Anreiz hervor, einen gut verbundenen Ict aufrechtzuerhalten: weil eine solche Node erforderlich ist, um eine Verbindung zum Tangle herzustellen und alle IXI-Module zu verwenden, die ihn verwenden. Da man CHAT.ixi wahrscheinlich selbst ausprobieren möchten, folgt einfach den Anweisungen im offiziellen Repository.

ICT vs. IRI - Was ist der Unterschied?

Die IOTA-Referenzimplementierung (IRI) ist die derzeitige Referenzsoftware für IOTA-Fullnodes und eines der Hauptprojekte, die vom Alpha-Team der Foundation entwickelt werden. Während Ict und IRI dasselbe Ziel verfolgen: Bereitstellung eines IOTA-Protokolls für unterschiedliche Umgebungen. IRI ist auf das aktuelle Internet ausgerichtet, während Ict für zukünftige Internet-der-Dinge gedacht ist.

Am prägnantesten ist IRI die aktuell funktionierende und gut getestete Fullnode-Software. Ict ist ein experimentelles Konzept in den Kinderschuhen. Da es sich um echte Mittel handelt, ist es ein weiter Weg, bis Ict möglicherweise die IRI ersetzen kann. Für die nahe Zukunft könnte Ict eine Testumgebung für viele Konzeptnachweise bereitstellen, deren Implementierung in der großen IRI-Codebasis komplexer wäre. Darüber hinaus verlässt sich Ict nicht auf einen Koordinator, der es der Endvision von IOTA näher bringt und es zu einem hervorragenden Instrument macht, um andere Konsensmechanismen zu testen.

Was sind die erwarteten Endkomponenten von Ict?

  • Gossip Protocol - zum Empfangen und Weiterleiten von IOTA-Transaktionen sowie zur Validierung von Signaturen usw., ähnlich wie bei IRI derzeit.
  • IOTA eXtension Interface (IXI) - eine vereinfachte Schnittstelle als modularer Ansatz, um den Ict-Core-Client mit verschiedenen Plugins und Anwendungen erweiterbar zu machen - die "IXI-Module".
  • Swarm Logic - um gemeinsame Ziele in einem Schwarm zu erreichen, bei dem einzelne Icts ihren Redundanzgrad anpassen, um Transaktionen herauszufiltern, die für dieses Ziel nicht relevant sind.
  • Economic Clustering - wird der einzige Konsensmechanismus sein, der in den Ict-Kern-Client integriert ist. Andere Konsensmechanismen müssen als IXI-Module implementiert werden, die darüber laufen.

Ict - Entwicklung und Roadmap

In den drei Wochen seit Beginn der Entwicklung auf der aktuellen Ict-Codebasis wurden das grundlegende Gossip Protocol und IXI implementiert. Mit der neuesten Version wurde kürzlich auch ein erster Spam-Schutzmechanismus und das Beschneiden alter Transaktionen aktiviert. CHAT.ixi ist als erster Proof-of-Concept in Betrieb und beweist, dass die Dinge wie erwartet funktionieren.

Wir arbeiten daran, Ict bis Mitte 2019 in eine stabile und zuverlässige Form zu bringen.

Roadmap für Q1 / Q2:

  • Verbesserung des allgemeinen Interface-Designs von IXI
  • Erweiterung der IXI-Modul-Unterstützung über Java hinaus auf andere Sprachen
  • Erhöhung der Zuverlässigkeit und Sicherung von Ict gegen grundlegende Angriffsvektoren
  • Fertigstellung und Implementierung der Protokollspezifikation (Signaturen usw.).
  • Aufbau eines Ökosystems von IXI-Modulen um Ict

Bleibt auf dem Laufenden über die Ict-Entwicklung im #omega-ict-channel (Kategorie "Entwicklung") des offiziellen IOTA Discord. Um CHAT.ixi selbst auszuprobieren, folgt einfach den Anweisungen im offiziellen Repository.

Bis dahin wünschen wir allen einen fantastischen Start ins neue Jahr.


Quelle: https://blog.iota.org/chat-ixi-using-ict-for-permissionless-chat-on-the-iota-tangle-59ce6c5b95fb?gi=b5ac6d1b88e4