Sie wissen vielleicht auch, dass ein sehr wichtiger Faktor, der die derzeitige groß angelegte Anwendung der Blockchain-Technologie einschränkt, die Leistung ist. Dies ist auch einer der Gründe, warum viele traditionelle Internet-Praktiker der Blockchain-Technologie nicht optimistisch gegenüberstehen.
Wie kann man also das Leistungsproblem der Blockchain lösen? Eine der Lösungen ist die Sharding-Technologie.
01
Was ist Sharding?
Sharding ist eine Form der Datenbankpartitionierung, auch horizontale Partitionierung genannt, die eine große Datenbank in viele kleine, verarbeitbare Teile unterteilt und dadurch die Leistung verbessert und die Antwortzeit verkürzt.
Sharding ist kein neues Konzept. Es tauchte bereits Ende der 1990er Jahre in der traditionellen zentralisierten Datenbankverwaltung auf. Dieses Konzept wurde dank Ultima Online populär, einem Rollenspiel, das von mehreren Spielern gleichzeitig online gespielt wird.
In diesem Spiel weisen die Entwickler den Spielern verschiedene Server zu, um den Verkehrsdruck zu verringern (das bedeutet, dass es viele parallele „Spielwelten“ gibt). Ein kommerziell üblicher Sharding-Fall besteht darin, die Benutzerinformationsdatenbank nach geografischem Standort aufzuteilen, Benutzerinformationen im selben Bereich zusammenzuführen und auf einem separaten Server zu speichern.
02
Was ist Sharding im Blockchain-Bereich?
Die Blockchain entspricht einer Datenbank und jeder Knoten entspricht einem unabhängigen Server. Unter normalen Umständen kann jeweils nur einer dieser Knoten das Recht erhalten, Blöcke aufzuzeichnen und zu produzieren. Die übrigen Knoten, die nicht das Recht erhalten haben, Blöcke zu produzieren, sind gleichbedeutend mit „nutzloser Arbeit“ und Verschwendung von Rechenleistung.
Wenn die Sharding-Technologie auf die Blockchain angewendet wird, entspricht dies der Zerlegung aller ausstehenden Aufgaben im Blockchain-Netzwerk (z. B. Bestätigen von Transaktionen, Ausführen von DApps usw.), und die Knoten des gesamten Netzwerks werden ebenfalls jeweils gruppiert Die Gruppe Verarbeitet eine zerlegte Aufgabe (z. B. 150 zu bestätigende Transaktionen) gleichzeitig, sodass der ursprüngliche einzelne Knoten alle Aufgaben des gesamten Netzwerks abwickelt und zu mehreren Gruppen von Knoten wird, die gleichzeitig parallel verarbeiten.
Angenommen, es gibt derzeit 8.000 Knoten (Miner) auf Ethereum und 15.000 zu bestätigende Transaktionen im gesamten Netzwerk. Ethereum kann 7-15 Transaktionen pro Sekunde verarbeiten. Die Verarbeitung dieser ausstehenden Transaktionen dauert natürlich mindestens 1000 Sekunden.
Wenn mithilfe der Sharding-Technologie 8.000 Knoten in 100 Gruppen unterteilt werden, jede Gruppe 80 Knoten hat und diese 15.000 ausstehenden Transaktionen in 100 Partitionen mit jeweils 150 Transaktionen unterteilt werden, kann jede Gruppe von Knoten (80) parallel verarbeitet werden Verarbeiten Sie die ausstehenden Transaktionen (150 Transaktionen) in ihren jeweiligen Partitionen, sodass alle 15.000 ausstehenden Transaktionen in nur 10 Sekunden verarbeitet werden können.
Anhand dieses Beispiels können wir erkennen, dass die Sharding-Technologie die Leistung der Blockchain erheblich verbessern kann.
03
Potenzielle Risiken der Sharding-Technologie
Gibt es also irgendwelche Mängel in der Sharding-Technologie? Die Antwort ist ja.
Obwohl die Sharding-Technologie die Leistungsprobleme der Blockchain bis zu einem gewissen Grad lösen und die Blockchain skalierbarer machen kann, weist sie auch zwei Mängel auf.
Eine davon ist das Kommunikationsproblem in verschiedenen Bereichen nach der Aufteilung. Das obige Beispiel unterteilt das Ethereum-Netzwerk in 100 Partitionen. Jede Partition ist unabhängig, was 100 unabhängigen, parallelen Ethereum-Blockchains entspricht, von denen jede von einer Gruppe von Minern (80 Knoten) verwaltet wird.
Diese 100 unabhängigen Ethereum-Blockchains können nicht miteinander kommunizieren. Wenn sie kommunizieren möchten, ist es notwendig, einen partitionsübergreifenden Kommunikationsmechanismus (ähnlich Cross-Chain) hinzuzufügen, der die Komplexität der Blockchain erhöht und die Schwierigkeit erhöht der Entwicklung.
Der zweite Punkt ist die Sicherheit der Blockchain. Im obigen Beispiel hatte das Ethereum-Netzwerk vor dem Sharding eine Rechenleistung von 8.000 Knoten. Nach der Aufteilung in 100 Partitionen entspricht jede Partition einer unabhängigen Ethereum-Blockchain, und die Rechenleistung sank auf 80 Knoten.
Zu diesem Zeitpunkt ist es viel einfacher, einen Angriff mit 51 % Rechenleistung auf eine der Partitionen durchzuführen. Durch die Kontrolle einer Partition kann ein Angreifer in dieser Partition Schaden anrichten und Transaktionen manipulieren.
Die Ethereum Foundation plant den Einsatz der Sharding-Technologie als eines der Upgrades auf Ethereum 2.0. Wir werden abwarten, wie Ethereum die beiden oben genannten Mängel der Sharding-Technologie behebt.
Das obige ist der detaillierte Inhalt vonWas nennt Buterin Sharding als die Zukunft der Skalierbarkeit von Ethereum?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!