Blockchain-Sharding für bessere Skalierbarkeit Mit Sharding zu mehr Performance in der Blockchain
Anbieter zum Thema
Ethereum leidet unter hohen Latenzen und einer geringen Skalierbarkeit. Blockchain-Sharding verspricht Abhilfe. Sharding ermöglicht die Parallelisierung der Transaktionsabwicklung und die ersten Erfolgsgeschichten mehren sich bereits. Im Falle der DLT-Technik führt Sharding jedoch gleichzeitig zu einer ganzen Menge von neuen Problemen.

Jeder Knoten in einem öffentlichen Blockchain-Netzwerk wie Ethereum speichert die gesamte Blockchain, darunter alle Salden und den gesamten Vertragscode, falls vorhanden (mehr zum Thema öffentlicher Blockchains im Bericht „Blockchain-Plattformen und -APIs“). Diese Redundanz erhöht zwar die Datensicherheit, aber leider auch die Latenzen und die Transaktionskosten.
Jeder neue Datenblock bläst die Blockchain weiter auf. Die Ethereum-Blockkette hat bereits die 200-GB-Grenze durchbrochen. Das rasante Wachstum erschwert die Konsensfindung und bremst die Transaktionsaufzeichnung aus. Blockchain-Sharding soll Abhilfe schaffen.
Teile und herrsche
Beim Blockchain-Sharding handelt es sich um das (horizontale) Partitionieren der Blockchain für die partielle Aufzeichnung durch eine Untermenge der verfügbaren Knoten. Sharding hat zum Ziel, die Verarbeitung von Transaktionen zu parallelisieren.
Eine neue Transaktion können nur diejenigen Knoten validieren, welche für eben diese Aufgabe im Rahmen des zugehörigen Shards verantwortlich zeichnen. Denn die Konsensfindung erfolgt nur jeweils innerhalb des jeweiligen Shards. Andere Shards können gleichzeitig anderen Transaktionen aufzeichnen.
Beim Blockchain-Sharding wird das gemeinsame Protokoll in (horizontale) Partitionen, die sogenannten Shards, gesplittet, und auch das Netzwerk der autarken Validator-Peers wird dementsprechend in logische, voneinander unabhängige Netze, unterteilt. So zeichnet jeweils nur eine Untermenge des Netzwerks für die Wartung des jeweiligen Blockchain-Shards (also eines Teils des Gesamtprotokolls) verantwortlich; die anderen Teilnehmer haben dazu nicht mehr die nötige Befugnis und brauchen auch nicht alle Daten zu speichern. Blockchain-Sharding ist im Übrigen etwas völlig anderes als ein Fork.
Mit eingelegtem Kapital bürgen
Das Konzept von Sharding hat sich in der Praxis bei relationalen Datenbanken bewährt. Doch Datenbanken unterliegen anders als Blockchains einer zentralisierten Kontrolle. DLT-Sharding bringt daher neue technische Probleme mit sich, und zwar in Bezug auf die Datensicherheit und die Fälschungsresistenz der Blockkette.
Die Aufteilung der Zuständigkeiten der Netzwerkteilnehmer auf die verschiedenen Shards reduziert die Datenredundanz, senkt aber auch die Manipulationsresistenz. Die Missbrauchsschwelle beim Einsatz von Sharding ist niedriger, denn es bedarf einer weitaus geringeren Anzahl von bösartigen Peers, um einen der Shards zu verfälschen und die byzantinische Fehlertoleranz der Blockchain auszuhebeln. Denn die Konsensfindung innerhalb eines einzelnen Shards braucht nur eine Untermenge der Knoten des gesamten Netzwerks einzubeziehen. Die Widerstandsfähigkeit der Blockchain gegen Manipulationen fällt so, mit der sinkenden Anzahl der Validatoren des jeweiligen Shards.
Um dennoch eine hohe Manipulationsresistenz der Blockchain beim Einsatz von Sharding zu gewährleisten, empfehlen sich zusätzliche technische Maßnahmen. Dazu zählen unter anderem das sogenannte Staking und die zufällige Auswahl von Validators.
Beim Staking handelt es sich um einen Mechanismus, bei dem die Validators für die Gültigkeit der Transaktionen mit hinterlegten Finanzmitteln bürgen. Ein solches „Stake“ (also eine Kapitaleinlage) verfällt im Betrugsfalle. Diese Funktionalität möchte Ethereum mit dem Wechsel von PoW zu PoS in der Version 2.0 in der Main-Chain implementieren.
Eine weitere Möglichkeit, um die Manipulationssicherheit von Shards zu erhöhen, besteht im Einsatz von Zufallsverfahren zum Aussuchen von Validators für die einzelnen Shards, sodass die validierungsberechtigten Knoten von Block zu Block unvorhersehbar variieren. Diese Maßnahme soll verhindern, dass Angreifer einen bestimmten Shard unter Beschuss nehmen. In Ethereum 2.0 übernimmt diese Aufgabe die sogenannte Beacon-Chain.
Diese Vorkehrungen erfordern allerdings ein geeignetes Konsensverfahren. Ethereum nimmt eben deswegen Abschied von PoW (Proof of Work) zugunsten von PoS (Proof of Stake).
Blockchain-Sharding auf Ethereum 2.0
Das Blockchain-Sharding auf Ethereum 2.0 soll über den sogenannten zufälligen Beacon-Chain implementiert werden (also nicht einen Hard-Fork). Diese sogenannte Side-Chain, derzeit noch in Entwicklung, soll Validator-Knoten verwalten und die resultierenden Shard-Zustände abgleichen.
Die wichtigste Aufgabe der Beacon-Chain besteht darin, die Konsensbildung via Proof-of-Stake außerhalb der aktuellen Blockchain (also ohne einen Hard-Fork) zu ermöglichen; hier sollen die Casper-Validators mit ihren hinterlegten Deposits für die Gültigkeit der von ihnen beglaubigten Blöcke bürgen. Validators müssen hierzu jeweils mindestens 32 Ether (ca. 8900 Euro) aus der PoW-Chain (dem aktuellen Mainnet) auf die Beacon-Chain übertragen und hier in einem Smarten Vertrag aufbewahren. Die Beacon-Chain wird dann auf die verschiedenen Shard-Chains verzweigen und nach neuen Blöcken „lauschen“.
Die Shards sollen eine höhere Skalierbarkeit der Ethereum-Blockchain durch die Parallelisierbarkeit der Transaktionsabwicklung ermöglichen.
Die Ethereum-Shards sollen jeweils über eine eigene Rückverlinkung auf die Beacon-Chain verfügen; diese muss zur Übertragung der Blöcke in die Beacon-Chain durch eine Gruppe zufällig gewählter Validators des jeweiligen Shards zertifiziert werden.
Sharding in Ethereum 2.0 soll sich im Endeffekt auf der Protokoll-Ebene ereignen; für die Anwendungsentwickler wird das Feature voraussichtlich nicht zugänglich sein. Die Integration soll erst in Ethereum 3.0 abgeschlossen werden.
Die Gemeinde verspricht sich von Casper eine höhere byzantinische Fehlertoleranz der Blockchain. Das Casper-Protokoll sanktioniert unehrliche Validator-Knoten und manipulative Teilnehmer, indem es die von ihnen eingelegten Depots einzieht (zum Beispiel, wenn Knoten plötzlich offline gehen). Ehrliche Teilnehmer sollen ihre Aktivitäten in Proportion zu ihren Anteilen vergütet bekommen. Ob das Ganze dann tatsächlich wie geplant funktionieren wird, muss sich in der Praxis erst noch erweisen.
Die Ethereum Foundation hat mit der Entwicklung von Sharding u.a. Prysmatic Labs beauftragt. Das Unternehmen entwickelt u.a. Prysm, einen Sharding-Client in Golang für Ethereum 2.0. Die Entwicklung von Standards für den Einsatz von Ethereum in der Enterprise-IT beaufsichtigt die EEA (Enterprise Ethereum Alliance).
Eine Blockchain auf der Überholspur: Elronds Adaptive-State-Sharding
Blockchain-Sharding an sich steckt noch in den Kinderschuhen; die Entwicklergemeinde hat bei Weitem noch nicht alle Möglichkeiten ausgelotet. Dennoch gibt es bereits erste (nahezu) funktionsfähige Lösungen.
Eine Blockchain-Plattform namens Zilliqa meistert dank Sharding die Abwicklung von 2.400 Transaktionen pro Sekunde. Der Anbieter möchte künftig einen durchschnittlichen Transaktionsdurchsatz von 8.000 TPS (Transaktionen pro Sekunde) erreichen, um mit VisaNet gleich zu ziehen.
Dieses Ziel soll Elrond mit seiner quelloffenen Blockchain dank des Adaptive State Sharding bereits erreicht haben.
Adaptive-State-Sharding von Elrond implementiert Sharding sowohl auf der Ebene des Netzwerks bzw. der Kommunikation, im Bereich der Transaktionsverarbeitung als auch im Hinblick auf die Zustandserfassung. Die Anzahl der Shards ändert sich bei Elrond dynamisch in Abhängigkeit von den verfügbaren Ressourcen (also der Leistung der Validator-Knoten). Der adaptive State-Sharding-Mechanismus von Elrond setzt auf einer binären Baumstruktur auf und nutzt eine deterministische Zuordnung von Kontoadressen zu Shards. Diese soll für jeden Datenblock neu bestimmt werden. Momentan steht interessierten Nutzern allerdings vorerst nur die Testnet zur Verfügung. Die Inbetriebnahme der Mainnet mit einem Payment-Gateway ist für das vierte Quartal dieses Jahres geplant.
Elrond taufte das eigene Konsensverfahren auf den Namen „Secure Proof of Stake“. Es kombiniert Staking und Rating (einen Mechanismus zur Rangbestimmung des Vertrauens) mit zufälliger Auswahl der Validator-Knoten eines Shards zur Teilnahme am pBFT-Verfahren (practical Byzantine Fault Tolerance).
Um die reibungslose Interoperabilität mit Ethereum zu gewährleisten strebt Elrond die vollständige EVM-Kompatibilität an. Mit seinem durchschnittlichen Transaktionsdurchsatz von erstaunlichen 10.000 TPS bei lediglich fünf Shards möchte Elrond bereits heute auf das Zehnfache von Dfinity und das über 666-fache von Ethereum (15 TPS wenn es hoch kommt) kommen. Das Beste daran: Die Lösung von Elrond skaliert nahezu linear und ist nicht berechtigungspflichtig.
Fazit
Sharding ermöglicht die Parallelisierung der Transaktionsabwicklung. Im Falle der DLT-Technik führt Sharding jedoch gleichzeitig zu einer ganzen Menge von neuen Problemen, nicht zuletzt im Hinblick auf die Gewährleistung der Manipulationssicherheit der Blockkette.
Sharding ist sicherlich ein Schritt in die richtige Richtung: hin zu einer höheren Skalierbarkeit und einer geringeren Latenz. Mit dem sogenannten Adaptive-State-Sharding gelingt es sogar, die Blockchain-Performance linear zu skalieren. So wird das Wachstum der Blockchain nicht zum Verhängnis, sondern endlich zum Vorteil.
Über die Autoren: Anna Kobylinska und Filipe Pereira Martins arbeiten für McKinley Denali Inc. (USA).
(ID:46078817)