Hey dort,
Transaktionsskalierbarkeit war das Gesprächsthema der Stadt. In den letzten Wochen haben wir erkundet, wie Monad hilft, TPS zu skalieren.
Die unten stehende Notiz ist eine Aufschlüsselung, wie Monad funktioniert, geschrieben von @desh_saurabh. Erwägen Sie, sich anzumelden beiDezentralisiert.coWenn Sie datengesteuerte Erläuterungen zu allem rund um Web3 gerne lesen, sehen wir uns auf der anderen Seite!
TPS ist eine Metrik, über die wir besessen sind. Wir wollen, dass unsere Ketten einen höheren TPS unterstützen, da sie mehr Benutzer und Anwendungen unterstützen könnten. Die untenstehende Grafik zeigt die TPS-Zahlen für Ethereum und L2s. Keine Kette hat jemals die Marke von 100 TPS überschritten. Beachten Sie, dass TPS ein allgemeiner Sammelbegriff für die Messung von Skala ist. TPS ist ungenau, weil nicht alle Transaktionen gleich sind, da sie sich in ihrer Komplexität unterscheiden. Aber wir verwenden TPS als Maßstab für die Skalierung aus Gründen der Einfachheit.

Was machen wir, wenn wir die TPS erhöhen wollen?
Monad, ein neues EVM-kompatibles L1, das kürzlich 225 Millionen US-Dollar eingesammelt hat, baut das EVM von Grund auf neu auf, anstatt es so zu verwenden, wie es ist. Es hat diesen dritten Ansatz gewählt, um die Skalierbarkeit zu erhöhen.
Wir diskutieren einige bedeutende Änderungen, die Monad mitbringt.
Die Ethereum Virtual Machine (EVM) führt Transaktionen seriell aus. Bis eine Transaktion ausgeführt wird, muss die nächste Transaktion warten. Stellen Sie es sich so vor. Angenommen, es gibt eine Plattform in einem Motorradmontagewerk. Mehrere Lastwagen liefern Motorradteile (so dass jeder Lastwagen alle Teile hat, die zur Herstellung von 50 Motorrädern erforderlich sind). Das Montagewerk führt vier verschiedene Funktionen mit speziellen Teams aus - Entladen, Sortieren, Montieren und Laden.

Mit dem aktuellen EVM-Setup gibt es nur eine Plattform, und der gleiche Platz wird zum Laden und Entladen genutzt. Wenn der LKW geparkt ist, werden Motorradteile entladen, sortiert, montiert und auf dem gleichen LKW geladen. Während das Sortierteam arbeitet, wartet jedes andere Team nur. Wenn Sie also an ihre Aufgaben als verschiedene Slots denken, arbeitet jedes Team nur einmal in vier Slots. Dies führt zu erheblichen Ineffizienzen und unterstreicht die Notwendigkeit eines effizienteren Ansatzes.
Nun stellen Sie sich vor, es gibt vier Plattformen mit unterschiedlichen Be- und Entladebereichen. Selbst wenn das Entlade-Team nur mit einem LKW gleichzeitig arbeiten kann, müssen sie nicht auf die nächsten drei Slots warten. Sie können direkt zum nächsten LKW übergehen.
Das Gleiche gilt für die Sortier-, Montage- und Lade-Teams. Sobald die Lastwagenladung entladen ist, fährt der Lastwagen in den Ladebereich und wartet darauf, dass das Lade-Team montierte Motorräder lädt. Das Lager mit nur einer Plattform und Lade-/Entladebereich führt alles nacheinander aus, während das Lager mit 4 Plattformen und verschiedenen Lade-/Entladebereichen parallelisiert.

Betrachten Sie Monad als Infrastruktur, die dem Lagerhaus mit mehreren LKW-Plattformen entspricht - aber nicht so einfach. Die Komplexität nimmt zu, wenn die Lastwagen voneinander abhängig sind. Was ist zum Beispiel, wenn ein Lastwagen nicht alle Teile hat, um 50 Motorräder herzustellen? Transaktionen sind möglicherweise nicht immer unabhängig. Daher muss sich Monad, wenn es sie parallel ausführt, mit voneinander abhängigen Transaktionen auseinandersetzen.
Wie? Es führt etwas namens optimistische parallele Ausführung durch. Das Protokoll kann nur unabhängige Transaktionen parallel ausführen. Betrachten Sie zum Beispiel 4 Transaktionen mit dem Guthaben von Joel als 1 ETH -
Alle diese Transaktionen werden parallel ausgeführt, wobei ausstehende Ergebnisse nacheinander bestätigt werden. Transaktionen werden erneut ausgeführt, wenn ausstehende Ergebnisse im Widerspruch zu den ursprünglichen Eingaben einer Transaktion stehen. Transaktionen 2 und 4 haben keine ausstehenden Ergebnisse, die im Widerspruch zu den Eingaben anderer Transaktionen stehen, da sie voneinander unabhängig sind. Aber 1 und 3 sind nicht unabhängig.
Beachten Sie, dass alle 4 Transaktionen vom selben Zustand ausgehen, der hier relevant ist, ist Joeles Guthaben von 1 ETH. Das Ergebnis von Joele, der 0,2 ETH sendet, beträgt 0,8 ETH. Nachdem Joele 0,1 ETH an Sid gesendet hat, beträgt sein Guthaben 0,9 ETH. Die Ergebnisse werden nacheinander bestätigt, um sicherzustellen, dass die Ausgänge nicht mit einem der Eingänge in Konflikt geraten. Nachdem das ausstehende Ergebnis von 1 bestätigt wurde, beträgt Joeles neues Guthaben 0,8 ETH.
Diese Ausgabe steht im Widerspruch zur Eingabe von 3. Daher wird 3 nun mit einer Eingabe von 0,8 ETH erneut ausgeführt. Nach der Ausführung von 3 beträgt Joeys Guthaben 0,7 ETH.

An diesem Punkt stellt sich eine offensichtliche Frage: Wie wissen wir, dass wir die Mehrheit der Transaktionen nicht erneut ausführen müssen? Die Antwort liegt darin, dass die Wiederholung nicht der Engpass ist. Der Engpass liegt im Zugriff auf den Speicher von Ethereum. Es stellt sich heraus, dass die Art und Weise, wie Ethereum seinen Zustand in der Datenbank speichert, es schwierig (zeit- und damit kostenintensiv) macht, auf den Zustand zuzugreifen. Hier kommt die andere Verbesserung von Monad ins Spiel - MonadDb. Monad hat seine Datenbank so aufgebaut, dass der mit Leseoperationen verbundene Overhead reduziert wird.
Wenn eine Transaktion erneut ausgeführt werden muss, sind alle Eingaben bereits im Cache-Speicher, was im Vergleich zum Gesamtzustand wesentlich einfacher zu erreichen ist.
Solana hat auf seinem Testnetz 50k TPS, aber auf dem Mainnetz derzeit nur ~1k. Monad gibt an, auf seinem internen Testnetz 10k echte TPS erreicht zu haben. Obwohl dies nicht immer ein Hinweis auf die Leistung in der realen Welt ist, sind wir gespannt darauf, zu sehen, wie Monad in freier Wildbahn funktioniert.
Dieser Artikel mit dem Titel "Understanding Monad" wird aus [reproduziertchaincatcher]. Alle Urheberrechte gehören dem Originalautor [Dezentralisiert.CoWenn Sie Einwände gegen den Nachdruck haben, wenden Sie sich bitte an die Gate Learn Team, das Team wird es so schnell wie möglich bearbeiten.
Haftungsausschluss: Die in diesem Artikel zum Ausdruck gebrachten Ansichten und Meinungen stellen nur die persönlichen Ansichten des Autors dar und stellen keine Anlageberatung dar.
Übersetzungen des Artikels in andere Sprachen werden vom Gate Learn-Team durchgeführt. Sofern nicht anders angegeben, ist das Kopieren, Verteilen oder Plagiieren der übersetzten Artikel untersagt.





