Ich weiß, ich weiß. Es gibt eine Menge Krypto-Projekte, viele Konsensmechanismen: basierend auf Arbeit und Eigentum, Gold, Öl, gebackenen Brötchen (ja, so etwas gibt es). Was bringen uns noch zusätzliche? Das möchte ich nach dem Lesen der "vereinfachten" technischen Dokumentation des Projekts *Constellation* besprechen.). Natürlich ist dies keine vollständige Beschreibung des Algorithmus, aber mich interessiert die Meinung der Habr-Community, ob ein solcher Konsens sinnvoll ist oder ob er überflüssig ist?
Es folgt nicht viel Text, daher, wenn Sie einfach nur "pfui, wie lange kann man über Krypto reden" schreiben möchten, bitte ich Sie, sich zurückzuhalten. Wenn Sie an neuen Entwicklungen im Bereich verteilter Systeme interessiert sind und etwas in den Kommentaren zu teilen haben, lade ich Sie herzlich ein, weiterzulesen.
P.S. Ich bin nicht der Autor der Technologie und kann für eine vollständige Übermittlung des Wesens nicht garantieren, daher freue ich mich über Kommentare mit Korrekturen, falls welche kommen.
Die Evolution von synchronen zu asynchronen Konsensmechanismen
Knoten werden mittels eines deterministischen Prozesses ausgewählt (derselbe, der auch in DHTs verwendet wird, zum Beispiel in BitTorrent), der dynamisch die Aufgaben der Knoten zur "Erleichterung" der Validierung regelt oder, was verständlicher ist, um Konsens zu erreichen. Wir wählen Gruppen von 3 Knoten aus und führen Konsensrunden parallel durch, sodass ein Knoten in mehreren Blöcken als Facilitator fungieren kann. Dies ermöglicht es uns, Transaktionen asynchron zu verarbeiten, was im Wesentlichen bedeutet, dass mehrere Blockchains gleichzeitig erstellt werden. Dieser Prozess ähnelt einem Netz, das aus vielen Fäden besteht, im Gegensatz zu Knoten, die im Laufe der Zeit eine einzige Kette bilden. Asynchrone oder parallele Verarbeitung sind die Grundlage skalierbaren Programmierens, da sie die Nutzung aller Computerressourcen ermöglicht und die Gesamtrechenleistung beschleunigt. Dieses Netzwerk wird als gerichteter azyklischer Graph oder DAG in der Informatik bezeichnet.

Die Bandbreite der linearen Blockchain im Vergleich zum multiplikativen Effekt des DAG, bei dem wir mehrere parallele Blockchains haben.

Geometrische Darstellung der linearen Blockchain gegenüber DAG. Schwarze Punkte sind Blöcke, weiße Punkte sind Knoten.
Wir verwenden 3 Knoten in jedem Konsensus-Runde, da uns dies einige interessante mathematische Prozesse ermöglicht, um über den Zustand nachzudenken, indem eine "Oberflächenebene" über die Daten in Form von Dreiecken mit Verbindungen geformt wird. Dann nutzt das Protokoll die Dreiecke, um die optimale Fläche "zusammenzunähen", die keine überflüssigen oder widersprüchlichen Daten enthält und so wenige Dreiecke wie möglich hat. Algorithmisch entspricht dies einem "minimalen Schnitt" im Graphen, und mathematisch einer Ableitung oder Optimierungsfunktion (unter denen die Funktion den kürzesten Weg findet, den sie über die Fläche kreuzen kann). Dieser kürzeste Weg entspricht einer optimalen Speicherung von Daten (Transaktionen) in einer Gruppe von Datenbankverfügbarkeiten. Konfligierende dreieckige "Fliesen", damit die Ereignisfläche eben und konfliktfrei ist.

Geometrische Umsetzung der Konfliktentdeckung / -verarbeitung. Ein konfliktierender Block erzeugt eine zusätzliche Oberflächenfliese. Wir entfernen die zusätzliche Oberflächenfliese, um die Fläche eben (= konfliktfrei) zu halten.
Konsens, basierend auf Reputation
In einem optimalen dezentralisierten P2P-System für Reputation sollte jeder Knoten in der Lage sein, sein Vertrauen zu anderen Knoten unabhängig zu bestimmen. Unser System verwendet ein spezielles Modell, das transitive Beziehungen oder Beziehungen umfasst, die ein Knoten zu anderen Knoten hat, um eine globale Bewertung zuzuweisen. "Du bist so gut wie dein Unternehmen." Das Endergebnis ist eine "Verzerrung" oder ein Gradient, der auf dem transitive Vertrauen oder Reputation aller Knoten in einem $DAG oder festgelegten Kanal basiert. Dies kann als eine Reibe oder ein Käsehobel angesehen werden, der über die "Oberflächenebene" streicht und auswählt, welche "dreieckigen Fliesen" wegzuwischen und welche zu belassen sind. So entfernt die Logik des Konflikts tatsächlich die "dreieckigen Fliesen".

DAG mit konfliktierender Fliese, die durch einen "gekrümmten" Raum führt, der einem Gradient ähnlich wie ein Käsehobel ist und darauf abzielt, die konfliktierende Fliese zu entfernen oder zu "löschen".
Teilweise/volle Skalierung des Knotens
In der Netzwerkteorie ist die optimale Verteilung in der Regel als "ohne Skalierung" bekannt, die als hierarchische Anordnung mit großen zentralen Knoten beschrieben werden kann, die viele kleinere periphere Knoten steuern. Diese Verteilung ist in der Natur zu sehen und vor allem im Internet. Constellation nutzt diese Architektur für das "Skalieren", also zur Erhöhung der Bandbreite oder Breite unseres Graphen.

Effekt der hierarchischen Zergliederung. Wir können weitere Knoten hinzufügen, wobei wir die Bandbreite erhöhen.
Hylochain – Unterstützung für kanalisierte Anwendungen.
Unser Ansatz zur Unterstützung von Anwendungen kann als "dezentrale Plattform für intelligente Verträge" betrachtet werden. Anstelle eines zentralen Netzwerks, das die gesamte Logik ausführt und alle Daten der Anwendung verarbeitet, koordiniert Constellation die Anwendungsdaten mit "Staatskanälen", die als Fernsehsender betrachtet werden können, die alle Daten aus dem staatlichen System übertragen. Jeder Staatskanal kann seine eigene Prüflogik implementieren, wodurch das Oracle-Problem durch Durchlaufprüfung der Authentizität der Datenproduzenten und transitive Prüfung der speziellen Staatsysteme gelöst wird. Netzwerke von Staatskanälen bieten parallele Unterstützung für Anwendungen und verkürzen die Entscheidungszeit, die in einem Netzwerk mit intelligenten Verträgen durch den traditionellen synchronen Konsens begrenzt ist.

Zwei Staatskanäle, die über das Netzwerk $DAG "kompatibel" sind. Sie können interagieren oder interpretiert werden, da sie beide mit $DAG durch den Einsatz hybrider $DAG + Kanal-Knoten "integriert" sind.
Der Grund, warum es Hylochain genannt wird, liegt darin, dass wir in unserem Ansatz zur Unterstützung von Anwendungen ein funktionales Programmiermodell namens Recursion Schemes verwendet haben, um eine MapReduce-Schnittstelle zu erstellen. Insbesondere können die Rekursionstypen Hylomorphismus und Metamorphismus integriert werden, um überprüfbare Anfragen und Streaming-Verbindungen über Standardkanäle zu erstellen, indem algebraische Datentypen geprüft werden, ebenso wie die op-Codes für Smart Contracts. Das Endergebnis ist eine funktionale MapReduce-Schnittstelle, die den Dateningenieuren vertraut ist und mit bestehender Big-Data-Technologie kompatibel ist.

Hylomorphe und metamorphe Standardkanäle im Vergleich. Im metamorphosen Zustand werden die Daten aus zwei Standardkanälen in einem Block im Metakanal gesendet. Im Hilo nehmen wir den vorherigen Zustand des Kanals und verwenden ihn, um zwei andere Kanäle abzurufen (eine spezifische Frage zu stellen), und speichern dann das Ergebnis der Abfrage in einem Block.
Tokenomics und ihre Verbindung zu Hylochain
Sobald der Standardkanal erstellt ist, kann er in den $DAG-Kanal integriert werden, jedoch mit der ACI- oder Application Chain Interface-Schnittstelle. Diese Schnittstelle ist einfach ein JSON-Objekt mit Konfigurationsinformationen und einem öffentlichen Schlüssel, der mit dem Kanal selbst verbunden ist. Der Grund, warum wir den öffentlichen Schlüssel mit dem Standardkanal verknüpfen, besteht darin, einen Broker-Mechanismus für die Daten des Standardkanals zu schaffen. Wenn der Standardkanal bereitgestellt wird, konfigurieren die Entwickler selbst, wie die Zahlungen aus dem $DAG-Netzwerk zwischen Knoten und Betreibern verteilt werden.

Ein Stream zum Kauf von Zugriff auf Informationen oder zur Modifikation von Informationen. Die Anfrage wird an den $DAG gesendet, die Mittel werden auf das Konto des Kanals überwiesen, das Ergebnis wird an den Käufer gesendet, und die Prüfziffer der Transaktion wird an das $DAG-Netzwerk gesendet, das dann die Mittel für den Standardkanal freigibt.
Quelle: habr.com
