Sharding: Durchsatz, Skalierbarkeit und warum wir sie brauchen

TL;DR
Bei Distributed-Ledger-Technologien bezeichnet Skalierbarkeit die Fähigkeit eines Systems, seinen Durchsatz zu erhöhen, wenn mehr Nachfrage generiert wird. Für die Blockchain stellt die Skalierbarkeit eine große Herausforderung dar, da der Aufbau des Ledgers vorschreibt, dass die Transaktionen vollständig geordnet sind. In diesem Blogbeitrag gehen wir zunächst auf die Unterschiede zwischen Skalierbarkeit und Durchsatz ein. Anschließend untersuchen wir die Sharding-Lösung, bei der Nachrichten nur an eine Teilmenge der Netzwerkknoten übermittelt werden, wodurch die Redundanz reduziert und ein Hochleistungsnetzwerk aufgebaut wird.

Einst waren Tangle City und Las Iota durch eine zweispurige Schnellstraße verbunden. Es war die einzige Strecke, auf der Autos zwischen den beiden Städten verkehren konnten. Mit der Zeit wuchsen die Städte, was zu langen Staus auf der Autobahn führte. Eines sonnigen Tages beschlossen die Bürgermeister der beiden Städte, dass es an der Zeit sei, das Problem anzugehen. Ihre erste Idee war: „Lasst uns eine größere Autobahn mit vier statt zwei Fahrspuren bauen!„. Die Idee klang gut, aber die Umsetzung war schwierig: Ein Fluss, eine alte Kirche und ein störrischer Bauer in der Nähe der Hauptstraße stellten einige Hindernisse auf dem Weg zur Fertigstellung dar. Doch schließlich wurde die Autobahn fertiggestellt. Leider löste sie das Verkehrsproblem nicht: Die Autos mussten immer noch durch das gleiche Nadelöhr fahren, und die beiden Städte wuchsen weiter, was die beiden Bürgermeister bald vor das gleiche alte Problem stellte. Sollten die Bürgermeister noch einmal größere Autobahnen bauen, um eine gute Verbindung zwischen Tangle City und Las Iota zu gewährleisten? Oder gibt es andere Lösungen?

Wir haben soeben das Konzept des Durchsatzes und der damit verbundenen Überlastung aufgrund der wachsenden Nachfrage in einer nicht skalierbaren Lösung beschrieben. Allzu oft werden diese beiden Konzepte, Durchsatz und Skalierbarkeit, im Zusammenhang mit der Distributed-Ledger-Technologie (DLT) verwechselt.

iota trading plattform

Der Durchsatz gibt an, wie viele Informationen im Netz pro Zeiteinheit verarbeitet, validiert und übermittelt werden können und wird in Bytes pro Sekunde gemessen (bei Nachrichten mit variabler Größe ist die üblicherweise verwendete Metrik Transaktionen pro Sekunde nur ein Näherungswert zur Messung des Durchsatzes). Der Durchsatz entspricht der Anzahl der Autobahnspuren in dem obigen Beispiel.

Skalierbarkeit hingegen ist die Fähigkeit des Netzes, ein wachsendes Arbeitsaufkommen zu bewältigen, indem dem System Ressourcen hinzugefügt werden, z. B. durch Erhöhung der Anzahl der Knoten. Während die beiden Bürgermeister den Durchsatz durch den Ausbau der bestehenden Straßeninfrastruktur verbesserten, erreichte die steigende Nachfrage bald wieder die volle Kapazität. Daher hätten verschiedene Alternativen in Betracht gezogen werden müssen, um das Leben der Bürger zu verbessern: z. B. der Bau zusätzlicher Autobahnen, der Ersatz von Autos durch effizientere öffentliche Verkehrsmittel (z. B. Busse oder Züge), der Bau neuer Städte, um die Bürger zu verteilen, ohne Engpässe in den großen Metropolen zu schaffen, und so weiter. In diesem Blogbeitrag werden wir die Definition von Skalierbarkeit klären und erklären, wie sie sich auf DLTs auswirkt.

IOTA Staking

Der Begriff Skalierbarkeit lässt sich auf eine Vielzahl von Kontexten und Bereichen anwenden, z. B. auf Routing-Protokolle, verteilte Systeme, Netzwerke, Datenbanken und Geschäftsmodelle. Im Zusammenhang mit DLT sind wir an der Skalierbarkeit der Last interessiert, d. h. an der Fähigkeit eines verteilten Systems, sich zu vergrößern (und zu verkleinern), um größere (oder kleinere) Lasten aufzunehmen. Bitcoin zum Beispiel kann nicht als skalierbares DLT definiert werden; das ist so gewollt, weil die Sicherheit der Leistung vorgezogen wurde. Unabhängig von der Anzahl der Nachrichten, die auf eine Bestätigung warten, und der Anzahl der Knoten im Netzwerk bleiben der Gesamtdurchsatz und die Abschlusszeit unverändert. Einige neuere Lösungen haben versucht, dieses Problem zu überwinden, indem sie z. B. das Lightning Network auf Schicht 2 hinzugefügt haben, um Zahlungskanäle außerhalb der Kette zu schaffen und so die Belastung der Hauptkette zu verringern.

Durch die Auslagerung von Transaktionen auf eine andere Schicht lässt sich zwar der Gesamtdurchsatz leicht erhöhen, das Problem der Skalierbarkeit der Hauptkette wird jedoch nach wie vor nicht angegangen: Das Öffnen und Schließen von Lightning-Kanälen erfordert immer noch jeweils eine Transaktion auf der Basisschicht. Selbst wenn also die Basisschicht nur zum Öffnen und Schließen von Lightning Channels verwendet wird und alle anderen Transaktionen in den Lightning Channels stattfinden, wäre die Skalierbarkeit immer noch auf die Anzahl der Lightning Channels beschränkt, die geöffnet und geschlossen werden können, was im Bitcoin-Netzwerk derzeit fünf bis sieben pro Sekunde beträgt. Bitcoin hat im Grunde eine zweite Schicht von Hochgeschwindigkeits-Autobahnspuren über der eigentlichen Autobahn hinzugefügt, aber die Leute müssen immer noch die gleichen Auffahrten nehmen, um überhaupt auf die Autobahn zu kommen, bevor sie die Hochgeschwindigkeitsspuren nutzen können.

Andere Lösungen gehen nicht dazu über, den Durchsatz auf zusätzliche Schichten auszulagern, sondern rühmen sich damit, dass die Hauptkette mehrere hunderttausend Transaktionen pro Sekunde unterstützen kann. Das bringt jedoch eine andere Herausforderung mit sich: Wenn eine einzelne Transaktion nur 1024 Bytes groß ist, würden 250.000 dieser Transaktionen pro Sekunde bedeuten, dass zwei Knoten über eine Hochgeschwindigkeitsdatenverbindung mit mehr als 2 Gbit/s¹ verbunden sein müssten. Dies würde dazu führen, dass die Teilnahme an einem dezentralen Netzwerk auf diejenigen beschränkt wird, die sich eine teure Infrastruktur leisten können. Man könnte sich diese Lösung also wie eine Autobahn mit Hunderten von Fahrspuren vorstellen, die jedoch schwierig und extrem teuer zu bebauen ist und deren Ausfahrten von einigen wenigen wohlhabenden Personen kontrolliert werden.

Um Skalierbarkeit zu erreichen, muss das Blockchain-Trilemma überwunden werden, das besagt, dass man nur zwei Möglichkeiten hat: Dezentralisierung, Sicherheit und Skalierbarkeit. Bitcoin entscheidet sich für Sicherheit und Dezentralisierung, aber nicht für Skalierbarkeit, während einige andere Wettbewerber sich für Sicherheit und Skalierbarkeit entscheiden, aber nicht für Dezentralisierung. Wie kann man also alle drei Eigenschaften beibehalteniota Sharding Lösung trillema

Suche Gastautoren

Die populärsten Lösungen für die Skalierbarkeit von DLTs werden durch ein Konzept namens Sharding repräsentiert – die Aufteilung der Gesamtmenge der Transaktionen in kleinere Partitionen. Der Begriff „Shard“ wurde 1988 durch den technischen Bericht „Overview of SHARD: a System for Highly Available Replicated Data„² eingeführt, der darauf abzielte, redundante Hardware zu verwenden, um die Datenreplikation zu erleichtern. Mit Sharding in der DLT ist in der Regel eine horizontale Partitionierung gemeint, bei der die Zeilen einer Datenbank, die eine einzige Partition bilden, getrennt auf verschiedenen Servern gehalten werden. Derzeit werden Sharding-Lösungen von mehreren Blockchain-Projekten entwickelt, darunter Ethereum, Zilliqa und Polkadot.

Das Sharding in DLTs ermöglicht es den Knoten, nur eine Teilmenge der im Netzwerk ausgetauschten Nachrichten zu validieren und zu speichern. Da die Redundanz reduziert wird, steigt die Zahl der Nachrichten, die das Netzwerk verarbeiten kann, im Vergleich zu einer Lösung ohne Sharding. Beim Sharding kann ein Angreifer jedoch leichter einen größeren Einfluss innerhalb eines einzelnen Shards erlangen, da die Sicherheit des Shards direkt proportional zur kumulativen Hash-Rate (bei Proof-of-Work-Systemen) oder zum Gesamtstapel (bei Proof-of-Stake- und ähnlichen Systemen) ist. Im Wesentlichen besteht durch die Aufteilung der Transaktionsmenge in Stücke die Gefahr, dass auch die Sicherheitsmerkmale aufgeteilt werden und somit die Sicherheit für jeden einzelnen Shard verringert wird, es sei denn, es wird ein Abhilfemechanismus eingeführt.

Die Struktur des gerichteten azyklischen Graphen (DAG) des IOTA-Ledgers bietet einen hervorragenden Ausgangspunkt für den Aufbau einer skalierbaren DLT. Ein DAG-basierter Ledger führt nicht den konzeptionellen Engpass ein, der in der Blockchain vorhanden ist, wo alle Nachrichten einer totalen Ordnung unterliegen, was zu unvermeidlichen Reibungen im Protokoll führt: In IOTA gibt es keinen zentralen Anführer, der die Erstellung des nächsten Transaktionsblocks bestimmt. Darüber hinaus ist IOTA ein führerloses Protokoll, was bedeutet, dass jeder Knoten eine andere Wahrnehmung des Status Quo des Ledger-Status haben kann, während er sich immer noch darüber einig ist, welche Transaktionen gültig sind und welche nicht. Infolgedessen bedeuten in IOTA mehr Nachrichten eine schnellere Endgültigkeit!

Wie bereits erwähnt, sind jedoch auch die Ressourcen in IOTA begrenzt, so dass eine Lösung für die Herausforderung der Skalierbarkeit der Last erforderlich ist. Das IOTA-Protokoll ist leichtgewichtig und erfordert keine Gebühren, was einen grundlegenden Vorteil gegenüber ähnlichen Technologien darstellt. Die Forschungsabteilung der IOTA Foundation untersucht Lösungen, die im Sinne der IOTA-Vision das volle Potenzial von IOTA ausschöpfen. Wir freuen uns darauf, unsere Ergebnisse bald mit Ihnen zu teilen.

¹ Diese Berechnung ignoriert den stets vorhandenen Netzwerk-Overhead und die Tatsache, dass die Knoten in einem Peer-to-Peer-Netz in der Regel mit mehreren Knoten verbunden sind. In der Praxis müssten solche konkurrierenden Netze darauf angewiesen sein, dass die Knoten sich Verbindungen mit mindestens 10 Gbit/s leisten können.

² Derzeit sind keine Kopien des Berichts leicht zugänglich. Eine andere Interpretation ist, dass der Name „Shard“ aus dem Videospiel Ultima Online stammt.

Original by Luigi Vigneri: https://blog.iota.org/sharding-throughput-scalability-and-why-we-need-them/

Folge und teile diese Seite:
error20
fb-share-icon0
Tweet 402
0 0 Stimmen
Artikel Bewertung
Abonnieren
Benachrichtige mich bei
guest
0 Kommentare
Inline-Rückmeldungen
Alle Kommentare anzeigen