Was ist Sharding?
Sharding ist eine Technik zur Partitionierung von Datenbanken, die zur Skalierung von Blockchains verwendet werden kann. Dadurch können Blockchains mehr Transaktionen pro Sekunde verarbeiten, was auch als höherer Durchsatz bezeichnet wird. Sharding teilt das Blockchain-Netzwerk in kleinere Partitionen auf. Diese sogenannten Shards verarbeiten nur einen Teil der Daten der gesamten Blockchain, was sie von anderen Shards unabhängig macht und ihnen unnötige Rechenarbeit abnimmt.
Dank Sharding kann ein Netzwerk mehr Transaktionen berechnen und somit schneller auf die von zentralisierten Ledgern bekannten Transaktionsgeschwindigkeiten skalieren. Kritiker weisen hingegen darauf hin, dass Shards angreifbar seien und die Netzwerksicherheit mindern würden.
Wie funktioniert Sharding?
Blockchain-Netzwerke bestehen aus Knoten, die die Transaktionen in einem Netzwerk validieren. Knoten sind voneinander unabhängig und speichern die historischen Daten einer Blockchain. Alle Full Nodes speichern den gesamten Verlauf einer Blockchain, was die Sicherheit und Dezentralisierung einer Blockchain erhöht, aber ihre Transaktionsgeschwindigkeit verlangsamt.
Beim Sharding wird die Arbeitslast der Knoten auf verschiedene Shards aufgeteilt. Im Wesentlichen muss nicht jeder Knoten jede Transaktion validieren, was die Knoten unnötig belastet und das Netzwerk verlangsamt. Stattdessen ist die Arbeit auf verschiedene Shards aufgeteilt. Die Blockchain-Datenbanken sind horizontal partitioniert, d. h. die verschiedenen Shards werden entsprechend ihrer Eigenschaften aufgeteilt. Shards können beispielsweise für die Speicherung von Transaktionen eines bestimmten Typs verantwortlich sein, während andere Shards basierend auf der Art des Krypto-Assets, das sie speichern, unterteilt werden können.
Das Ergebnis ist, dass nicht jeder Knoten jede Transaktion bestätigt. Dadurch wird der Arbeitsaufwand einer Blockchain drastisch reduziert und ihre Geschwindigkeit erhöht.
Wie sicher ist Sharding?
Sharding wurde dafür kritisiert, dass es möglicherweise die Dezentralisierung und Sicherheit einer Blockchain verringert. Shards könnten beschädigt werden, wobei ein Shard einen anderen Shard übernimmt, was zu einem Informations- oder Datenverlust führen könnte. Beispielsweise kann ein Hackerangriff einen Shard übernehmen und falsche Transaktionen einleiten, was bei anderen Shards zu Verwirrung über die Gültigkeit der Daten führt.
Wie nutzt Ethereum Sharding?
Ethereum plant, im Rahmen seines Skalierungsansatzes Sharding zu nutzen, um den Durchsatz der Blockchain zu erhöhen. Das Netzwerk wird in Zukunft 64 neue Sharded-Chains einführen, die unterschiedliche Verantwortlichkeiten haben und die Arbeitsbelastung des Ethereum-Hauptnetzes, der sogenannten Beacon Chain, erheblich reduzieren werden. Dieser Prozess wird im Rahmen der Skalierung von Ethereum stattfinden, die die Umstellung auf Proof-of-Stake als Konsensmechanismus vorsieht. Dieser Schalter wird Merge genannt. Sharding wird einer der nächsten Schritte für Ethereum in seiner Skalierungs-Roadmap sein.