Heim  >  Artikel  >  Modulare vs. monolithische Architektur ist tot

Modulare vs. monolithische Architektur ist tot

王林
王林nach vorne
2024-05-06 08:22:01938Durchsuche

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.

Modularität vs. monolithisch verstehen

Zuerst einige Definitionen:

Modulare Kette trennt die Kernfunktionalität der Blockchain in verschiedene Schichten.

Monolithisierung

Chain integriert alle Kernfunktionen in einer einzigen, miteinander verbundenen Schicht. Wir können uns „Schichten“ als „Maschinen“ vorstellen –

monolithische

Ketten 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.

模块化 vs. 单体化架构已死

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.

模块化 vs. 单体化架构已死

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.

Dies ist eine Form der

vertikalen Skalierung.

Kritiker

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.

Diese Kritik ist jedoch

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.

模块化 vs. 单体化架构已死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

. Aus rein technischer Sicht tendiert

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.

Die Konversation neu definieren: Horizontale vs. vertikale Skalierung

Bevor wir uns mit dem Rahmen für horizontale

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

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

EVM

versus SVM. EVM

führt Transaktionen

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.

In Bezug auf Kompromisse ist die vertikale Skalierung durch die verfügbare Hardware begrenzt, wird aufgrund erhöhter Hardwareanforderungen tendenziell zentralisiert und ist weniger skalierbar als die horizontale Skalierung.

模块化 vs. 单体化架构已死

Horizontale Skalierung

Andererseits erhöht die

Horizontale Skalierung

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. 模块化 vs. 单体化架构已死

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.

    Zweitens
  • ,=nil; ist eine Shard-Blockchain, sodass Teilzustände auf viele

    vollständigeKnoten verteilt sind.

  • Beide Techniken reduzieren die Belastung, die jede einzelne Maschine tragen muss, und

    erhöhen die Gesamtskalierbarkeit des Netzwerks. Was sind also die Kompromisse bei der horizontalen

    Skalierung? Dabei kommt es auf zwei Dinge an: Netzwerk- und Konsenskomplexität und asynchrone Kommunikation zwischen Maschinen oder Shards.
Das Endspiel für die Skalierbarkeit von Ethereum

Weder horizontale noch vertikale Skalierungsind beschränkt

auf

modulare oder monolithische Architekturen. Aus diesem Grund bietet das horizontale vs.

vertikale Skalierungsframework mehr Raum für die Erforschung neuer Lösungen und macht modulare Blockchains skalierbarer.

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.

Aktuelle modulare Designs beginnen gerade erst, das volle Potenzial der horizontalen Skalierung auszuschöpfen. Mit Sharding können wir die

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).

模块化 vs. 单体化架构已死

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.

模块化 vs. 单体化架构已死

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.

模块化 vs. 单体化架构已死

Wenn Sie neugierig auf horizontale Skalierung und zkSharding sind, können Sie sich auf Discord und X der =nil Foundation beteiligen.

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:chaincatcher.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen