Was ist Sharding?

03.05.2021 - 5 Minuten Lesedauer

Mangelnde Skalierbarkeit ist eines der Haupthindernisse für einen umfassenderen Einsatz der Blockchain-Technologie in vielen Sektoren. Mit Hilfe von Scharding kann die Skalierbarkeit und Effizienz von Blockchains verbessert werden, wodurch sie im Vergleich zu den etablierten zentralen Lösungen an Wettbewerbsfähigkeit gewinnen.

Überblick

Öffentliche, genehmigungsfreie Blockchains sind verteilte Ledger, die Daten jeder Art dezentral und sicher speichern können. Das Fehlen einer zentralen Instanz im Netzwerk bedeutet, dass alle Daten von jedem Knoten im System verarbeitet werden müssen und alle neuen Informationen erst dann zum Ledger hinzugefügt werden, wenn die Knoten zu einer Einigung gekommen sind. Auf diese Weise stellt das Netzwerk sicher, dass die gespeicherten Daten korrekt sind und nicht durch einen oder mehrere schädliche Knoten beschädigt werden können.

Die dezentrale Natur verleiht der Blockchain-Technologie ihr attraktives Merkmal- nämlich Resilienz gegenüber böswilligen Datenmodifikationen. Sie schafft aber auch eine der grössten Hürden auf dem Weg zu einem umfassenderen Einsatz der Blockchain-Technologie – mangelnde Skalierbarkeit.

Je mehr Knoten zum System hinzugefügt werden und die Datenmenge im Ledger wächst, desto mehr nimmt die Latenz oder Langsamkeit des Netzwerks zu. Stellen Sie sich ein dezentralisiertes Zahlungssystem vor. Jedes Mal, wenn eine neue Transaktion verarbeitet werden muss, müssen die Informationen auf allen Knoten des Netzwerks aktualisiert werden, was Zeit in Anspruch nimmt. Zentralisierte Netzwerke sind hier klar im Vorteil. Das Visa-Zahlungssystem nimmt beispielsweise für sich in Anspruch, mehr als 65.000 Transaktionen pro Sekunde verarbeiten zu können.

Sharding ist eine Lösung für das Skalierbarkeits-Problem von Blockchains. Dabei wird die Datenbank in sogenannte «Shards» unterteilt, wobei jede Shard nur einen Teil der im Netzwerk gespeicherten Daten verarbeitet. Auf diese Weise kann die Bearbeitungszeit deutlich reduziert werden.

Funktionsweise

Beim Sharding werden die Netzwerkknoten in Gruppen aufgeteilt und die im Netzwerk gespeicherten Informationen wiederum zwischen diesen Gruppen, d. h. die Datenbank wird in kleinere «Teile» (Scherben bzw. Shards) gesplittet. Jede Shard speichert Daten mit bestimmten Eigenschaften, damit die Shards voneinander unterschieden werden können.

Eine Möglichkeit des Shardings besteht darin, die Datenbank horizontal aufzuteilen, d. h. sie in Zeilen zu unterteilen. Eine Zeilen enthält dann Shards, die bestimmte Arten von Informationen speichern können. Shards können beispielsweise nach Arten der von ihnen gehosteten digitalen Vermögenswerte oder Smart Contracts getrennt werden.

Eine andere Möglichkeit des Shardings ist die Organisation von Netzwerkknoten, sodass ein zentrales Relay-Netzwerk entsteht, über das alle anderen «Seitennetzwerke» oder Shards miteinander kommunizieren können. Auf diese Weise können Shards Informationen aller Art speichern und verarbeiten, die ihre Funktionen benötigen, während diese Informationen anderen Shards bei Bedarf über ein Relay zur Verfügung gestellt werden können.

Es ist wichtig, dass Shards auf die eine oder andere Weise miteinander kommunizieren können, damit jeder Nutzer des Netzwerks Zugriff auf alle in der Blockchain gespeicherten Informationen erhalten kann.

Einsatzbereich

Einer der am häufigsten diskutierten Anwendungsfälle des Sharding in der Blockchain-Industrie ist wohl das Sharding von Ethereum. Ether, die native Währung des Ethereum-Netzwerks, ist nach Bitcoin derzeit die zweitgrösste Kryptowährung mit einer täglichen Transaktionsmenge von mehr als 1 Million. Der Einsatz von Shard-Chains auf Ethereum ist Teil des Upgrades auf Ethereum 2.

Gemäss der Roadmap werden die Ethereum-Shards um eine Koordinationsschicht – die Beacon Chain – organisiert, die im Dezember 2020 eingeführt wurde. Die Beacon Chain ist eine Proof-of-Stake-Blockchain, also spielt sie eine Rolle bei einer weiteren wichtigen Änderung auf Ethereum – der Einführung vom Staking. Ethereum-Shards verwenden Proof-of-Stake, um sicher zu funktionieren. Man geht davon aus, dass Ethereum in der Lage sein wird, 64 Blockchains oder Shards aufzunehmen, wodurch die Kapazität deutlich erweitert und die Effizienz verbessert wird. Die Shards werden über die Beacon Chain koordiniert. Derzeit ist die Beacon Chain vom Ethereum Mainnet getrennt und kann keine Smart Contracts abwickeln. Zukünftig ist geplant, beide miteinander zu verbinden.

Ein weiterer Fall, bei dem Sharding zur Verbesserung der Skalierbarkeit eingesetzt wird, ist Polkadot, ein Blockchain-Projekt, das auf die Schaffung eines vernetzten Ökosystems von Blockchains abzielt. Polkadot ist vom Konzept her als Netzwerk mit Shards geplant, die um ein Hauptnetzwerk namens Relay Chain organisiert sind. Die Shards werden als Parachains bezeichnet. Polkadot plant, zunächst etwa 20 Parachains aufzunehmen. Die Zahl der Parachanins soll nach und nach auf 100 erhöht werden. Zusätzlich zu den Parachains wird die Relay Chain sogenannte «Parathreads» haben, Slots, die von mehreren Blockchains dynamisch geteilt werden können. Bislang betreibt Polkadot noch keine aktiven Parachains. Im August 2020 wurde ein Testnetz für das Inter-Shard-Kommunikationsprotokoll – Rococo – eingeführt. Der erste Parachain-Slot in diesem Testnetz wurde an die DeFi-Plattform Acala Network vergeben.

Vorteile

Der Hauptvorteil von Sharding beiBlockchains ist die verbesserte Skalierbarkeit. Dank des Sharding können in einer Blockchain mehr Knoten miteinander verbunden und mehr Informationen gespeichert werden, ohne dass Transaktionen dabei zu langsam werden. Dies kann den Einsatz der Blockchain-Technologie in vielen Sektoren beschleunigen, nicht zuletzt auch im Finanzsektor. Dank schnellerer Transaktionen können auf Blockchains setzende Fintech-Unternehmen im Wettbewerb mit zentralisierten Zahlungsanwendungen bestehen.

Weitere Vorteile des Sharding sind eine bessere Zugänglichkeit für die Nutzer und eine höhere Netzwerkbeteiligung. Bei Ethereum wird erwartet, dass Sharding die Hardwareanforderungen für den Betrieb eines Clients senkt, sodass dies per PC oder Telefon möglich wird. Auf diese Weise können sich mehr Menschen am Netzwerk beteiligen.

Sharding bringt nicht nur Vorteile mit sich, sondern kann auch einige Risiken erhöhen. Ein Sicherheitsproblem betrifft die Übernahme einer Shard oder Kollisionen zwischen Shards. Dies kann zu einem teilweisen oder vollständigen Informationsverlust oder der Einschleusung beschädigter Daten in das Netzwerk durch eine schädliche Shard führen. Auf Ethereum 2 wird diesem Sicherheitsrisiko begegnet, indem Knoten willkürlich Shards zugeordnet und in zufälligen Abständen neu zugewiesen werden.

BTCS-logo-mark_rgb.png

Bitcoin Suisse