Zum Hauptinhalt springen

2 Posts getaggt mit "engineering"

Alle Tags anzeigen

Optimism-Architektur

· 5 Minuten Lesezeit
Tian Pan
Community Hacker

Optimism ist ein EVM-äquivalentes, Optimistic-Rollup-Protokoll, das zur Skalierung von Ethereum entwickelt wurde. Die Skalierung von Ethereum bedeutet, die Anzahl der nützlichen Transaktionen zu erhöhen, die das Ethereum-Netzwerk verarbeiten kann. Optimistic Rollup ist eine Skalierungstechnik der Schicht 2 (Layer 2), die die Rechen- und Speicherkapazität von Ethereum erhöht, ohne dabei Sicherheit oder Dezentralisierung zu opfern. EVM-Äquivalenz bedeutet die vollständige Einhaltung der im Ethereum Yellow Paper beschriebenen Zustandsübergangsfunktion, der formalen Definition des Protokolls.

Optimistic Rollup funktioniert, indem mehrere Transaktionen zu einer einzigen Transaktion gebündelt werden, die dann von einem Smart Contract im Ethereum-Netzwerk verifiziert wird. Dieser Prozess wird als „Rolling Up“ bezeichnet, da die einzelnen Transaktionen zu einer größeren Transaktion zusammengefasst werden, die an das Ethereum-Netzwerk übermittelt wird. Der Begriff „optimistisch“ bezieht sich darauf, dass das System davon ausgeht, dass Transaktionen gültig sind, sofern nicht das Gegenteil bewiesen wird, was eine schnellere und effizientere Verarbeitung von Transaktionen ermöglicht.

Gesamtarchitektur

Optimism-Architektur

op-node + op-geth

Der Rollup-Knoten kann entweder im Validator- oder im Sequencer-Modus ausgeführt werden:

  1. Validator (auch Verifier genannt): Ähnlich wie beim Betrieb eines Ethereum-Knotens simuliert er L2-Transaktionen lokal, ohne Ratenbegrenzung. Er ermöglicht es dem Validator auch, die Arbeit des Sequencers zu überprüfen, indem er Output Roots neu ableitet und sie mit denen vergleicht, die vom Sequencer übermittelt wurden. Im Falle einer Diskrepanz kann der Validator einen Fault Proof durchführen.
  2. Sequencer: Der Sequencer ist ein privilegierter Akteur, der L2-Transaktionen von L2-Benutzern empfängt, entsprechende L2-Blöcke erstellt und diese dann an einen Data Availability Provider (über einen Batcher) übermittelt. Er übermittelt auch Output Roots an L1. Derzeit gibt es nur einen Sequencer im gesamten Stack, und hier kritisieren die Leute, dass der OP-Stack nicht dezentralisiert ist.

op-batcher

Der Batch-Submitter, auch als Batcher bezeichnet, ist die Entität, die die L2-Sequencer-Daten an L1 übermittelt, um sie für Verifier verfügbar zu machen.

op-proposer

Der Proposer generiert und übermittelt L2-Output-Checkpoints an den L2-Output-Oracle-Vertrag auf Ethereum. Nachdem die Finalisierungsperiode abgelaufen ist, ermöglichen diese Daten Abhebungen.

Sowohl Batcher als auch Proposer übermitteln Zustände an L1. Warum sind sie getrennt?

Der Batcher sammelt und übermittelt Transaktionsdaten in L1 in einem Batch, während der Proposer die Commitments (Output Roots) an den Zustand von L2 übermittelt, was die Ansicht der L2-Kontozustände finalisiert. Sie sind entkoppelt, damit sie parallel für mehr Effizienz arbeiten können.

contracts-bedrock

Verschiedene Verträge für die Interaktion von L2 mit L1:

  • OptimismPortal: Ein Feed von L2-Transaktionen, die als Smart-Contract-Aufrufe im L1-Zustand entstanden sind.
  • Batch-Inbox: Eine L1-Adresse, an die der Batch-Submitter Transaktions-Batches übermittelt.
  • L2-Output-Oracle: Ein Smart Contract, der L2 Output Roots für Abhebungen und Fault Proofs speichert.

Optimism-Komponenten

Wie man einzahlt?

Wie man abhebt?

Feedback zur Optimism-Dokumentation

Das Verständnis des OP-Stacks kann aufgrund einer Reihe von Faktoren herausfordernd sein. Ein solcher Faktor sind die zahlreichen Komponenten, die in Code und Dokumentation mehrfach mit leicht unterschiedlichen Namen bezeichnet werden. Zum Beispiel können die Begriffe „op-batcher“ und „batch-submitter“ / „verifiers“ und „validators“ austauschbar verwendet werden, was zu Verwirrung und Schwierigkeiten beim Verständnis der genauen Funktion jeder Komponente führt.

Eine weitere Herausforderung beim Verständnis des OP-Stacks ist die sich entwickelnde Architektur, die dazu führen kann, dass einige Designelemente im Laufe der Zeit veraltet sind. Leider wird die Dokumentation möglicherweise nicht immer aktualisiert, um diese Änderungen widerzuspiegeln. Dies kann zu weiterer Verwirrung und Schwierigkeiten beim Verständnis des Systems führen, da Benutzer möglicherweise mit veralteten oder ungenauen Informationen arbeiten.

Um diese Herausforderungen zu überwinden, ist es wichtig, alle verfügbaren Dokumentationen sorgfältig zu prüfen, Konzepte an allen Stellen konsistent zu halten und über alle Änderungen oder Aktualisierungen des OP-Stacks auf dem Laufenden zu bleiben. Dies kann zusätzliche Forschung und Zusammenarbeit mit anderen Benutzern oder Entwicklern erfordern, ist aber unerlässlich, um dieses komplexe System vollständig zu verstehen und effektiv zu nutzen.

Einführung in Optimism: Ethereum mit Optimistic Rollup skalieren

· 7 Minuten Lesezeit
Dora Noda
Software Engineer

Optimism ist ein Optimistic Rollup-Protokoll, das eine Lösung zur Skalierung von Ethereum bietet, ohne dabei Sicherheit oder Dezentralisierung zu opfern. Das Protokoll erreicht dies, indem es die Rechen- und Speicherkapazität von Ethereum erhöht, während es maximal kompatibel mit der bestehenden Ethereum-Infrastruktur bleibt.

Einführung in Optimism: Ethereum mit Optimistic Rollup skalieren

Grundlagen

Was ist Ethereum-Skalierbarkeit?

Ethereum-Skalierbarkeit bezieht sich auf die Fähigkeit des Ethereum-Netzwerks, eine größere Anzahl nützlicher Transaktionen zu verarbeiten. Die derzeit begrenzten Ressourcen von Ethereum, insbesondere Bandbreite, Rechenleistung und Speicher, erschweren die Verarbeitung eines hohen Transaktionsvolumens. Rechenleistung und Speicher sind die größten Engpässe, die zu extrem hohen Gebühren führen. Um Ethereum zu skalieren und Gebühren zu senken, ist es notwendig, Bandbreite, Rechenleistung und Speicher besser zu nutzen.

Was ist ein Optimistic Rollup?

Ein Optimistic Rollup ist eine Layer-2-Skalierungstechnik, die die Off-Chain-Ausführung von Transaktionen ermöglicht, während Sicherheit und Dezentralisierung erhalten bleiben. Transaktionsdaten werden On-Chain übermittelt, aber Off-Chain ausgeführt. Im Falle eines Fehlers bei der Off-Chain-Ausführung kann ein Fehlerbeweis (Fault Proof) On-Chain eingereicht werden, um den Fehler zu korrigieren und Benutzergelder zu schützen. Dieser Ansatz ähnelt dem Gang vor Gericht nur bei einem Streitfall und der On-Chain-Ausführung von Transaktionen nur bei einem Fehler.

Was ist EVM-Äquivalenz?

EVM-Äquivalenz bezieht sich auf die vollständige Einhaltung der im Ethereum Yellow Paper beschriebenen Zustandsübergangsfunktion, die die formale Definition des Ethereum-Protokolls darstellt. Ein EVM-äquivalentes Rollup-Protokoll hält sich an den Ethereum-Standard über alle EVMs hinweg und stellt sicher, dass Smart-Contract-Entwickler Code einmal schreiben und überall bereitstellen können. Dies bedeutet, dass jeder für das Ethereum-Mainnet geschriebene Smart Contract mit geringfügigen oder gar keinen Änderungen auf einem EVM-äquivalenten Rollup-Protokoll bereitgestellt werden kann.

Optimism = EVM-äquivalent + Optimistic Rollup + Ethereum-Skalierung

Optimism ist ein EVM-äquivalentes Optimistic Rollup-Protokoll, das entwickelt wurde, um Ethereum zu skalieren und gleichzeitig maximale Kompatibilität mit der bestehenden Ethereum-Infrastruktur zu gewährleisten.

Sicherheit

Um Ethereum ohne Sicherheitseinbußen zu skalieren, bewahrt Optimism drei kritische Eigenschaften von Ethereum Layer 1: Lebendigkeit (Liveness), Verfügbarkeit (Availability) und Gültigkeit (Validity).

  1. Lebendigkeit (Liveness) – Jeder kann die Rollup-Kette jederzeit durch das Senden von Transaktionen erweitern.
    • Transaktionen können über den Sequencer oder direkt auf Layer 1 an die Rollup-Kette gesendet werden. Der Sequencer bietet Transaktionen mit geringer Latenz und niedrigen Kosten, während das direkte Senden von Transaktionen an Layer 1 Zensurresistenz bietet.
  2. Verfügbarkeit (Availability) – Jeder kann die Rollup-Kette herunterladen.
    • Alle Informationen, die zur Ableitung der Kette erforderlich sind, sind in Layer-1-Blöcken eingebettet. Solange die Layer-1-Kette verfügbar ist, ist es also auch der Rollup.
  3. Gültigkeit (Validity) – Alle Transaktionen werden korrekt ausgeführt und alle Abhebungen korrekt verarbeitet.
    • Der Rollup-Zustand und die Abhebungen werden in einem L1-Vertrag namens L2OutputOracle verwaltet, der garantiert, dass nur korrekte (d. h. gültige) Rollup-Block-Hashes finalisiert werden, vorausgesetzt, es gibt einen einzigen ehrlichen Prüfer (Honest Verifier). Wenn ein ungültiger Block-Hash auf Layer 1 behauptet wird, wird ein ehrlicher Prüfer dessen Ungültigkeit beweisen und eine Kaution (Bond) gewinnen.

Optimism erzwingt die Gültigkeit eines Rollups durch Fehlerbeweise (Fault Proofs). Gültigkeitsbeweise (Validity Proofs) können ebenfalls integriert werden, sobald sie praktikabel sind.

Netzwerk-Teilnehmer

Es gibt drei Akteure in Optimism: Benutzer, Sequencer und Prüfer (Verifiers).

Optimism Netzwerk-Teilnehmer

Benutzer

Im Mittelpunkt des Netzwerks stehen Benutzer, die beliebige Transaktionen auf L2 einzahlen oder abheben können, indem sie Daten an einen Vertrag im Ethereum-Mainnet senden. Sie können EVM-Smart Contracts auf Layer 2 nutzen, indem sie Transaktionen an die Sequencer senden und den Status der Transaktionen über Block-Explorer einsehen, die von den Netzwerk-Prüfern bereitgestellt werden.

Sequencer

Der Sequencer ist der primäre Blockproduzent. Es kann einen Sequencer oder viele geben, die ein Konsensprotokoll verwenden. Für Version 1.0.0 gibt es nur einen Sequencer, der derzeit unter der Aufsicht der Optimism Foundation betrieben wird. Im Allgemeinen kann in Spezifikationen „der Sequencer“ als Platzhalter für das Konsensprotokoll verwendet werden, das von mehreren Sequencern betrieben wird.

Der Sequencer

  1. akzeptiert Off-Chain-Transaktionen von Benutzern,
  2. beobachtet On-Chain-Transaktionen (hauptsächlich Einzahlungsereignisse von L1),
  3. konsolidiert beide Arten von Transaktionen in L2-Blöcke mit einer spezifischen Reihenfolge und verbreitet konsolidierte L2-Blöcke an L1, indem er zwei Dinge als Calldata an L1 übermittelt:
    1. die in Schritt 1 akzeptierten ausstehenden Off-Chain-Transaktionen und
    2. ausreichende Informationen über die Reihenfolge der On-Chain-Transaktionen, um die Blöcke aus Schritt 3 erfolgreich, rein durch Beobachtung von L1, zu rekonstruieren.

Der Sequencer bietet auch bereits in Schritt 3 Zugriff auf Blockdaten, sodass Benutzer bei Bedarf den Echtzeit-Status vor der L1-Bestätigung abrufen können.

Prüfer (Verifiers)

Prüfer (Verifiers) dienen zwei Zwecken:

  1. Bereitstellung von Rollup-Daten für Benutzer und
  2. Überprüfung der Rollup-Integrität und Anfechtung ungültiger Behauptungen.

Um die Netzwerksicherheit zu gewährleisten, muss es mindestens einen ehrlichen Prüfer geben, der die Integrität der Rollup-Kette überprüfen und Blockchain-Daten für Benutzer bereitstellen kann.

Wichtige Interaktionsdiagramme

Die folgenden Diagramme zeigen, wie Protokollkomponenten bei wichtigen Benutzerinteraktionen genutzt werden, um Kontext für die detaillierte Betrachtung einer bestimmten Komponentenspezifikation zu liefern.

Einzahlen und Transaktionen senden

Benutzer beginnen ihre L2-Reise oft mit der Einzahlung von ETH von L1. Sobald sie ETH zur Begleichung von Gebühren haben, beginnen sie, Transaktionen auf L2 zu senden. Das folgende Diagramm veranschaulicht diese Interaktion und alle wichtigen Optimism-Komponenten, die genutzt werden oder sollten:

Einzahlen und Transaktionen senden

Abheben

Abhebungen werden durch normale Transaktionen auf L2 initiiert, aber nach Ablauf der Streitbeilegungsfrist (Dispute Period) mittels einer Transaktion auf L1 abgeschlossen.

Diagramm der Abhebung

Fazit

Optimism ist ein Optimistic Rollup-Protokoll, das entwickelt wurde, um Ethereum zu skalieren und gleichzeitig maximale Kompatibilität mit der bestehenden Ethereum-Infrastruktur zu gewährleisten. Durch die Erhöhung der Rechen- und Speicherkapazität von Ethereum bietet es eine Lösung für die Verarbeitung einer größeren Anzahl nützlicher Transaktionen, ohne dabei Sicherheit oder Dezentralisierung zu opfern. Wenn Sie mehr über Optimism erfahren möchten, besuchen Sie bitte deren offizielle Spezifikationen. Mit seiner Einhaltung der Kernprinzipien von Ethereum und seiner Kompatibilität mit der bestehenden Infrastruktur ist Optimism bereit, ein wichtiger Akteur auf Ethereums Weg zu einem skalierbareren und effizienteren Netzwerk zu werden.

Sind Sie es leid, unzählige Stunden mit der Einrichtung und Wartung Ihres Nodes für Optimism Rollup zu verbringen? Wünschen Sie sich eine einfachere Möglichkeit, sich mit dem Netzwerk zu verbinden? Mit BlockEden.xyz Optimism RPC können Sie sich in wenigen Minuten mit dem Optimism Rollup verbinden! Verabschieden Sie sich von dem frustrierenden und zeitaufwändigen Prozess der Einrichtung und Wartung Ihres Nodes.

BlockEden.xyz Optimism RPC vereinfacht den Prozess der Verbindung zum Optimism Rollup, sodass Sie sich auf das Wesentliche konzentrieren können – die Entwicklung Ihres Projekts. Mit unserer benutzerfreundlichen Plattform können Sie sich schnell und mühelos mit dem Netzwerk verbinden und sparen so wertvolle Zeit und Ressourcen.

Unsere Plattform bietet eine problemlose Lösung für Entwickler, die die Vorteile von Optimism Rollup nutzen möchten, ohne den zeitaufwändigen Einrichtungs- und Wartungsaufwand. Unser Expertenteam stellt sicher, dass die Technologie immer auf dem neuesten Stand ist, sodass Sie sich auf die Stabilität und Zuverlässigkeit Ihrer Anwendung verlassen können.

Lassen Sie sich nicht von der Komplexität des Optimism Rollups davon abhalten, die bestmögliche Anwendung zu erstellen. Überlassen Sie BlockEden.xyz Optimism RPC die technischen Details, damit Sie sich auf das konzentrieren können, was Sie am besten können – Innovation und Kreation. Melden Sie sich bei BlockEden.xyz an oder probieren Sie es noch heute aus und erleben Sie die Vorteile nahtloser Konnektivität und erhöhter Effizienz!