Kernaussagen
Sharding teilt eine Blockchain in kleinere Segmente, sogenannte Shards, auf und ermöglicht es, Transaktionen parallel statt nacheinander zu verarbeiten.
Jeder Shard fungiert als unabhängige Datenbank, die ihre eigenen Teilmengen an Transaktionen verarbeitet und dadurch die Last auf einzelnen Knoten reduziert.
Sharding kann den Transaktionsdurchsatz erhöhen, die Hardwareanforderungen für Betreiber von Knoten senken und die Effizienz des gesamten Netzwerks verbessern.
Zu den Trade-offs zählen zusätzliche Komplexität, das Risiko von Angriffen auf einzelne Shards und Herausforderungen bei Transaktionen, die sich über mehrere Shards erstrecken.
Ethereum hat im März 2024 über das Cancun-Upgrade eine Zwischenform von Sharding namens Proto-Danksharding (EIP-4844) umgesetzt, wodurch die Gebühren für Layer-2-Netzwerke gesenkt werden. Full Danksharding bleibt auf der Roadmap.
Einführung
Die Blockchain-Technologie bietet eine dezentrale, transparente Möglichkeit, Transaktionen aufzuzeichnen. Sie hat jedoch eine bekannte Einschränkung: Skalierbarkeit. Wenn ein Netzwerk wächst und mehr Nutzer Transaktionen senden, kann es langsamer werden und teurer in der Nutzung. Manchmal wird das als Blockchain-Trilemma beschrieben – damit ist die Schwierigkeit gemeint, Skalierbarkeit, Sicherheit und Dezentralisierung gleichzeitig zu erreichen.
Sharding ist ein Ansatz, der versucht, die Skalierbarkeitsseite dieses Problems anzugehen. Ursprünglich war Sharding eine Datenbank-Verwaltungstechnik; mehrere Blockchain-Projekte haben sie jedoch angepasst, damit Netzwerke mehr Transaktionen verarbeiten können, ohne auf Dezentralisierung zu verzichten.
Was ist Sharding?
Sharding ist der Prozess, bei dem ein Blockchain-Netzwerk in kleinere Teilbereiche, sogenannte Shards, aufgeteilt wird. Jeder Shard enthält seinen eigenen Anteil der Netzwerkdaten und verarbeitet seine eigenen Transaktionen unabhängig. Anstatt zu verlangen, dass jeder Knoten jede Transaktion im gesamten Netzwerk speichert und verifiziert, ist jeder Knoten nur für genau einen Shard zuständig.
Das ist ein deutlicher Bruch mit der Art und Weise, wie die meisten Blockchains standardmäßig funktionieren. In einer typischen Blockchain müssen alle Knoten alle Transaktionen über das gesamte Netzwerk hinweg verarbeiten und speichern. Dieser Ansatz ist zwar sicher, begrenzt jedoch, wie schnell das Netzwerk arbeiten kann, da alle Knoten im Sync bleiben müssen.
Wie funktioniert Sharding?
Um Sharding zu verstehen, hilft es, sich anzusehen, wie Daten normalerweise in einer Blockchain verarbeitet werden – und dann, wie Sharding diese Abläufe verändert.
Sequentielle vs. parallele Verarbeitung
In einer typischen Blockchain verarbeiten alle Knoten Transaktionen nacheinander, also in einer sequenziellen Reihenfolge. Das bedeutet, dass die Geschwindigkeit des gesamten Netzwerks davon begrenzt wird, was jeder einzelne Knoten verarbeiten kann. Wenn eine Blockchain wächst, wird das zu einem Engpass.
Sharding führt eine parallele Verarbeitung ein. Anstatt dass alle Knoten an denselben Transaktionen arbeiten, übernehmen verschiedene Gruppen von Knoten gleichzeitig unterschiedliche Shards. So kann das Netzwerk viel mehr Transaktionen gleichzeitig verarbeiten.
Horizontale Partitionierung
Sharding nutzt eine Technik namens horizontale Partitionierung, bei der Daten in Zeilen statt in Spalten aufgeteilt werden. Jeder Shard hält einen vollständigen Ausschnitt der Transaktionsdaten für die Transaktionen, die er verarbeitet. Das bewahrt die Datenintegrität, weil jeder Shard vollständige Aufzeichnungen für seinen Teil des Netzwerks hat.
Horizontale Partitionierung wird in Blockchain-Systemen bevorzugt, weil sie Dezentralisierung unterstützt. Knoten müssen nur die Daten eines einzelnen Shards halten und verifizieren, was den Speicher- und Rechenaufwand reduziert, der nötig ist, um am Netzwerk teilzunehmen.
Vertikale Partitionierung
Bei der vertikalen Partitionierung werden die Daten in Spalten statt in Zeilen aufgeteilt. Jede Partition in der vertikalen Partitionierung enthält einen Teil der Daten für jede Entität – oder den gesamten Datensatz – jedoch nur für eine bestimmte Menge an Attributen.
Was sind die Vorteile von Sharding?
Sharding bietet mehrere potenzielle Vorteile für Blockchain-Netzwerke:
Höherer Durchsatz: Indem Transaktionen parallel über mehrere Shards verarbeitet werden, kann ein ge-sharded Netzwerk deutlich mehr Transaktionen pro Sekunde verarbeiten als ein Single-Chain-Design.
Geringere Hardwareanforderungen: Da jeder Knoten nur Daten für einen einzigen Shard speichert, werden sowohl die Speicher- als auch die Rechenanforderungen reduziert. Das macht es einfacher und günstiger, einen Knoten zu betreiben, was die Dezentralisierung des Netzwerks erhöhen kann.
Bessere Skalierbarkeit: Ein ge-sharded Netzwerk kann theoretisch mehr Shards hinzufügen, wenn die Nachfrage wächst. So kann das Netzwerk skalieren, ohne dass die Leistung proportional abnimmt.
Diese Vorteile sind in unterschiedlichem Maße theoretisch. Wie stark ein echtes Netzwerk tatsächlich profitiert, hängt davon ab, wie Sharding umgesetzt wird und welche Trade-offs akzeptiert werden.
Was sind die Grenzen von Sharding?
Sharding bringt neue Herausforderungen mit sich, die es in nicht-ge-shardeten Blockchains nicht gibt:
Angriffe auf einen einzelnen Shard: Ein Angreifer benötigt deutlich weniger Ressourcen, um einen einzelnen Shard zu übernehmen, als um das gesamte Netzwerk anzugreifen. Dadurch sind einzelne Shards anfälliger für eine Art von 51%-Angriff.
Komplexität über Shards hinweg: Transaktionen, die Daten aus zwei verschiedenen Shards betreffen, sind schwierig zu verwalten. Wenn ein Shard während einer Transaktion den Status eines anderen Shards nicht korrekt nachverfolgt, könnten potenziell Fehler wie Doppelausgaben auftreten.
Datenverfügbarkeit: Wenn die Knoten, die für einen bestimmten Shard zuständig sind, offline gehen, können die Daten dieses Shards vorübergehend nicht verfügbar sein. Das stört dann das Netzwerk.
Synchronisationsaufwand: Die Koordination der Shards erhöht die Komplexität im Netzwerkdesign. Fehler in der Verwaltung von Shards könnten zu Inkonsistenzen oder Performance-Problemen führen.
Diese Trade-offs erklären, warum Sharding technisch anspruchsvoll in der Umsetzung ist und warum viele Netzwerke schrittweise (inkrementell) vorgehen.
Wie wird Sharding in Ethereum verwendet?
Die Skalierungs-Roadmap von Ethereum hat sich seit den ersten Diskussionen über Sharding als Teil des Upgrades „Ethereum 2.0“ erheblich weiterentwickelt. Anstatt die Execution-Sharding direkt umzusetzen, wechselte die Ethereum Foundation zu einer rollup-zentrierten Strategie: Layer-2-Rollups übernehmen die Transaktionsausführung außerhalb der Kette (off-chain) und stellen Daten auf dem Ethereum-Mainnet bereit.
Im Rahmen dieser Strategie führte Ethereum im März 2024 beim Cancun-Upgrade Proto-Danksharding (EIP-4844) ein. EIP-4844 führte einen neuen Transaktionstyp namens „blob-carrying transaction“ ein. Blobs ermöglichen es Layer-2-Rollups, große Mengen an Daten zu deutlich geringeren Kosten als zuvor an Ethereum zu posten. Das liegt daran, dass Blob-Daten vorübergehend gespeichert werden (etwa 18 Tage) und nicht von der Ethereum Virtual Machine verarbeitet werden.
Full Danksharding ist die nächste Phase auf der Ethereum-Roadmap. Es erweitert das Blob-System um „Data Availability Sampling“, eine Technik, mit der Knoten überprüfen können, dass Daten verfügbar sind, ohne sie vollständig herunterladen zu müssen. Dadurch könnte Ethereum viel mehr Blobs pro Block unterstützen, wodurch die Kosten für Layer-2-Nutzer deutlich sinken. Zum Zeitpunkt der Erstellung dieses Textes wurde Full Danksharding jedoch noch nicht umgesetzt.
FAQ
Was ist Sharding in einer Blockchain?
Sharding teilt eine Blockchain in kleinere, unabhängige Abschnitte, die Shards heißen. Jeder Shard verarbeitet seine eigenen Transaktionen und speichert seine eigenen Daten. So können verschiedene Teile des Netzwerks parallel arbeiten, wodurch die Gesamtzahl der Transaktionen steigt, die das Netzwerk bewältigen kann.
Ist Ethereum derzeit ge-shardet?
Ethereum hat eine Zwischenform von Sharding implementiert, die Proto-Danksharding (EIP-4844) heißt und im Cancun-Upgrade im März 2024 eingeführt wurde. Dadurch können Layer-2-Netzwerke Transaktionsdaten in kostengünstigen Blobs statt in teurem Calldata posten. Full Danksharding, das Data-Availability-Sampling über viele Shards hinweg ermöglichen würde, befindet sich weiterhin in Entwicklung.
Was sind die wichtigsten Risiken von Sharding?
Zu den Haupt-Risiken gehören Angriffe auf einzelne Shards: Dabei kann ein Angreifer einen einzelnen Shard mit weniger Ressourcen ins Visier nehmen als bei einem Angriff auf das gesamte Netzwerk. Außerdem kann die Komplexität von Transaktionen über Shards hinweg problematisch sein: Wenn sie nicht sorgfältig gehandhabt werden, können Edge Cases wie Doppelausgaben auftreten. Es können auch Probleme mit der Datenverfügbarkeit entstehen, wenn die Knoten, die einen bestimmten Shard verwalten, offline gehen.
Wie unterscheidet sich Sharding von der Nutzung von Layer-2-Lösungen?
Sharding ist eine Layer-1-Skalierungstechnik, die verändert, wie die Baseline-Blockchain Daten speichert und verarbeitet. Die Skalierbarkeit einer Blockchain kann auch über Layer-2-Lösungen adressiert werden, die Transaktionen off-chain durchführen und Zusammenfassungen (Summaries) an die Hauptkette zurückposten. In der aktuellen Roadmap von Ethereum funktionieren beide Ansätze zusammen: Sharding (über Blobs) senkt die Kosten für das Posten von Layer-2-Daten in Ethereum, während Rollups die Transaktionsausführung off-chain übernehmen.
Abschließende Gedanken
Sharding ist eine vielversprechende Technik, um die Skalierbarkeit von Blockchains zu verbessern, bringt jedoch echte Trade-offs in Bezug auf Komplexität und Sicherheit mit sich. Die Idee hat sich von einem theoretischen Vorschlag zu einer praktischen schrittweisen Umsetzung entwickelt – insbesondere durch EIP-4844 bei Ethereum. Während die Forschung weitergeht und mehr Netzwerke Sharding-Designs erproben, wird sich die Technologie vermutlich weiterentwickeln. Ob eine bestimmte Implementierung erfolgreich ist, hängt davon ab, wie gut sie den Durchsatz, die Sicherheit und die Dezentralisierung über die Zeit hinweg ausbalanciert.
Weiterführende Lektüre
Blockchain Layer 1 vs. Layer 2 Skalierungslösungen
Was ist Ethereum und wie funktioniert es?
Optimistische vs. Zero-Knowledge-Rollups: Was ist der Unterschied?
Was ist das Ethereum Cancun-Upgrade?
Blockchain-Skalierbarkeit: Sidechains und Payment Channels
Haftungsausschluss: Dieser Inhalt wird Ihnen „wie besehen“ („as is“) zu allgemeinen Informations- und/oder Bildungszwecken bereitgestellt, ohne jegliche Zusicherung oder Gewähr. Er stellt keine Finanz-, Rechts- oder sonstige professionelle Beratung dar und soll auch nicht den Kauf eines bestimmten Produkts oder einer bestimmten Dienstleistung empfehlen. Sie sollten sich von geeigneten professionellen Beratern beraten lassen. Wenn der Inhalt von einem Dritten beigesteuert wurde, beachten Sie bitte, dass die dort geäußerten Ansichten dem jeweiligen Drittanbieter gehören und nicht notwendigerweise die Ansichten der Binance Academy widerspiegeln. Die Preise digitaler Vermögenswerte können volatil sein. Der Wert Ihrer Investition kann steigen oder fallen, und Sie erhalten möglicherweise nicht den investierten Betrag zurück. Sie sind allein verantwortlich für Ihre Anlageentscheidungen, und die Binance Academy haftet nicht für Verluste, die Ihnen entstehen könnten. Weitere Informationen finden Sie in unseren Nutzungsbedingungen, der Risiko-Warnung sowie den Binance-Academy-„Terms“.
