6 Juni 2021 23:42

Scherben

Was ist Scherben?

Sharding ist eine Datenbankpartitionierungstechnik, die von Blockchain Unternehmen zum Zweck der Skalierbarkeit verwendet wird und es ihnen ermöglicht, mehr Transaktionen pro Sekunde zu verarbeiten. Sharding teilt das gesamte Netzwerk eines Blockchain-Unternehmens in kleinere Partitionen auf, die als „Shards“ bezeichnet werden. Jeder Shard besteht aus seinen eigenen Daten, wodurch er im Vergleich zu anderen Shards unverwechselbar und unabhängig ist.

Sharding kann dazu beitragen, die Latenz oder Langsamkeit eines Netzwerks zu verringern, da es ein Blockchain-Netzwerk in separate Shards aufteilt. Es gibt jedoch einige Sicherheitsbedenken in Bezug auf Sharding, bei denen Shards angegriffen werden können.

Die zentralen Thesen

  • Sharding ist eine Datenbankpartitionierungstechnik, die von Blockchain-Netzwerken berücksichtigt und von Ethereum getestet wird.
  • Je mehr Benutzer Blockchain-Netzwerke annehmen, desto langsamer wird das Netzwerk, was zu einer erheblichen Latenz führt.
  • Sharding kann die Netzwerklatenz verbessern, indem ein Blockchain-Netzwerk in separate Shards aufgeteilt wird – jedes mit seinen eigenen Daten, getrennt von anderen Shards.
  • Zu den Sicherheitsbedenken im Zusammenhang mit Sharding gehört ein Hack oder eine Shard-Übernahme, bei der ein Shard einen anderen angreift, was zu einem Informationsverlust führt.

Sharding verstehen

Blockchain-Netzwerke und ihre jeweiligen Kryptowährungen werden aufgrund der weit verbreiteten Anwendung der Technologie, die Supply Chain Management und Finanztransaktionen umfasst, immer beliebter. Mit zunehmender Beliebtheit von Blockchain steigt auch die Arbeitslast und das Transaktionsvolumen, die vom Netzwerk verwaltet werden. Wenn wir uns eine Blockchain als gemeinsam genutzte Datenbank vorstellen und immer mehr Daten hinzugefügt werden, muss das Netzwerk neue Wege finden, um all diese Daten effizient und schnell verarbeiten zu können. Hier kann Sharding helfen.

Verteiltes Hauptbuch

Das verteilte Hauptbuch der Blockchain-Technologie macht es attraktiv, da die Transaktionen einvernehmlich auf mehrere Standorte und Regionen verteilt werden können. Während der Aufzeichnung von Transaktionen werden Kopien innerhalb von Sekunden an das gemeinsam genutzte Netzwerk gesendet, wodurch öffentliche „Zeugen“ entstehen. Wenn ein Teil des Netzwerks Opfer eines Betrugs oder eines böswilligen Angriffs wird, können die Teilnehmer des gemeinsam genutzten Netzwerks feststellen, was von den Betrügern geändert wurde, da sie alle eine Kopie der Transaktionen des Hauptbuchs führen. Infolgedessen können die Blockchain-Technologie und das verteilte Hauptbuchsystem dazu beitragen, Betrug zu reduzieren und den Schaden durch Cyberangriffe wie Hack zu begrenzen.

Skalierbarkeit

Eine der größten Herausforderungen bei der Blockchain-Technologie besteht jedoch darin, dass das Netzwerk blockiert werden kann, wenn zusätzliche Computer zum Netzwerk hinzugefügt und mehr Transaktionen verarbeitet werden, was den Prozess verlangsamt – die sogenannte Latenz. Die Latenz ist eine Hürde für die Einführung von Blockchain für den weit verbreiteten Einsatz, insbesondere im Vergleich zu den aktuellen elektronischen Zahlungssystemen, die schnell und effizient arbeiten. Mit anderen Worten, Skalierbarkeit ist eine Herausforderung für die Blockchain, da die Netzwerke möglicherweise nicht in der Lage sind, die erhöhten Datenmengen und den Transaktionsfluss zu bewältigen, da immer mehr Branchen die Technologie einsetzen.

Eine der Lösungen, die in Betracht gezogen werden, um eine latenzfreie Skalierbarkeit zu erreichen, ist das Sharding. Sharding wurde entwickelt, um die Arbeitslast eines Netzwerks auf Partitionen zu verteilen. Dies kann dazu beitragen, die Latenz zu verringern und die Verarbeitung weiterer Transaktionen durch die Blockchain zu ermöglichen.



Drei Merkmale, die Blockchain-Netzwerke nutzen möchten, sind Dezentralisierung, Skalierbarkeit und Sicherheit.

Wie Sharding durchgeführt wird

Bevor Sie untersuchen, wie Sharding in einem Blockchain-Netzwerk ausgeführt wird, müssen Sie zunächst überprüfen, wie Daten derzeit gespeichert und verarbeitet werden.

Blockchain-Knoten

Derzeit muss in der Blockchain jeder Knoten in einem Netzwerk alle Transaktionsvolumes im Netzwerk verarbeiten oder verarbeiten. Knoten in einer Blockchain sind unabhängig und für die Verwaltung und Speicherung aller Daten in einem dezentralen Netzwerk verantwortlich. Mit anderen Worten, jeder Knoten muss wichtige Informationen wie Kontensalden und Transaktionsverlauf speichern. Blockchain-Netzwerke wurden so eingerichtet, dass jeder Knoten alle Vorgänge, Daten und Transaktionen im Netzwerk verarbeiten muss.

Während es die Sicherheit einer Blockchain gewährleistet, indem jede Transaktion in allen Knoten gespeichert wird, verlangsamt dieses Modell die Transaktionsverarbeitung erheblich. Langsame Geschwindigkeiten für die Verarbeitung von Transaktionen sind kein gutes Zeichen für eine Zukunft, in der Blockchain für Millionen von Transaktionen verantwortlich wird.

Sharding kann hilfreich sein, da es die Transaktions-Workload aus einem Blockchain-Netzwerk partitioniert oder verteilt, sodass nicht jeder Knoten die gesamte Workload der Blockchain verarbeiten oder verarbeiten muss. In gewisser Weise unterteilt das Sharding die Arbeitslast in Partitionen oder Shards.

Horizontale Partitionierung

Sharding kann durch horizontale Partitionierung von Datenbanken durch Aufteilung in Zeilen erreicht werden. Shards, wie die Zeilen genannt werden, werden basierend auf Merkmalen konzeptualisiert. Beispielsweise kann ein Shard für das Speichern des Status und des Transaktionsverlaufs für einen bestimmten Adresstyp verantwortlich sein. Es kann auch möglich sein, Shards basierend auf der Art des darin gespeicherten digitalen Assets zu unterteilen. Transaktionen mit diesem digitalen Asset können durch eine Kombination von Shards ermöglicht werden.

Als Beispiel betrachten wir eine Miete Immobilien, in denen Transaktion mehrere Scherben beteiligt sind. Diese Shards entsprechen verschiedenen an der Transaktion beteiligten Einheiten, vom Kundennamen bis zu digitalen Schlüsseln, die in einem Smart Lock konfiguriert sind, das dem Mieter bei Mietzahlung zur Verfügung gestellt wird.

Shard Sharing

Jeder Shard kann weiterhin unter den anderen Shards geteilt werden, was einen Schlüsselaspekt der Blockchain-Technologie beibehält – das dezentrale Hauptbuch. Mit anderen Worten, das Hauptbuch ist weiterhin für jeden Benutzer zugänglich, sodass er alle Hauptbuchtransaktionen anzeigen kann.

Scherben und Sicherheit

Eines der Hauptprobleme in der aufgetretenen Praxis ist die Sicherheit. Obwohl jeder Shard separat ist und nur seine eigenen Daten verarbeitet, gibt es Sicherheitsbedenken hinsichtlich der Beschädigung der Shards, bei denen ein Shard einen anderen Shard übernimmt, was zu einem Verlust von Informationen oder Daten führt.

Wenn wir uns jeden Shard als ein eigenes Blockchain-Netzwerk mit seinen authentifizierten Benutzern und Daten vorstellen, könnte ein Hacker oder durch einen Cyberangriff einen Shard übernehmen. Der Angreifer könnte dann falsche Transaktionen oder ein Schadprogramm einführen.

Ethereum, eines der bekanntesten Blockchain-Unternehmen, ist an vorderster Front dabei, Sharding als mögliche Lösung für Latenz- und Skalierbarkeitsprobleme zu testen. Ethereum hat das Potenzial eines Shard-Angriffs bekämpft, indem es bestimmten Shards zufällig Knoten zugewiesen und diese in zufälligen Intervallen ständig neu zugewiesen hat. Diese zufällige Stichprobe würde es Hackern schwer machen zu wissen, wann und wo ein Shard beschädigt werden muss.

Es ist auch wichtig zu beachten, dass sich das Sharding noch in der frühen Testphase befindet, in der es für Blockchain-Netzwerke verwendet wird. Infolgedessen müssen noch alle potenziellen Probleme und Herausforderungen geklärt werden.