Kurz erklärt: Sharding ist ein Skalierungsverfahren, bei dem eine Blockchain in mehrere parallele Teilnetze (Shards) aufgeteilt wird, sodass Transaktionen und Daten nicht von jedem Node vollständig, sondern verteilt verarbeitet werden können.
Herkunft des Begriffs
Der Begriff Sharding stammt aus der Datenbanktechnik, wo eine große Datenbank horizontal in kleinere, eigenständig verwaltbare Teile („Shards“, englisch für Scherben) zerlegt wird. Im Blockchain-Kontext wurde das Konzept ab etwa 2015/2017 diskutiert, um das sogenannte Skalierungs-Trilemma zwischen Dezentralität, Sicherheit und Durchsatz zu adressieren.
Das Grundproblem klassischer Blockchains: Jeder vollständige Node muss jede Transaktion verarbeiten und speichern. Das begrenzt den Durchsatz auf die Kapazität eines einzelnen Teilnehmers. Sharding bricht diese Anforderung auf, indem es die Last auf mehrere Gruppen von Knoten verteilt.
Funktionsweise
Beim Sharding wird das Netzwerk in mehrere Shards unterteilt, die jeweils einen Teil der Transaktionen und des Zustands verwalten. Zentrale Elemente sind:
- State Sharding: Jeder Shard speichert nur einen Teil des gesamten Netzwerkzustands (Konten, Guthaben, Vertragsdaten).
- Transaction Sharding: Transaktionen werden je nach Zugehörigkeit einem Shard zugeordnet und dort parallel verarbeitet.
- Beacon- oder Koordinationsschicht: Eine übergeordnete Kette koordiniert die Shards, verteilt Validatoren und sichert die Gesamtkonsistenz.
Eine zentrale Herausforderung ist die Cross-Shard-Kommunikation: Transaktionen, die Konten in verschiedenen Shards betreffen, müssen über Shard-Grenzen hinweg koordiniert werden, was zusätzliche Komplexität und Latenz erzeugt.
Sicherheitsaspekte
Ein zentrales Sicherheitsthema ist der sogenannte Single-Shard-Takeover: Wenn ein Angreifer genügend Validatoren eines einzelnen Shards kontrolliert, könnte er diesen manipulieren, obwohl er nur einen Bruchteil des Gesamtnetzes stellt. Zur Abwehr werden Validatoren typischerweise zufällig und regelmäßig neu auf die Shards verteilt (Random Sampling), damit ein gezielter Angriff auf einen einzelnen Shard erschwert wird.
Sharding steht damit in einem Spannungsverhältnis zur Sicherheit: Je kleiner die einzelnen Shards, desto höher der Durchsatz, aber desto geringer die Zahl der absichernden Validatoren pro Shard.
Beispiele und aktuelle Entwicklung
| Netzwerk | Ansatz |
|---|---|
| Near Protocol | Dynamisches Sharding („Nightshade“) |
| Zilliqa | Frühe Umsetzung von Transaction Sharding |
| Elrond/MultiversX | Adaptives State Sharding |
| Ethereum | Ansatz verschoben in Richtung Data Sharding / Danksharding |
Bei Ethereum wurde die ursprünglich geplante Aufteilung der Ausführung in viele Shards zugunsten einer rollup-zentrierten Strategie angepasst. Stattdessen konzentriert man sich auf sogenanntes Data Sharding (Danksharding), das günstigen Datenspeicher für Rollups bereitstellen soll. Ein erster Schritt dahin war die Einführung von Blobs mit dem Dencun-Upgrade 2024.
Häufige Fragen
Was löst Sharding technisch?
Es hebt die Anforderung auf, dass jeder Node jede Transaktion verarbeiten muss, indem die Last auf parallele Teilnetze verteilt wird, und erhöht so den möglichen Durchsatz.
Was ist Cross-Shard-Kommunikation?
Die Koordination von Transaktionen, die Konten in unterschiedlichen Shards betreffen. Sie ist notwendig, aber technisch anspruchsvoll und erzeugt zusätzliche Latenz.
Warum ist ein einzelner Shard ein Sicherheitsrisiko?
Weil ein Shard von weniger Validatoren gesichert wird als das Gesamtnetz. Zufällige Neuzuteilung der Validatoren soll gezielte Übernahmen einzelner Shards verhindern.
Setzt Ethereum Sharding um?
Ethereum hat den Fokus von Ausführungs-Sharding auf Data Sharding (Danksharding) verschoben, das günstigen Datenspeicher für Rollups bereitstellen soll.
Woher stammt der Begriff Sharding?
Aus der Datenbanktechnik, wo eine große Datenbank horizontal in kleinere, eigenständige Teile (Shards) aufgeteilt wird.
Zusammenfassung
Sharding teilt eine Blockchain in parallele Teilnetze (Shards) auf, sodass nicht jeder Node jede Transaktion verarbeiten muss und der Durchsatz steigt. Der Begriff stammt aus der Datenbanktechnik; zentrale Herausforderungen sind Cross-Shard-Kommunikation und die Sicherheit einzelner Shards. Netzwerke wie Near, Zilliqa und MultiversX setzen Sharding um, während Ethereum den Fokus auf Data Sharding für Rollups verlagert hat.
Weiterführende Quellen
- ethereum.org: Danksharding / Skalierung: ethereum.org
- Wikipedia: Sharding (Datenbank): de.wikipedia.org