Splittern
Was ist Sharding?
Sharding ist eine Datenbankpartitionierungstechnik, die von Blockchain Unternehmen zum Zwecke 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“ bekannt sind. Jeder Shard besteht aus 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 reduzieren, da es ein Blockchain-Netzwerk in separate Shards aufteilt. Es gibt jedoch einige Sicherheitsbedenken beim Sharding, bei dem Shards angegriffen werden können.
Die zentralen Thesen
- Sharding ist eine Datenbankpartitionierungstechnik, die von Blockchain-Netzwerken in Betracht gezogen und von Ethereum getestet wird.
- Je mehr Benutzer Blockchain-Netzwerke aufnehmen, desto langsamer wird das Netzwerk, was zu erheblichen Latenzen führt.
- Sharding kann die Netzwerklatenz verbessern, indem ein Blockchain-Netzwerk in separate Shards aufgeteilt wird – jeder mit seinen eigenen Daten, getrennt von anderen Shards.
- Zu den Sicherheitsbedenken im Zusammenhang mit Sharding gehören Hacks oder Shard-Übernahmen, bei denen ein Shard einen anderen angreift, was zu einem Informationsverlust führt.
Sharding verstehen
Blockchain-Netzwerke und ihre jeweiligen Kryptowährungen gewinnen aufgrund der weit verbreiteten Anwendung der Technologie, die Supply Chain Management und Finanztransaktionen umfasst, an Popularität. Mit der Popularität von Blockchain wächst auch die Arbeitsbelastung und das Transaktionsvolumen, das vom Netzwerk verarbeitet wird. Wenn wir uns eine Blockchain als gemeinsame Datenbank vorstellen, muss das Netzwerk mit immer mehr Daten 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 es ermöglicht, dass die Transaktionen einvernehmlich über mehrere Standorte und Regionen hinweg geteilt werden. Während Transaktionen aufgezeichnet werden, werden innerhalb von Sekunden Kopien an das gemeinsame Netzwerk gesendet, wodurch öffentliche „Zeugen“ erstellt werden. 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 ihr verteiltes Ledger-System dazu beitragen, Betrug zu reduzieren und den Schaden durch Cyberangriffe wie einen Hack zu begrenzen.
Skalierbarkeit
Eine der größten Herausforderungen bei der Blockchain-Technologie besteht jedoch darin, dass das Netzwerk blockiert werden kann, wenn dem Netzwerk zusätzliche Computer hinzugefügt und mehr Transaktionen verarbeitet werden, was den Prozess verlangsamt – Latenz genannt. Latenz ist eine Hürde für die weit verbreitete Verwendung von Blockchain, insbesondere im Vergleich zu den aktuellen elektronischen Zahlungssystemen, die schnell und effizient arbeiten. Mit anderen Worten, die 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 übernehmen.
Eine der Lösungen, die zur Schaffung einer latenzfreien Skalierbarkeit in Betracht gezogen werden, ist das Sharding. Sharding wurde entwickelt, um die Arbeitslast eines Netzwerks auf Partitionen zu verteilen, was dazu beitragen kann, die Latenz zu reduzieren und die Verarbeitung von mehr Transaktionen durch die Blockchain zu ermöglichen.
Drei Merkmale, die Blockchain-Netzwerke einsetzen wollen, 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 Transaktionsvolumina innerhalb des Netzwerks verarbeiten oder handhaben. Knoten in einer Blockchain sind unabhängig und für die Pflege und Speicherung aller Daten innerhalb eines dezentralen Netzwerks verantwortlich. Mit anderen Worten, jeder Knoten muss kritische Informationen wie Kontostände und Transaktionshistorie speichern. Blockchain-Netzwerke wurden so eingerichtet, dass jeder Knoten alle Operationen, 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 bei der Verarbeitung von Transaktionen verheißen nichts Gutes für eine Zukunft, in der die Blockchain für Millionen von Transaktionen verantwortlich wird.
Sharding kann helfen, da es die transaktionale Arbeitslast eines Blockchain-Netzwerks partitioniert oder verteilt, sodass nicht jeder Knoten die gesamte Arbeitslast der Blockchain verarbeiten oder verarbeiten muss. In gewisser Weise unterteilt das Sharding die Arbeitslast in Partitionen oder Shards.
Horizontale Aufteilung
Sharding kann durch die horizontale Partitionierung von Datenbanken durch Aufteilung in Zeilen erreicht werden. Shards, wie die Zeilen genannt werden, werden auf der Grundlage von Merkmalen konzipiert. Beispielsweise kann ein Shard für das Speichern des Status und des Transaktionsverlaufs für einen bestimmten Adresstyp verantwortlich sein. Außerdem ist es möglicherweise möglich, Shards basierend auf der Art des darin gespeicherten digitalen Assets aufzuteilen. 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 Entitäten, vom Kundennamen bis hin zu digitalen Schlüsseln, die in einem intelligenten Schloss konfiguriert sind, das dem Mieter bei der Mietzahlung zur Verfügung gestellt wird.
Shard-Freigabe
Jeder Shard kann weiterhin von den anderen Shards geteilt werden, was einen Schlüsselaspekt der Blockchain-Technologie beibehält – das dezentrale Ledger. Mit anderen Worten, das Ledger ist weiterhin für jeden Benutzer zugänglich, sodass er alle Ledger-Transaktionen einsehen kann.
Sharing und Sicherheit
Eines der Hauptprobleme in der Praxis ist die Sicherheit. Obwohl jeder Shard separat ist und nur seine eigenen Daten verarbeitet, gibt es Sicherheitsbedenken hinsichtlich der Beschädigung der Shards, wenn 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 bösartiges Programm einführen.
Ethereum, eines der bekanntesten Blockchain-Unternehmen, steht an vorderster Front beim Testen von Sharding als mögliche Lösung für Latenz- und Skalierbarkeitsprobleme. Ethereum hat das Potenzial eines Shard-Angriffs bekämpft, indem Nodes zufällig bestimmten Shards zugewiesen und in zufälligen Abständen ständig neu zugewiesen werden. Diese zufällige Stichprobe würde es Hackern erschweren zu wissen, wann und wo ein Shard beschädigt werden soll.
Es ist auch wichtig zu beachten, dass sich Sharding noch in der frühen Testphase für den Einsatz für Blockchain-Netzwerke befindet. Infolgedessen müssen noch alle potenziellen Probleme und Herausforderungen geklärt werden.