Seit dem Aufkommen von Rollups konzentriert sich die Blockchain-Skalierung auf die Debatte zwischen Modularität und Monolithisierung. Ursprünglich war dieser binäre Opposition ein nützliches mentales Modell für Überlegungen zur Blockchain-Skalierbarkeit, aber jetzt sind beide Lager darüber hinausgegangen.
Heutzutage schränkt Modularität gegenüber monolithisch unsere mentalen Skalierbarkeitsmodelle unnötig ein.
Also, was sonstgibt es?
In diesem Artikel werden wir die horizontale Skalierung und die vertikale Skalierung zeigen, die die Grundgerüste für die Skalierbarkeit der Blockchain waren und erklären, wie die Einführung der horizontalen Skalierung zu einer besseren Erweiterung führt Lösungen.
Zuerst einige Definitionen:
Modulare Kette trennt die Kernfunktionalität der Blockchain in verschiedene Schichten.
MonolithisierungChain integriert alle Kernfunktionen in einer einzigen, miteinander verbundenen Schicht. Wir können uns „Schichten“ als „Maschinen“ vorstellen –
monolithischeKetten haben einen einzelnen Validatorknoten, der alle Aufgaben ausführt, während modulare Ketten mehrere (2-3) vollständige Knoten haben, die verschiedene Aufgaben ausführen.
Rollup verfügt beispielsweise typischerweise über zwei laufendeKnoten: einen vollständigen Rollup-Knoten für die Ausführung und einen vollständigen Ethereum-Knotenfür die Abwicklung und Datenverfügbarkeit (DA). Und Validium wird wahrscheinlich drei laufendeKnoten nutzen: einen Rollup-Vollknoten für die Ausführung, einen Ethereum-Vollknoten für die Abwicklung und einen Vollknoten der Backup-Datenverfügbarkeitsschicht für DA. Verteilen Sie die Aufgaben der Blockchain modular auf mindestens zwei Full Nodes. Auf diese Weise können modulare Blockchains beim Aufbau jedes Blocks die Rechenleistung mehrerer Computer nutzen. Dies ist eine Form der horizontalen Expansion. Modularität ist nützlich, wenn man über die Skalierbarkeit der Blockchain nachdenkt, da es sich um eine Art horizontale Skalierung handelt.
Andererseits entscheidet sich die Mehrheit des monolithischenLagers für die Optimierung durch Software, die Implementierung paralleler virtueller Maschinen, Datenpipelines, schnellere Netzwerkprotokolle und (vor allem) leistungsfähigere Hardware expandieren. Im Wesentlichen versucht eine monolithische Kette, so viel Rechenleistung wie möglich aus einem einzelnen vollständigen Knoten zu extrahieren. vertikalen Skalierung. argumentieren , dass dieser Ansatz zur Zentralisierung tendiert: Wenn man sich darauf verlässt, die Leistung eines einzelnen Knotens zur Skalierung zu erhöhen, stößt man unweigerlich auf die physischen Grenzen der zugrunde liegenden Hardware und ist gezwungen, die Hardwareanforderungen zu erhöhen weiter skalieren. falsch, da nicht alle singularisierten Ketten ausschließlich auf vertikaler Skalierung basieren. Near ist beispielsweise eine monolithischeL1-Blockchain, die auf einer Shard-Netzwerkarchitektur basiert. Dies bedeutet, dass die vollständigen Knoten von Near für alle Aufgaben (d. h. Ausführung, Abrechnung und Datenverfügbarkeit) verantwortlich sind, sie jedoch nur für einen kleinen Teil des globalen Zustands von Near verantwortlich sind. Daher nutzt Near die Rechenleistung mehrerer Computer (genau wie eine modulare Kette), indem es Arbeit basierend auf dem Status und nicht auf der Grundlage von Aufgaben verteilt. Wir können sehen, dass nein ob es sich um eine monolithische Ketteoder eine modulare Kette handelt,keine Einschränkungen hinsichtlich der von ihnen implementierten Erweiterungstechnologien gibt. Beide können horizontal und/oder vertikal erweitert werden . Darüber hinaus wurzelt die Debatte zwischen Modularität und Monolithisierung immer im Rahmen der horizontalen vs. vertikalen Expansion modular dazu, horizontal zu skalieren, was seinem Design innewohnt, während monolithisch dazu neigt , vertikal zu skalieren. Nachdem wir die modulare Kette erfolgreich eingeführt haben, ist der zusätzliche Skalierungsvorteil nicht mehr „modularer“. Der Fokus liegt nun darauf, wie die Kette die horizontale oder vertikale Skalierungstechnologie nutzen kann. Die Einführung eines Denkmodells von horizontaler vs. vertikaler ermöglicht es uns, leicht über die Kompromisse nachzudenken, die jede Kette auf dem Weg macht. vs. vertikale Skalierung befassen, ist es wichtig anzuerkennen, dass seine Ursprünge bis in die 1970er Jahre zurückreichen, als verteiltes Rechnen untersucht wurde, als horizontale Skalierungskonzepte den Grundstein legten . Heutzutage Alle Skalierungstechnologien können als horizontale oder vertikale Skalierung klassifiziert werden.
Vertikale Skalierung erhöht die Hardwareauslastung bzw. Hardwareanforderungen jedes Knotens. In der Blockchain erfolgt dies in der Regel durch Softwareoptimierungen wie parallele virtuelle Maschinen (also Multithread-Prozesse). Ein häufiges Beispiel ist versus SVM. EVM sequentiell aus, während SVM Transaktionen parallel ausführt. SVM erreicht dies durch die Verwendung von mehr CPU-Kernen, sodass SVM mehr Transaktionen pro Sekunde verarbeiten kann als EVM. HINWEIS: Diese Art der vertikalen Erweiterung ist die Grundlage für Eclipse L2.
Horizontale Skalierung Andererseits erhöht die die Anzahl der Maschinen, auf die das System zugreifen kann, indem die Arbeitslast auf mehrere Knoten verteilt wird. Wie bereits erwähnt, verteilt die modulare Verkettung Aufgaben im Wesentlichen auf mehrere Maschinen. Allerdings können Ketten durch „Sharding“ oft einen größeren Grad an horizontaler Skalierung erreichen. =nil;Hier finden Sie ein nützliches Beispiel. Letzten November hat die =nil; Foundation eine überprüfbare Sharding-Architektur namens zkSharding ins Leben gerufen, die die Grundlage des neuen Ethereum L2 bildet. =nil; Der Kern des Designs besteht darin, seinen globalen Zustand in mehrere Shards aufzuteilen. Jeder Shard wird von einem dezentralen Komitee geleitet, das Blöcke aufbaut und Shard-übergreifende Transaktionen verwaltet. Darüber hinaus generiert jeder Shard einen Gültigkeitsnachweis, der zur Aggregation an den Master-Shard gesendet und dann auf Ethereum veröffentlicht und überprüft wird. =nil ; nutzt die Fähigkeit der horizontalen Skalierung auf zwei Arten: Erstens ist =nil; eine modulare Blockchain, die den starken Konsens und die Datenverfügbarkeit von Ethereum als Garantien nutzt und dadurch Aufgaben verteilt mehrere vollständige Knoten. vollständigeKnoten verteilt sind. erhöhen die Gesamtskalierbarkeit des Netzwerks. Was sind also die Kompromisse bei der horizontalen Weder horizontale noch vertikale Skalierungsind beschränkt modulare oder monolithische Architekturen. Aus diesem Grund bietet das horizontale vs. Eine Option ist beispielsweise die vertikale Skalierung einer Schicht des modularen Stapels. Eine häufig verwendete Methode besteht darin, parallele virtuelle Maschinen zu implementieren, um den Ausführungsdurchsatz zu verbessern. Wie oben erwähnt, nutzt Eclipse SVM und andere Rollups wie Starknet, um BlockSTM für die Parallelisierung zu implementieren. Allerdings ist die vertikale Expansion immer durch die Beschränkungen einer einzelnen Maschine begrenzt, und wir können die Gesetze der Physik nicht brechen. Eine Lösung könnte darin bestehen, sich für horizontale Skalierung per Sharding zu entscheiden. Rechenleistung einer beliebigen Anzahl von Maschinen nutzen (anstatt nur 2-3 Maschinen, die sich Aufgaben teilen). Mit anderen Worten: Viele Maschinen können die gleiche Art von Aufgaben parallel ausführen. Dies ist es, was Ethereum und Celestia durch Danksharding bzw. Data Sharding erreichen wollen. Allerdings ist Sharding nicht grundsätzlich auf die Datenverfügbarkeitsschicht beschränkt – es kann auch mit der Ausführung kombiniert werden (wie im Fall von =nil; L2).
Wenn wir die durch modulares Stapeln erreichte horizontale Skalierung mit der durch Sharding bereitgestellten horizontalen Skalierung kombinieren, erhalten wir eine enorme Steigerung der verfügbaren Rechenleistung. Aber wir können es besser machen ... Das ultimative Ziel der Blockchain-Skalierbarkeit wird sowohl die horizontale als auch die vertikale Skalierung verschmelzen, was zu einer Shard-Blockchain mit parallelen virtuellen Maschinen führt.
Auf der =nil;Stiftung bewegen wir uns systematisch auf dieses Endzustandsdesign zu. =nil;s L2 verfolgt eine aggressive Skalierungs-Roadmap durch die Nutzung einer modularen, horizontal skalierbaren Architektur (zkSharding) und einer vertikal skalierbaren Validator-Implementierung (Intra-Shard-Parallelisierung). Daher ermöglicht das Design von =nil; eine globale Skalierung, ohne Einbußen bei Status, Liquidität oder Benutzerfragmentierung. Wenn Sie neugierig auf horizontale Skalierung und zkSharding sind, können Sie sich auf Discord und X der =nil Foundation beteiligen. Zweitens
Das Endspiel für die Skalierbarkeit von Ethereum
Das obige ist der detaillierte Inhalt vonModulare vs. monolithische Architektur ist tot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!