Skalierung
Übersicht zur Skalierung
Da die Anzahl der Personen, die Ethereum nutzen, gewachsen ist, hat die Blockchain bestimmte Kapazitätsgrenzen erreicht. Dies hat die Kosten für die Nutzung des Netzwerks in die Höhe getrieben und den Bedarf an „Skalierungslösungen“ geschaffen. Es werden mehrere Lösungen erforscht, getestet und implementiert, die unterschiedliche Ansätze verfolgen, um ähnliche Ziele zu erreichen.
Das Hauptziel der Skalierbarkeit besteht darin, die Transaktionsgeschwindigkeit (schnellere Endgültigkeit) und den Transaktionsdurchsatz (höhere Anzahl von Transaktionen pro Sekunde) zu erhöhen, ohne die Dezentralisierung oder Sicherheit zu opfern. Auf der Layer 1 (L1) Ethereum-Blockchain führt eine hohe Nachfrage zu langsameren Transaktionen und unrentablen Gaspreisen. Die Erhöhung der Netzwerkkapazität in Bezug auf Geschwindigkeit und Transaktionsdurchsatz ist grundlegend für die sinnvolle und massenhafte Akzeptanz von Ethereum.
Während Geschwindigkeit und Transaktionsdurchsatz wichtig sind, ist es unerlässlich, dass Skalierungslösungen, die diese Ziele ermöglichen, dezentral und sicher bleiben. Die Eintrittsbarriere für Knotenbetreiber niedrig zu halten, ist entscheidend, um eine Entwicklung hin zu zentralisierter und unsicherer Rechenleistung zu verhindern.
Konzeptionell kategorisieren wir die Skalierung zunächst entweder als Onchain-Skalierung oder als offchain-Skalierung.
Voraussetzungen
Sie sollten ein gutes Verständnis aller grundlegenden Themen haben. Die Implementierung von Skalierungslösungen ist fortgeschritten, da die Technologie weniger praxiserprobt ist und weiterhin erforscht und entwickelt wird.
Onchain-Skalierung
Die Onchain-Skalierung erfordert Änderungen am Ethereum-Protokoll (Layer 1 ). Lange Zeit wurde erwartet, dass das Sharding der Blockchain Ethereum skalieren würde. Dies hätte bedeutet, die Blockchain in diskrete Teile (Shards) aufzuteilen, die von Teilmengen von Validatoren verifiziert werden. Die Skalierung durch Layer 2 (L2) Rollups hat sich jedoch als primäre Skalierungstechnik durchgesetzt. Dies wird durch die Hinzufügung einer neuen, günstigeren Form von Daten unterstützt, die an Ethereum-Blöcke angehängt werden und speziell dafür entwickelt wurden, Rollups für Benutzer günstig zu machen.
Sharding
Sharding ist der Prozess der Aufteilung einer Datenbank. Teilmengen von Validatoren wären für einzelne Shards verantwortlich, anstatt das gesamte Ethereum im Auge zu behalten. Sharding stand lange Zeit auf der Ethereum-Roadmap und sollte einst vor dem Merge zu Proof-of-Stake (PoS) ausgeliefert werden. Die rasante Entwicklung von Layer-2-Rollups und die Erfindung von Danksharding (das Hinzufügen von Blobs mit Rollup-Daten zu Ethereum-Blöcken, die von Validatoren sehr effizient verifiziert werden können) haben jedoch dazu geführt, dass die Ethereum-Community eine Rollup-zentrierte Skalierung anstelle einer Skalierung durch Sharding bevorzugt. Dies wird auch dazu beitragen, die Konsenslogik von Ethereum einfacher zu halten.
Offchain-Skalierung
Offchain-Lösungen werden separat vom Layer-1-Mainnet implementiert – sie erfordern keine Änderungen am bestehenden Ethereum-Protokoll. Einige Lösungen, bekannt als „Layer-2“-Lösungen, leiten ihre Sicherheit direkt vom Layer-1-Ethereum-Konsens ab, wie z. B. Optimistic Rollups, Zero-Knowledge-Rollups oder Zustandskanäle. Andere Lösungen beinhalten die Erstellung neuer Chains in verschiedenen Formen, die ihre Sicherheit unabhängig vom Mainnet ableiten, wie z. B. Sidechains, Validiums oder Plasma-Chains. Diese Lösungen kommunizieren mit dem Mainnet, leiten ihre Sicherheit jedoch anders ab, um eine Vielzahl von Zielen zu erreichen.
Layer-2-Skalierung
Diese Kategorie von offchain-Lösungen leitet ihre Sicherheit vom Ethereum Mainnet ab.
Layer 2 ist ein Sammelbegriff für Lösungen, die entwickelt wurden, um bei der Skalierung Ihrer Anwendung zu helfen, indem Transaktionen außerhalb des Ethereum Mainnets (Layer 1) abgewickelt werden, während gleichzeitig das robuste dezentrale Sicherheitsmodell des Mainnets genutzt wird. Die Transaktionsgeschwindigkeit leidet, wenn das Netzwerk ausgelastet ist, was die Benutzererfahrung für bestimmte Arten von Dezentralen Anwendungen (Dapps) verschlechtert. Und je stärker das Netzwerk ausgelastet ist, desto mehr steigen die Gaspreise, da die Absender von Transaktionen versuchen, sich gegenseitig zu überbieten. Dies kann die Nutzung von Ethereum sehr teuer machen.
Die meisten Layer-2-Lösungen konzentrieren sich auf einen Server oder einen Server-Cluster, von denen jeder als Knoten, Validator, Betreiber, Sequencer, Blockproduzent oder mit einem ähnlichen Begriff bezeichnet werden kann. Abhängig von der Implementierung können diese Layer-2-Knoten von den Einzelpersonen, Unternehmen oder Entitäten betrieben werden, die sie nutzen, oder von einem Drittanbieter oder von einer großen Gruppe von Einzelpersonen (ähnlich dem Mainnet). Im Allgemeinen werden Transaktionen an diese Layer-2-Knoten übermittelt, anstatt direkt an Layer 1 (Mainnet) gesendet zu werden. Bei einigen Lösungen fasst die Layer-2-Instanz sie dann in Gruppen zusammen, bevor sie auf Layer 1 verankert werden, wonach sie durch Layer 1 gesichert sind und nicht mehr geändert werden können. Die Details, wie dies geschieht, variieren erheblich zwischen verschiedenen Layer-2-Technologien und -Implementierungen.
Eine spezifische Layer-2-Instanz kann offen sein und von vielen Anwendungen gemeinsam genutzt werden, oder sie kann von einem Projekt bereitgestellt werden und ausschließlich der Unterstützung ihrer eigenen Anwendung dienen.
Warum wird Layer 2 benötigt?
- Erhöhte Transaktionen pro Sekunde verbessern die Benutzererfahrung erheblich und reduzieren die Netzwerküberlastung im Ethereum Mainnet.
- Transaktionen werden zu einer einzigen Transaktion an das Ethereum Mainnet zusammengefasst (Rollup), was die Gasgebühren für Benutzer senkt und Ethereum für Menschen überall inklusiver und zugänglicher macht.
- Jegliche Updates zur Skalierbarkeit sollten nicht auf Kosten der Dezentralisierung oder Sicherheit gehen – Layer 2 baut auf Ethereum auf.
- Es gibt anwendungsspezifische Layer-2-Netzwerke, die ihre eigenen Effizienzen mitbringen, wenn sie mit Vermögenswerten in großem Maßstab arbeiten.
Rollups
Rollups führen die Transaktionsausführung außerhalb von Layer 1 durch und dann werden die Daten auf Layer 1 gepostet, wo ein Konsens erzielt wird. Da Transaktionsdaten in Layer-1-Blöcke aufgenommen werden, ermöglicht dies, dass Rollups durch die native Ethereum-Sicherheit gesichert werden.
Es gibt zwei Arten von Rollups mit unterschiedlichen Sicherheitsmodellen:
- Optimistic Rollups: Gehen standardmäßig davon aus, dass Transaktionen gültig sind, und führen Berechnungen über einen nur im Falle einer Anfechtung durch. Mehr zu Optimistic Rollups.
- Zero-Knowledge-Rollups: Führen Berechnungen offchain durch und übermitteln einen an die Chain. Mehr zu Zero-Knowledge-Rollups.
Zustandskanäle
Zustandskanäle nutzen Multisig-Verträge, um es Teilnehmern zu ermöglichen, schnell und frei offchain zu transagieren und dann die Endgültigkeit mit dem Mainnet abzurechnen. Dies minimiert Netzwerküberlastung, Gebühren und Verzögerungen. Die beiden Arten von Kanälen sind derzeit Zustandskanäle und Zahlungskanäle.
Erfahren Sie mehr über Zustandskanäle.
Sidechains
Eine Sidechain ist eine unabhängige EVM-kompatible Blockchain, die parallel zum Mainnet läuft. Diese sind über Zwei-Wege-Brücken mit Ethereum kompatibel und laufen unter ihren eigenen gewählten Konsensregeln und Blockparametern.
Erfahren Sie mehr über Sidechains.
Plasma
Eine Plasma-Chain ist eine separate Blockchain, die in der Ethereum-Haupt-Chain verankert ist und Betrugsnachweise (wie Optimistic Rollups) verwendet, um Streitigkeiten zu schlichten.
Erfahren Sie mehr über Plasma.
Validium
Eine Validium-Chain verwendet Gültigkeitsbeweise wie Zero-Knowledge-Rollups, aber die Daten werden nicht auf der Haupt-Layer-1-Ethereum-Chain gespeichert. Dies kann zu 10.000 Transaktionen pro Sekunde pro Validium-Chain führen, und mehrere Chains können parallel betrieben werden.
Erfahren Sie mehr über Validium.
Warum werden so viele Skalierungslösungen benötigt?
- Mehrere Lösungen können dazu beitragen, die Gesamtüberlastung in jedem Teil des Netzwerks zu reduzieren und auch Single Points of Failure zu verhindern.
- Das Ganze ist mehr als die Summe seiner Teile. Verschiedene Lösungen können existieren und harmonisch zusammenarbeiten, was einen exponentiellen Effekt auf die zukünftige Transaktionsgeschwindigkeit und den Transaktionsdurchsatz ermöglicht.
- Nicht alle Lösungen erfordern die direkte Nutzung des Ethereum-Konsensalgorithmus, und Alternativen können Vorteile bieten, die sonst schwer zu erreichen wären.
Lernen Sie besser visuell?
Beachten Sie, dass die Erklärung im Video den Begriff „Layer 2“ verwendet, um sich auf alle offchain-Skalierungslösungen zu beziehen, während wir „Layer 2“ als eine offchain-Lösung differenzieren, die ihre Sicherheit durch den Layer-1-Mainnet-Konsens ableitet.
Weiterführende Literatur
- Eine Rollup-zentrierte Ethereum-Roadmap (opens in a new tab) Vitalik Buterin
- Aktuelle Analysen zu Layer-2-Skalierungslösungen für Ethereum (opens in a new tab)
- Bewertung von Ethereum-Layer-2-Skalierungslösungen: Ein Vergleichsrahmen (opens in a new tab)
- Ein unvollständiger Leitfaden zu Rollups (opens in a new tab)
- Ethereum-basierte ZK-Rollups: Weltklasse (opens in a new tab)
- Optimistic Rollups vs. ZK-Rollups (opens in a new tab)
- Warum Rollups + Daten-Shards die einzige nachhaltige Lösung für hohe Skalierbarkeit sind (opens in a new tab)
- Welche Art von Layer 3s machen Sinn? (opens in a new tab)
- Datenverfügbarkeit oder: Wie Rollups lernten, sich keine Sorgen mehr zu machen und Ethereum zu lieben (opens in a new tab)
- Der praktische Leitfaden zu Ethereum-Rollups (opens in a new tab)
Kennen Sie eine Community-Ressource, die Ihnen geholfen hat? Bearbeiten Sie diese Seite und fügen Sie sie hinzu!
Tutorials: Skalierbare Layer 2s auf Ethereum erstellen
- All you can cache – Wie man einen Caching-Vertrag erstellt und verwendet, um Aufrufdaten-Kosten bei Rollups zu reduzieren.
- Kurze ABIs zur Optimierung von Aufrufdaten – Wie man kürzere ABIs verwendet, um die Kosten für Aufrufdaten bei Layer-2-Transaktionen zu reduzieren.