Sharding ist eine Technik zur Aufteilung großer Datenbanken in kleinere, schnellere und leichter zu verwaltende Teile, die so genannten Data Shards. Das Wort "Shard" bedeutet "kleiner Teil eines Ganzen".
Jede Teilmenge von Daten wird als Shard oder Node bezeichnet, und alle Shards zusammen bilden den gesamten Datensatz. Die Anzahl der Shards in einer Anwendung hängt von den Leistungsanforderungen ab, z. B. von der Speicherkapazität oder der Lese-/Schreibgeschwindigkeit.
Ziel des Sharding ist es, die Daten auf mehrere Rechner zu verteilen und mehrere Transaktionen parallel zu ermöglichen. Mit anderen Worten, das Ziel ist horizontale Skalierbarkeit. Sharding kann verwendet werden in blockchain Netzwerke. So plant Ethereum beispielsweise, sein Netzwerk zu splitten, um seine Skalierbarkeit zu erhöhen.
In diesem Artikel erklären wir, was Sharding ist und wie es in Cryptocurrency funktioniert.
Sharding ist eine der vielversprechendsten Skalierungstechnologien im Bereich der Kryptowährungen, die in letzter Zeit an Aufmerksamkeit gewonnen hat. Sharding ist ein Prozess, der darauf abzielt, die Skalierbarkeit von blockchain zu verbessern, indem es in kleinere Einheiten (bekannt als "Shards") aufgeteilt wird, die parallel verarbeitet werden können und somit die Gesamtkapazität des Transaktionsdurchsatzes des Netzwerks erhöhen.
Warum brauchen wir Sharding?
Wenn ein Knoten an einem Kryptowährungsnetzwerk teilnehmen möchte, lädt der Client den gesamten Transaktionsverlauf herunter. Der Grund dafür ist, dass er die Transaktionen validieren und überprüfen kann, dass keine doppelten Ausgaben getätigt wurden. Das bedeutet, dass Sie alle Daten herunterladen müssen, um an einem blockchain teilnehmen zu können.
Wenn Sie einen Knoten in Bitcoin um die volle Blockbelohnung zu erhalten, benötigen Sie mindestens 200 GB Speicherplatz (Stand April 2018). Bei Ethereum ist diese Zahl sogar noch höher, im April 2018 waren auf jedem Knotenpunkt über 100 GB an Daten gespeichert. Mit einer normalen Internetverbindung dauert das Herunterladen all dieser Daten etwa zwei Wochen. Dies ist für die meisten Menschen, die sich an einem Kryptowährungsnetzwerk beteiligen möchten, nicht praktikabel.
Sharding wurde erstmals in Datenbankverwaltungssystemen eingeführt, um die Leistung, Effizienz und Skalierbarkeit von Datenbankdiensten durch Aufteilung der Daten auf mehrere Rechner zu verbessern. Sharding wird in modernen Datenbanksystemen verwendet, weil es die Gesamtgeschwindigkeit einer Anwendung erhöhen kann. Die gleiche Idee wird nun auch auf die blockchain-Technologie angewandt.
Blockchain-Netzwerke wie Ethereum versuchen, Sharding mit dem Ziel zu implementieren, die Skalierbarkeit ihres Netzwerks zu erhöhen, wodurch sie mehr Transaktionen mit einer höheren Geschwindigkeit verarbeiten könnten. Der Mitbegründer von Ethereum, Vitalik Buterin, erforscht und entwickelt das Konzept des Sharding schon seit einiger Zeit, und diese Forschung führte zur Schaffung von EIP 1559, einer möglichen Implementierung des Sharding auf Ethereum.
Die Idee des Sharding gibt es schon seit einiger Zeit, aber in der Welt der Kryptowährungen wurde sie erstmals von Zilliqa verwendet. Das Proof-of-Work (PoW) blockchain-Modell ist nicht ideal, wenn man ein Netzwerk erstellen möchte, das ein hohes Transaktionsvolumen verarbeiten kann. Zilliqa war das erste Unternehmen, das versuchte, dieses Problem zu lösen, indem es eines der schnellsten blockchain-Netzwerke auf dem Markt schuf.
Zilliqa verwendet eine Sharding-Lösung, die es ermöglicht, die Transaktionskapazität zu erhöhen, wenn weitere Knoten dem Netzwerk beitreten. Je mehr Computer dem Netzwerk hinzugefügt werden, desto mehr Transaktionen können pro Sekunde verarbeitet werden.
Wie Sharding funktioniert
Ein blockchain ist ein verteiltes Hauptbuch, das aus in Blöcken gespeicherten Daten besteht; jeder Block enthält eine bestimmte Menge an Daten, und diese Blöcke sind miteinander verkettet, um das Hauptbuch zu bilden. Die Kette wird von Knoten verwaltet - Teilnehmern, die eine Kopie des gesamten Hauptbuchs besitzen und es aktualisieren, wenn neue Informationen eingehen. Jeder Knoten muss neue Daten validieren, bevor sie der Kette hinzugefügt werden können. Wenn ein Unternehmen sein System skalieren muss, hat es zwei Möglichkeiten: Es kann entweder teurere Hardware kaufen oder eine alternative Lösung finden, die die vorhandene Hardware besser ausnutzt.
Sharding ist einer von mehreren Ansätzen zur Skalierung und Hochverfügbarkeit von Datenbanken. Andere Ansätze sind Antwort-Caching, Master-Slave-Replikation und Cloud-Hosting.
Beim Sharding werden die Daten auf mehrere Server verteilt, wie im folgenden Diagramm dargestellt. Jeder Shard fungiert als separate Datenbank, und jeder Datenbankserver führt Lese- und Schreibvorgänge für seinen eigenen Shard durch. Um eine Datenbank in Shards aufzuteilen, muss jeder Shard eine Art von Metadaten enthalten, die dabei helfen, zu erkennen, welche Daten in welchem Shard gespeichert werden sollen.
Ethereum plant, Sharding für seine Skalierungslösung zu verwenden. Derzeit gibt es in Ethereum zwei Arten von Nodes: Full Nodes und Light Nodes. Full Nodes speichern alle Informationen über die blockchain (bis zu 1 Terabyte), während Light Nodes nur einen kleinen Teil dieser Informationen oder nur eine Zusammenfassung dessen, was auf der Kette passiert, speichern. Mit Ethereums Sharding-Lösung werden Full Nodes in "Collation"- und "Attester"-Knoten aufgeteilt. Auf diese Weise werden Collation Nodes viel weniger Validatoren haben als Full Nodes und viel weniger Informationen speichern können als Full Nodes es derzeit tun. Dies bedeutet, dass sich mehr Menschen als Prüfer und Betreuer am Netz beteiligen können.
Dieser Ansatz bietet mehrere Vorteile:
Nutzen und Vorteile von Sharding auf dem Kryptomarkt
Wie bereits erwähnt, zielt das Sharding darauf ab, die große Arbeitslast in kleine Unterlasten aufzuteilen. Dies wiederum trägt dazu bei, die Skalierbarkeit und Effizienz eines Netzes zu verbessern. Zu den Vorteilen dieser Methode gehören ein höherer Durchsatz und schnellere Transaktionsgeschwindigkeiten. Letzteres ist besonders wichtig für Kryptobörsen, die nach einer alternativen und effizienteren Methode zur Abwicklung von Nutzertransaktionen suchen.
Die Nachteile der Verwendung von Sharding
Die Nachteile von Sharding liegen in der Umsetzung, nicht im Konzept. Die Implementierung von Sharding ist schwierig und erfordert harte Forks, da es viele Varianten von Sharding-Vorschlägen gibt. Außerdem kann es ohne ordnungsgemäße Implementierung und Tests zu Zentralisierungsrisiken aufgrund unterbrochener Ketten oder unsachgemäßer Verteilung von Belohnungen führen.
Einige der größten Probleme beim Sharding liegen in der praktischen Umsetzung. Wenn Sie beispielsweise mehrere Shards (Datenblöcke) haben, woher wissen Sie dann, welcher Shard die aktuellsten Informationen enthält? Wenn ein Shard eine alte Version einiger Daten hat und ein anderer eine neuere, welcher sollte dann verwendet werden? Dies wird als "Shard-Synchronisierung" bezeichnet und ist etwas, das die Entwickler vor der Implementierung eines neuen Systems lösen müssen.
Sharding ist nicht wie ein Zauberstab, der alle blockchain-Probleme auf einmal lösen kann. Es ist ein Konzept, dessen Umsetzung eine Menge Arbeit erfordert, und es gibt immer Kompromisse. Die Sicherheit wird bei blockchain immer das Hauptanliegen sein - wenn man es jemandem leichter macht, das Netz anzugreifen, muss man sicherstellen, dass die Sicherheit immer noch gut genug ist, um diese Angriffe abzuwehren.
Es liegt auf der Hand, dass Sharding ein großes Potenzial hat, da es dazu beitragen könnte, die Anzahl der Transaktionen pro Sekunde zu erhöhen, indem die Anzahl der Shards erhöht wird. Infolgedessen kämen die Nutzer in den Genuss schnellerer Transaktionszeiten. Und wenn es darum geht Kryptowährungsbörsen und -handel Plattformen - das ist das Wichtigste.
Die Ronin-Seitenkette von Axie Infinity wurde kompromittiert. Sie wurde...
Die Entscheidung des britischen Berufungsgerichts ist ein wegweisendes Urteil und eröffnet Möglichkeiten für NFTs, insbesondere...
In der Welt der Künstlichen Intelligenz (KI) hat es viele aufregende Fortschritte gegeben, und die Unternehmen nutzen diese einzigartige...