Im Laufe der Jahre wurde die Anwendungskettentheorie auf verschiedene Weise implementiert. Der Bedarf an Modularität ist im Laufe der Zeit gestiegen, da Blockchain-Entwickler erkannt haben, dass ihre Plattformen effizienter skaliert werden können, indem sie einen Teil der mit dem Betrieb von dApps verbundenen Arbeit auslagern.

Ursprünglich nur souveränen Ketten vorbehalten, die häufig mit dem Interchain Stack erstellt wurden, umfasst die Entwicklung der Anwendungsketten nun Verbraucherketten, die Sicherheit vom Cosmos Hub leasen, sowie Rollups, die auf Layer-1-Ketten angewiesen sind, um einige Abwicklungs- und Überbrückungsarbeiten durchzuführen brillant. Diese Änderungen bringen unterschiedliche Sicherheitsannahmen und Probleme mit sich, die angegangen werden müssen. Celestia zielt darauf ab, ein spezielles Problem namens Datenverfügbarkeit zu lösen. Bevor wir jedoch erklären, wie dieses Problem mit Ihrem Projekt zusammenhängt, wollen wir versuchen, das neueste Schlagwort in Web3 zu verstehen: Modularität.

Die von Single-Layer-1-Ketten geleistete Arbeit, einschließlich Ethereum und souveränen #Cosmos -Ketten, kann grob in 4 Schichten unterteilt werden:

  • Die Ausführungsschicht verarbeitet Transaktionen und ist für die Aktualisierung des Status in der Kette verantwortlich. Beispiel: Aktualisieren Sie Ihr Wallet-Guthaben, wenn Ihnen ein Freund Token schickt.

  • Die Abwicklungsbrückenschicht ist dafür verantwortlich, die Transaktion abzuschließen bzw. zweifelsfrei zu bestätigen, dass die Transaktion gültig ist. Dies gilt insbesondere für die Zusammenfassung, auf die wir später eingehen werden. In letzter Zeit wird die Abwicklungsschicht häufiger als Brückenschicht betrachtet, die Rollups die Möglichkeit bietet, mit dem breiteren Blockchain-Netzwerk zu kommunizieren, während die Abwicklung selbst zu einem kontroverseren Thema geworden ist. In regulären Netzwerken wie der Cosmos Application Chain ist die Abwicklung kostenlos, da die Konsensschicht jede Transaktion effektiv validiert, bevor sie die Ausführungsschicht erreicht.

  • Auf der Konsensebene einigen sich mehrere Parteien darüber, was ein Block enthält und wie ihre Transaktionen angeordnet werden sollen.

  • Die Datenverfügbarkeitsschicht ist dafür verantwortlich, sicherzustellen, dass jeder Zugriff auf die richtigen Transaktionen hat, die an das Netzwerk übermittelt wurden. Wie wir später erläutern werden, benötigt die Abwicklungsschicht Zugriff auf diese Transaktionen, um zu überprüfen, ob die Ausführungsschicht ehrlich ist.

Im Kontext einer Cosmos SDK-basierten Kette (die über einen eigenen Satz von Validatoren verfügt und als souveräne Anwendungskette läuft) ist die Konsensschicht grundsätzlich für die Datenverfügbarkeit und die endgültige Abwicklung von Transaktionen verantwortlich. Für den Start einer souveränen Kette benötigen Sie jedoch eine Reihe von Validatoren und einen Proof-of-Stake-Token, es sei denn, Sie entscheiden sich für eine gemeinsame Sicherheitslösung wie Interchain Security. Zusätzlich zu den rechtlichen und betrieblichen Komplexitäten beim Starten einer Kette mit einem Token müssen auch Überlegungen zur Skalierbarkeit berücksichtigt werden.

Effiziente Skalierung durch Aggregation

Je größer das Web, desto offensichtlicher wird das Skalierbarkeitstrilemma. Auf den ersten Blick scheint es so, als müsste die Blockchain Abstriche bei der Netzwerksicherheit, dem Grad der Dezentralisierung oder der Anzahl der Transaktionen machen, die sie pro Sekunde verarbeiten kann. Für Ketten als Ganzes geht die Verbesserung einer Kette traditionell auf Kosten der anderen. Durch die Arbeit an modularen Protokollen können wir jedoch erkennen, dass einige Komponenten dieses Trilemmas spezifisch für jede Schicht im modularen Stapel sind.

Beispiel: Eine Ausführungsschicht, die Transaktionen akzeptiert und in Zustandsänderungen umwandelt, erfordert einen schnellen Durchsatz. Ob es dezentral und sicher ist, ist wohl irrelevant, solange es genügend dezentrale und sichere Abwicklungs-, Konsens- und Datenverfügbarkeitsschichten gibt, um zu garantieren und zu überprüfen, dass die richtigen Transaktionen ausgeführt werden. Ein gewisser Grad an Dezentralisierung auf der Ausführungsebene trägt zur Lebendigkeit des Netzwerks bei, ist aber nicht entscheidend, um jegliche Form von Fehlverhalten zu verhindern. Mit anderen Worten: Es hat keinen Einfluss auf die Vertrauensannahmen zum Netzwerk.

Mit einem modularen Blockchain-Stack können Entwickler den Großteil der für den Betrieb einer Blockchain erforderlichen Arbeit auslagern. Anwendungsentwickler sind vollständig für die Ausführungsschicht verantwortlich, was die Skalierbarkeit erhöht und die Entwicklungszeit erheblich verkürzt. Dies ist im Wesentlichen der Grund, warum Rollups derzeit so effektiv und beliebt sind. Rollup, oft auch als Layer 2 bezeichnet, ermöglicht es einem oder mehreren Servern, Transaktionen außerhalb der Kette auszuführen, ohne darauf warten zu müssen, dass ein langsamer Konsensalgorithmus sich auf den Inhalt eines Blocks einigt. Dies mag unsicher erscheinen, aber sie könnten dies ohne erhebliche Risiken tun, indem sie rechenintensive Gültigkeitsnachweise im Fall der sogenannten Zero-Knowledge (ZK)-Aggregation bereitstellen oder indem sie ein Zeitfenster bereitstellen, in dem Knoten, an denen Betreiber Beweise vorlegen können des Scheiterns als Beweis dafür, dass jemand unangemessen gehandelt hat, wie es bei der optimistischen Aggregation der Fall ist. Allerdings entsteht in diesem Rahmen ein neues Problem: die Frage der Datenverfügbarkeit.

Was ist ein Problem mit der Datenverfügbarkeit?

Wenn ein Benutzer eine Transaktion im Rollup einreicht, wird die Nachricht direkt an den Sequenzer gesendet, bei dem es sich im Allgemeinen nur um einen sehr schnellen Computer handelt, der diese Transaktionen über einen Off-Chain-Prozess stapelt. Nach der Komprimierung auf eine kleinere Größe wird der Stapel an eine Abwicklungsschicht wie Ethereum übermittelt. Aufgrund der hohen Nachfrage nach Blockspeicherplatz in diesen Netzwerken ist dies eine viel günstigere Lösung als die direkte Veröffentlichung einzelner Transaktionen auf der Abwicklungsschicht. Derzeit verwenden die meisten Aggregationen einen einzelnen Sequenzer (d. h. eine Entität, die die Sortierung durchführt), obwohl gemeinsame Sequenzer untersucht werden. Dies ist im Allgemeinen sicher, da Benutzer durch einen Gültigkeitsnachweis oder einen Fehlernachweis, der auf der Abwicklungsebene überprüft werden kann, garantieren können, dass die Ausführung einer Transaktion gültig ist. Die Aggregation bietet jedoch keine Garantie dafür, dass der Sequenzer ehrlich mit den übermittelten Transaktionen umgeht und an alle die gleichen Daten sendet.

Dies liegt in der Natur des Datenverfügbarkeitsproblems. Die Abwicklungsschicht oder jeder vollständige Knoten, der das Netzwerk beobachtet, hat die Aufgabe, die von der Aggregation geleistete Arbeit zu überprüfen. Dazu sind Transaktionsdaten erforderlich. Standardmäßig kann die Aggregation nicht einfach und kostengünstig nachweisen, dass der Sequenzer alle eingehenden Transaktionen in einem Block verarbeitet hat oder dass alle Transaktionen, die dem Block hinzugefügt wurden, öffentlich zugänglich sind. Infolgedessen können Sequencer vom Benutzer übermittelte Transaktionsdaten zensieren oder, schlimmer noch, verhindern, dass sie von der Abwicklungsschicht überprüft werden.

Obwohl diese Art der Zensur technisch gesehen auch auf einer regulären Blockchain stattfinden könnte, ist sie aufgrund der großen Anzahl von Validatoren in einem Proof-of-Stake-Netzwerk und der Tatsache, dass nur einer von ihnen ehrlich sein muss, praktisch unmöglich. Noch wichtiger ist jedoch, dass die Abwicklungsschicht keine Daten zur Verifizierung benötigt, da die Transaktion bereits durch den Konsensprozess abgewickelt wurde.

#Celestia Wie kann dieses Problem gelöst werden?

#Celestia ist eine Layer-1-Blockchain, die mit dem Cosmos SDK erstellt wurde und Datenverfügbarkeit als Aggregationsdienst bereitstellt. Am häufigsten empfängt das Celestia-Netzwerk alle eingehenden Benutzertransaktionen vom Sequenzer, obwohl es je nach Konfiguration des Rollups auch der erste Empfänger dieser Transaktionen sein kann, bevor sie zur Ausführung in das Rollup gelangen. Lassen Sie uns dies anhand eines Beispiels aus der Transaktionsperspektive erläutern. Wir gehen von einem fiktiven Netzwerk namens Roll Protocol aus, das als optimistisches Rollup auf Basis des Cosmos SDK aufgebaut ist.

  • Nehmen wir an, Sie verwenden Keplr, um über das Roll-Protokoll einige $ROLL-Token an Ihren Freund zu senden. Nach der Übermittlung wird die Sendetransaktion zunächst an den Sequenzer des Roll-Protokolls übertragen.

  • Der Sequenzer ist ein Computer, der einen Off-Chain-Prozess des Roll-Protokolls ausführt, der nun alle Transaktionen prüft und sie anhand des aktuellen Status des Roll-Protokolls testet, um festzustellen, ob sie tatsächlich gültig sind. Für die von Ihnen gesendete Nachricht wird überprüft, ob sie eine gültige Empfängeradresse enthält, ob Sie über genügend $ROLL-Tokens verfügen, um sie an Ihren Freund zu senden usw.

  • Gültige Transaktionen werden dann in einem Block gesammelt und vom Sequenzer ausgeführt, was bedeutet, dass Änderungen an seinem Speicher vorgenommen werden. Ihr Guthaben und das Ihres Freundes werden aktualisiert, um die umgetauschten Münzen widerzuspiegeln.

  • Dieser Block mit den Transaktionen wird dann vom Sequenzer an Celestia weitergegeben und unter dem Namensraum „Roll Protocol“ platziert, der eigentlich nur eine Bezeichnung ist, die die Datentrennung erleichtert. Validatoren im Celestia-Netzwerk einigen sich dann auf den Blockinhalt, der im Netzwerk finalisiert und an alle Knoten verteilt wird.

  • Gleichzeitig werden alle erfolgreichen Transaktionen, die Teil eines Blocks sind, vom Sequenzer in einen Stapel umgewandelt und an die Abwicklungsschicht übermittelt, bei der es sich normalerweise nur um einen Smart Contract auf einer Schicht-1-Kette wie Ethereum handelt. Die Abrechnungsschicht ist die Blockchain, an die ein Fehlernachweis gesendet wird, wenn jemand feststellt, dass eine bestimmte Transaktion ungültig ist (z. B. wenn Sie nicht über die Mittel verfügen, um Ihrem Freund einige Münzen zu senden). Aber wer macht diese Arbeit?

Andere vollständige Knoten, die von separaten dApps (z. B. DEXs) ausgeführt werden, führen ebenfalls Transaktionen gleichzeitig mit der Ausführung des Sequenzers aus. Dadurch bleiben sie immer auf dem Laufenden und können Ihnen beispielsweise Updates zu Ihrem Guthaben zukommen lassen. Darüber hinaus können sie vorab prüfen, ob Transaktionen ungültig sind. Wenn dies der Fall ist, wird der Abrechnungsschicht ein Fehlernachweis vorgelegt.

  • Sie erinnern sich vielleicht, dass es bei der optimistischen Aggregation ein Zeitfenster gibt, bevor ein Handel abgewickelt wird. Solange Sie der Entität vertrauen, die den vollständigen Knoten betreibt, kann die vorherige Überprüfung der Gültigkeit dieser vollständigen Knoten dazu beitragen, dass Benutzer Transaktionen als „endgültig“ betrachten, bevor sich das Optimismusfenster schließt. Wir nennen dieses System „minimiertes Vertrauen“, weil Sie nur wirklich darauf vertrauen müssen, dass das Netzwerk mindestens einen der vielen ehrlichen Knoten enthält, um das optimistische Zeitfenster zu überspringen.

  • Um zu testen, ob sich der Sequenzer falsch verhält, müssen vollständige Knoten sowie die Abwicklungsschicht auf einige in Celestia veröffentlichte Daten zugreifen, da der Sequenzer möglicherweise ungültige Transaktionen ausgeführt hat. Glücklicherweise hat das Celestia-Netzwerk einen Block veröffentlicht, der alle eingehenden Roll-Protokoll-Transaktionen enthält, die zuvor im Stapel enthalten waren, sodass wir zuversichtlich sind, dass wir über die Informationen verfügen, die wir benötigen, um bei Bedarf die Integrität des Bestellers nachzuweisen.

Es ist erwähnenswert, dass es Celestia egal ist, was jede Transaktion enthält. Tatsächlich kann es diese Transaktionen nicht einmal verstehen, da es auf Celestia keine Ausführungsumgebung gibt, die dieselbe Sprache verwendet. Durch die Trennung dieser Anliegen durch diesen modularen Stapel kann sich der Auftraggeber auf die schnelle Ausführung von Transaktionen konzentrieren, die Abwicklungsschicht kann sich auf Sicherheit konzentrieren und Überbrückungsfunktionen bereitstellen, und die Konsens- und Datenverfügbarkeitsschicht kann sich auf die Dezentralisierung konzentrieren. Dies verbessert die Skalierbarkeit und Optimierung erheblich, indem sichergestellt wird, dass jede für den Netzwerkbetrieb verantwortliche Unterkomponente hochspezialisiert ist.

Obwohl in unserem Beispiel Cosmos SDK-basierte Rollups verwendet werden, sind EVM-kompatible Rollups nicht ausgeschlossen. Celestia fungiert auch als Datenverfügbarkeitsschicht für das EVM-Ökosystem und ist wohl viel günstiger als Alternativen wie EIP-4844 (auch bekannt als Danksharding) auf Ethereum.

Vergleich von Aggregations- und Souveränketten

Die Erstellung von Rollups und die Nutzung des Celestia-Netzwerks bieten viele Vorteile. Wenn Sie bereits Interchain entwickeln, können Sie weiterhin die Tools und Software verwenden, mit denen Sie vertraut sind, und gleichzeitig den Durchsatz des Protokolls erhöhen, wodurch die Notwendigkeit von Validatoren im Netzwerk entfällt und Sie bei Bedarf sogar ohne Token starten können. Schauen wir uns einige der Unterschiede zwischen Gebäude-Rollups und souveränen App-Ketten an:

  • Skalierbarkeit und Effizienz: Rollups mit Celestia bieten im Allgemeinen eine größere Skalierbarkeit und Effizienz im Vergleich zu souveränen Cosmos SDK-Ketten. Dies liegt daran, dass Rollups den Großteil der Transaktionsverarbeitung auf Layer 2 verlagern, wodurch mehr Transaktionen schneller verarbeitet werden können, während Souveräne Ketten durch den Konsensalgorithmus einen Engpass haben. Wenn Ihre Anwendung eine große Anzahl von Transaktionen erfordert, ist ein Rollup möglicherweise besser geeignet als eine Souveräne Kette. In diesem Fall muss Ihre Anwendung Token auf der Abwicklungsebene ausgeben, was je nach gewählter Kette teuer sein kann, obwohl Celestia die Menge der zu veröffentlichenden Daten reduziert.

  • Lebendigkeit und Dezentralisierung: Rollups werden normalerweise mit einem einzigen Sequenzer ausgeführt. Derzeit wird an der Entwicklung effizienter gemeinsam genutzter Sequenzer geforscht, aber diese Arbeit ist noch auf dem neuesten Stand und könnte die Effizienz des Poolings verringern. Derzeit gibt es keine Dezentralisierung auf der Ausführungsebene. Wenn der Sequenzer offline geht, besteht daher ein größeres Risiko, dass die Redundanz und Lebendigkeit des Rollups beeinträchtigt wird. Redundante Mechanismen können entworfen werden, aber Rollup-Entwickler übernehmen die Komplexität der Infrastruktur, die typischerweise von Validatoren auf einer souveränen Blockchain gemeinsam genutzt wird.

  • Sicherheit: Rollups nutzen die Sicherheit der zugrunde liegenden Abwicklungsschicht, während die souveräne Kette die Sicherheit ihres eigenen Netzwerks gewährleisten muss. Wenn Sie sich für die Verwendung einer souveränen Cosmos SDK-Kette entscheiden, sollten Sie sicherstellen, dass Sie über einen großen und vielfältigen Satz an Validatoren verfügen, um Ihr Netzwerk zu sichern, sowie über eine ausreichend große Marktkapitalisierung (falls Sie Proofs verwenden), um Ihr Netzwerk zu sichern Token. Mit Rollups können Sie die Sicherheit der Abrechnungsschicht übernehmen, was hilfreich sein kann, wenn es schwierig ist, einige der Anforderungen Ihrer Appchain selbst zu implementieren.

  • Komplexität: Der Aufbau eines Rollup-Systems kann komplexer sein als der Aufbau einer souveränen Kette mit dem Cosmos SDK. Dies liegt an der Notwendigkeit, die Interaktionen zwischen Rollup, Celestia und der Abrechnungsschicht zu verwalten. Wenn Ihr Team keine Aggregationserfahrung hat oder sich nicht mit der zusätzlichen Komplexität auseinandersetzen möchte, ist eine Souveräne Kette möglicherweise die bessere Wahl. Allerdings vereinfacht die Verwendung des Rollkit-Frameworks den Entwicklungsprozess erheblich, sodass Sie Rollups relativ einfach erstellen können.

  • Interoperabilität: Cosmos SDK-Ketten profitieren vom Inter-Blockchain Communication (IBC)-Protokoll, das die Interoperabilität verschiedener Ketten ermöglicht. Während Rollups mit anderen Ketten interagieren können, hängen die Details von der jeweiligen Implementierung ab und können komplexer sein. In den meisten Fällen nutzt die Aggregation eine Siedlungsschicht als Überbrückungsknotenpunkt.