Was ist Sharding und wozu dient es?

August, 2019

Das gesamte Blockchain-Ökosystem hat sich in den letzten Jahren erheblich weiterentwickelt. Die nächste Herausforderung für eine breite und umfassende Nutzung öffentlicher Blockchain-Systeme ist jedoch die Skalierbarkeit. In diesem Newsletter beschreiben wir die dringende Skalierbarkeit von Blockchains und weisen auf allgemeine Skalierungsprobleme hin.

Gegenwärtig speichert jeder Node in allen Blockchain-Protokollen den gesamten Status und verarbeitet alle Transaktionen. Dies bietet ein hohes Mass an Sicherheit, schränkt jedoch die Skalierbarkeit erheblich ein: Eine Blockchain kann nicht mehr Transaktionen verarbeiten als ein einzelner Node. Aus diesem Grund ist Bitcoin auf ca. 3 bis 7 Transaktionen pro Sekunde beschränkt, und bei Ethereum ist es auf 7 bis 15 Transaktionen. Zum Vergleich: VisaNet von Visa verarbeitet durchschnittlich 1'700 Transaktionen/Sekunde.

Im Laufe der Zeit haben Kryptowährungen (insbesondere Bitcoin und Ethereum) grosses Interesse geweckt, was die Anzahl der Transaktionen deutlich erhöht hat. Allgemein gesagt, werden die Blockchain-Systeme mit zunehmenden Transaktionen kostenintensiver, langsamer und für Zahlungsanwendungen nicht mehr nachhaltig.

Bitcoin hat dieses Problem durch die Aktivierung von Segwit gelöst. Derzeit existiert es als Soft Fok. Damit der Hard Fork auftritt, sollten mindestens 95% der Netzwerkteilnehmer die Änderungen akzeptieren. Für Ethereum könnte Sharding der Schlüssel sein, um die Skalierung von Blockchains zu ermöglichen und gleichzeitig die Datenschutz- und Sicherheitsfunktionen beizubehalten. Das Konzept umfasst das Gruppieren von Teilmengen von Nodes in «Shards», die wiederum Transaktionen verarbeiten, die für diesen Shard spezifisch sind. Dadurch kann das System viele Transaktionen parallel verarbeiten und so den Durchsatz erheblich steigern.

Einfacher ausgedrückt wäre es mit Vitalik Buterins eigenen Worten:

„Stellen Sie sich vor, Ethereum wurde in Tausende von Inseln aufgeteilt. Jede Insel kann ihr eigenes Ding machen. Jede der Inseln hat ihre eigenen einzigartigen Merkmale und jeder, der zu dieser Insel gehört, d.h. die Nodes, können miteinander interagieren UND sie können sich frei mit all ihren Merkmalen beschäftigen. Wenn sie andere Inseln kontaktieren wollen, müssen sie ein Protokoll verwenden.“

Nehmen wir an, es gibt 10 Transaktionen, die durchgeführt werden müssen. Mit 5 Shard-Chains kann jeder Shard durchschnittlich 2 Transaktionen gleichzeitig abwickeln. Die Cross-Shard-Kommunikation wird durch Anwendung des Konzepts der Transaktionsbelege erreicht. Im Wesentlichen werden die Belege in einem gemeinsam genutzten Speicher gespeichert, der von anderen Shards überprüft, aber nicht geändert werden kann. Durch die verteilte Speicherung von Belegen können Shards daher miteinander kommunizieren.

Sharding in Ethereum wird voraussichtlich nach dem Casper PoS-Upgrade implementiert. In letzter Zeit gab es einige Entwicklungen in Bezug auf Ethereum 2.0, bei denen sowohl Casper als auch Sharding implementiert wurden. Casper scheint für 2019 geplant zu sein, während Sharding 2020 oder 2021 folgen könnte.