IOTA deutsch update 2.0

Original by William Sanders: https://blog.iota.org/a-guide-to-upcoming-iota-2-0-coordicide-terminology-856872d7bbfc (29.05.2020)

Da die Koordizid-Spezifikationen kurz vor der Fertigstellung stehen, hat die Forschungsabteilung die Einzelheiten des neuen Protokolls an die technische Abteilung, externe Forscher und die Gemeinschaft kommuniziert. Diese Kommunikation erfordert eine einfache und einheitliche Terminologie für die neuen Komponenten. Bis vor kurzem haben Forscher, darunter auch ich, jedoch hauptsächlich potenziell verwirrende „in house“- und Ad-hoc-Namen verwendet.
Daher begannen mehrere Forscher und Ingenieure damit, eine angemessene Terminologie zu entwickeln. Kürzlich haben wir diese Aufgabe abgeschlossen und möchten diese Namen in diesem Blogbeitrag mit Ihnen teilen.
Das neue IOTA-Protokoll ist in drei Schichten unterteilt: die Netzwerk-, die Kommunikations- und die Anwendungsschicht. Es gibt Parallelen zwischen unseren Schichten und den oberen Schichten des OSI-Modells, obwohl wir den Leser vor tiefgreifenden Vergleichen warnen. Die Netzwerkschicht verwaltet die Verbindungen und Paketübertragungen zwischen den Knoten. Die Kommunikationsschicht schafft eine standardisierte Plattform für die Speicherung und Kommunikation von Informationen. Den Entwicklern steht es dann frei, dezentralisierte Anwendungen auf der Anwendungsschicht zu entwerfen und gleichzeitig die unteren Schichten zu abstrahieren.

Die Netzwerkschicht (Network Layer)

Diese Schicht verwaltet die unteren Schichten der Internet-Kommunikation wie TCP. Sie ist die technischste und in gewisser Weise die uninteressanteste. In dieser Schicht werden die Verbindungen zwischen den Knoten durch die Autopeering- und Peer-Discovery-Module und das Klatschprotokoll verwaltet.

Die Kommunikationsschicht (Communication Layer)

Diese Schicht speichert und kommuniziert Informationen. Diese Schicht enthält das „verteilte Ledger“ oder das Gewirr. Die Kurssteuerung und Zeitstempel befinden sich ebenfalls in dieser Schicht.
In der Kommunikationsschicht sehen wir viele neue Funktionen des Protokolls. Zunächst wird unser Signatur-„Gewirr“ in „Nachrichtengewirr“ umbenannt, und Objekte, die Nachrichten genannt werden, ersetzen Transaktionen und Bündel. Nachrichten haben ein flexibles Format von variabler Größe, die effizienter sind als Bündel von Transaktionen fester Größe. Außerdem werden wir die Bezeichnungen „Stamm und Zweig“ abschaffen: Jede Nachricht verweist auf zwei andere Nachrichten, die wir jetzt die Eltern nennen.
Die Nachrichten werden von einem Knoten ausgegeben und dann auf der Netzwerkschicht geklatscht. Neben den Hashes der Eltern enthält eine Nachricht bestimmte Ausgabeinformationen (Ausgabeknoten-ID, Zeitstempel usw.), eine Nutzlast, die die Daten enthält (mehr dazu später), und die Signatur des Ausgabeknotens.
Coordicide communication layer
Der Begriff „Nachricht“ wurde gewählt, um den Begriff „Transaktion“ zu ersetzen, da das IOTA-Protokoll nicht nur eine Anwendung zur Übertragung von Werten ist, sondern eine Plattform zur sicheren Speicherung und Übertragung von Daten.

Die Anwendungsschicht (Application Layer)

Das IOTA-Protokoll ermöglicht die Ausführung einer Vielzahl von Anwendungen auf dem Nachrichtengewirr. Jeder kann eine Anwendung entwerfen, und die Benutzer können entscheiden, welche Anwendungen auf ihren Knoten ausgeführt werden sollen. Diese Anwendungen werden alle die Kommunikationsschicht zum Senden und Speichern von Daten verwenden.
Jeder Knoten wird jedoch bestimmte Kernanwendungen ausführen müssen, die für den Betrieb des Protokolls erforderlich sind. Dazu gehören zum Beispiel:
  • Die Wertübertragungsanwendung
  • Der verteilte Zufallszahlengenerator (kurz DRNG)
  • Das Fast Probabilistic Consensus (FPC)-Protokoll

Diese Anwendungen pflegen den Ledgerstatus, und andere Anwendungen können ebenfalls auf diesen Anwendungen arbeiten.

Anwendungen lesen und erstellen Nachrichten-Payloads, die auf der Kommunikationsschicht gespeichert sind. Wir entwickeln einen flexiblen Rahmen, um diese Interaktion zu vermitteln.

Objekte (Objects)

Die Grundeinheit der Daten im IOTA-Protokoll wird als Objekt bezeichnet. Jedes Objekt hat einen Typ und eine Größe. Der Typ ist in einem Schema genau definiert und gibt an, welche Felder das Objekt enthält und wie sie angeordnet sind. Der Typ bestimmt auch, wie ein Knoten das Objekt parst.
Nachricht ist ein Objekttyp. Ein weiteres Beispiel ist das generische Datenobjekt, bei dem es sich, wie der Name schon sagt, nur um Daten handelt. Jeder Knoten führt eine Liste der Objekttypen, die er erkennt und zu parsen weiß.
Wie bei Nachrichten können Objekte ein Nutzlastfeld enthalten. Eine Payload muss immer mit einem anderen Objekt gefüllt werden. Beim Parsen eines Objekts parst ein Knoten seine Nutzlast entsprechend seinem Typ. Wenn der Knoten den Typ nicht kennt, behandelt er die Payload wie ein generisches Datenobjekt. Ein Objekttyp kann verlangen, dass eine Payload einen bestimmten Typ hat. Über Payloads können Objekte ineinander verschachtelt werden, wodurch eine sehr flexible Plattform entsteht.
Um im Message-Gewirr zu klatschen und gespeichert werden zu können, muss jedes Objekt innerhalb einer Message gekapselt werden, entweder direkt als Payload oder indirekt als Payload eines anderen Objekts. Informell kann eine Nachricht mit dem Nutzlasttyp X als X-Nachricht bezeichnet werden.
Beispielsweise kann eine Lieferkettenanwendung einen Objekttyp namens „Zustellung“ definieren. Die Nutzlast eines Zustellobjekts könnte zwei verschiedene Objekttypen unterstützen: Paket und Empfang. Beim Senden eines Pakets kann ein Benutzer eine Zustellnachricht (eine Nachricht mit einem Zustellobjekt) ausgeben, die ein Paketobjekt enthält, das das Paket beschreibt. Jedes Mal, wenn jemand das Paket empfängt, kann er eine Zustellnachricht mit einem Empfangsobjekt ausgeben, das den Hash des Paketobjekts auflistet.
deutsch iota update
Jeder, der die Auslieferungsanwendung nicht verwendet, könnte einfach alle Auslieferungsobjekte als generische Daten behandeln.
Allerdings muß jeder bestimmte Kernobjekttypen erkennen, die von den Kernanwendungen verwendet werden. Zu den Kernobjekttypen gehören:
  • Wert-Objekte
  • Einwände gegen FPC-Stellungnahme
  • DRNG-Objekte
  • Salzdeklaration-Objekte
  • Generische Datenobjekte

Wie bereits erwähnt, können Nachrichten, die diese Objekte enthalten, jeweils als Wertnachrichten, FPC-Nachrichten usw. bezeichnet werden.
Alle Objekttypen enthalten eine Versionsnummer, so dass jede Anwendung aktualisiert werden kann. Die Versionsnummer einer Meldung gibt an, welche Version des IOTA-Protokolls die Meldung verwendet. Wir gehen davon aus, dass es das IOTA-Protokoll noch eine Weile geben wird und sich wahrscheinlich von Zeit zu Zeit ändern wird. Anhand der Versionsnummern können die Knoten die Interoperabilität zwischen diesen verschiedenen Versionen verwalten.

Die Wertübertragungsanwendung (Value Transfer Application)

Die wichtigste Kernanwendung ist die Werttransferanwendung, die Mittel bewegt und den Ledgerstand aktualisiert. Diese Anwendung verwendet Wertobjekte. Jedes Wertobjekt referenziert zwei andere Wertobjekte, und so bilden Wertobjekte ein zusätzliches Dreieck über dem Nachrichten-Dreieck, das so genannte Werte-Dreieck.

In diesem Werte-Wirrwarr stellen die Referenzen eine „Genehmigung“ dar und zeichnen die Ergebnisse der FPC-Abstimmungen auf. Grob gesagt werden alle von FPC abgelehnten Wertobjekte im Werte-Wirrwarr verwaist. Wir trennen das Wert- und das Nachrichten-Wirrwarr, um die unschuldigen Daten zu reduzieren, die in diesem Prozess verloren gehen.

Jedes Wertobjekt hat eine Nutzlast, die nur einen Objekttyp namens Transaktion unterstützt. Eine Transaktion enthält die Input-Transaktionen, die Output-Adressen und Salden, den Mana-Empfänger, eine Nutzlast und eine Signatur. Da wir ein UTXO-Schema verwenden, macht der Begriff Transaktion Sinn: UTXO steht für Nicht ausgegebene (TX) Transaktions-Ausgabe.

iota value transaction deutsch

Die Nutzlast einer Transaktion kann eine Vielzahl von Objekttypen wie z.B. intelligente Verträge unterstützen. Da die Nutzlast unterzeichnet wird, ist sie grundsätzlich Teil der Transaktion. Nach dem UTXO-Schema kommt es zu Konflikten zwischen verschiedenen Transaktionen, die die gleichen Inputs verbrauchen. Daher kommt es zu Konflikten zwischen zwei ansonsten identischen Transaktionen, wenn sie unterschiedliche Nutzlasten haben. Die Nutzlast ist also inhärent an die Ausgaben gebunden. Diese Funktionalität ermöglicht eine Vielzahl von Anwendungen, die auf der Wertübertragungsanwendung aufbauen.

Betrachten Sie das Beispiel der Lieferanwendung. Wenn der Empfänger für das gelieferte Paket zahlen muss, könnte das Empfangsobjekt in der Payload der Zahlungstransaktion enthalten sein. Dann würde der Zahlungsbeleg den Zustellnachweis enthalten, und entweder sind beide oder keiner von beiden in dem Gewirr enthalten.

Glossar der Begriffe

Wir nehmen nun ein Glossar der neuen Definitionen in dieses Dokument auf.

  • Anwendungsschicht: Die oberste Schicht, die alle Anwendungen beherbergt
  • Kern-Anwendung: Eine Anwendung, die von allen Benutzern ausgeführt werden muss
  • Kommunikationsschicht: Die Schicht, die sich mit Nachrichten und dem Nachrichtengewirr befasst
  • Kern-Objekttyp: Ein Objekttyp, der von allen Benutzern geparst werden muß
  • Generisches Datenobjekt: Der grundlegendste Objekttyp. Alle nicht erkannten Datenobjekte werden so behandelt
  • Netzwerkschicht: Die grundlegendste Schicht, die die Verbindungen und den Klatsch zwischen Nachbarn verwaltet
  • Nachricht: Der Objekttyp, über den zwischen Nachbarn getratscht wird. Alle geklatschten Informationen sind in einer Nachricht enthalten
  • Nachrichten-Verwirrung: Die Sammlung aller Nachrichten
  • Objekt: Die grundlegendste Informationseinheit des IOTA-Protokolls. Jedes Objekt hat einen Typ und eine Größe und enthält Daten
  • Nutzlast: Ein Feld in einem Objekt, das nur von einem anderen Objekt gefüllt werden kann
  • Verwicklung: Eine Append only-Datenstruktur, bei der jedes Objekt auf zwei andere Objekte verweist
  • Transaktion: Die Payload eines Wertobjekts. Sie enthält die Angaben zu einem Geldtransfer
  • Wertobjekt: Das Grundobjekt der Wertübertragungsanwendung
  • Werteverwirrung: Die Sammlung aller Wertobjekte
  • Wertübertragungsanwendung: Die Anwendung, die den Zustand des Ledgers aufrechterhält
  • Versionsnummer: Gibt das korrekte Format jedes Typs an

Von admin

Ein Gedanke zu „Ein Leitfaden zur bevorstehenden IOTA 2.0 (Koordizid)-Terminologie“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.