ein Leistungsbericht
Der am 17. Mai von CoinGecko veröffentlichte Bericht „Fastest Chains“ zeigt, dass Solana die schnellste unter den großen Blockchains ist, wobei der höchste tägliche durchschnittliche reale TPS 1.054 erreicht (Abstimmungstransaktionen wurden entfernt), und Sui ist die zweithöchste Blockchain Der tägliche durchschnittliche reale TPS erreicht 854, BSC liegt an dritter Stelle, aber der erreichte reale TPS beträgt weniger als die Hälfte von Sui.
Wie aus diesem Bericht hervorgeht, sind Solana und Sui beide nicht EVM-kompatible Blockchains mit der besten Leistung. Darüber hinaus beträgt der durchschnittliche tatsächliche TPS von 8 nicht EVM-kompatiblen Blockchains 284, 17 EVM-kompatible Blockchains und der durchschnittliche TPS von Ethereum Layer 2 beträgt nur 74, und die Leistung von nicht EVM-kompatiblen Blockchains ist etwa viermal so hoch wie die von EVM-kompatiblen Blockchains.
In diesem Artikel werden die Leistungsengpässe von EVM-kompatiblen Blockchains untersucht und die Leistungsmethoden von Solana vorgestellt.
Leistungsengpässe bei EVM-kompatiblen Blockchains
Zunächst verallgemeinern wir die EVM-Blockchain auf allgemeine Blockchains. Wenn Blockchain TPS verbessern möchte, gibt es im Allgemeinen mehrere Methoden:
Verbessern Sie die Knotenleistung: Verbessern Sie die Knotenleistung durch Stapeln von Hardwareressourcen. Die Hardwareanforderungen des Knotens wirken sich beispielsweise auf die empfohlene Konfiguration von Ethereum, CPU 4 Kerne, Speicher 16 G, Netzwerkbandbreite 25 Mbit/s aus. Level-Geräte können einen höheren Grad an Dezentralisierung erreichen; Solana empfiehlt eine relativ höhere Konfiguration von 32 CPU-Kernen, 128 G Speicher und 1 Gbit/s Netzwerkbandbreite, die nur mit professionellen Geräten erreicht werden kann, und der Grad der Dezentralisierung ist durchschnittlich ;
Verbessern Sie die zugrunde liegenden Protokolle: einschließlich Netzwerkprotokolle, Kryptografie, Speicherung usw. Die Verbesserung der zugrunde liegenden Protokolle der Blockchain ändert weder die Eigenschaften der Blockchain selbst noch wirkt sie sich auf die Betriebsregeln der Blockchain aus die Blockchain, aber die zugrunde liegende technische Aufmerksamkeit ist gering und es gibt keine großen Durchbrüche im aktuellen Forschungsbereich;
Erweitern von Blöcken: Eine Vergrößerung der Blöcke kann mehr Transaktionen umfassen und dadurch den Transaktionsdurchsatz der Blockchain erhöhen. Bitcoin Cash (BCH) hat beispielsweise Blöcke von 1 MB auf 8 MB und später auf 32 MB erweitert. Allerdings erhöht die Erweiterung des Blocks auch die Ausbreitungsverzögerung und verursacht Sicherheitsbedrohungen, wie z. B. eine erhöhte Möglichkeit von Forks und DDoS-Angriffen;
Konsensprotokoll: Das Konsensprotokoll stellt sicher, dass alle Knoten in der Blockchain eine Einigung über die Statusaktualisierung der Blockchain erzielen. Es ist das wichtigste Sicherheitstor der Blockchain. Zu den Konsensmechanismen, die in der Blockchain verwendet wurden, gehören PoW, PoS, PBFT usw. Um den Anforderungen der Skalierbarkeit gerecht zu werden, verbessern leistungsstarke öffentliche Ketten im Allgemeinen das Konsensprotokoll und kombinieren es mit ihren eigenen speziellen Mechanismen, wie dem PoH-basierten Konsensmechanismus von Solana und dem Avalanche-basierten Konsensmechanismus von Avalanche.
Transaktionsausführung: Bei der Transaktionsausführung geht es nur um die Anzahl der pro Zeiteinheit verarbeiteten Transaktionen oder Rechenaufgaben. Blockchains wie Ethereum verwenden eine serielle Methode, um intelligente Vertragstransaktionen in Blöcken auszuführen. Bei der seriellen Ausführung ist der Leistungsengpass der CPU sehr offensichtlich. , was den Durchsatz der Blockchain stark einschränkt. Im Allgemeinen werden leistungsstarke öffentliche Ketten die parallele Ausführung übernehmen, und einige werden Sprachmodelle vorschlagen, die der Parallelität zum Aufbau intelligenter Verträge förderlicher sind, wie beispielsweise Sui Move.
Für die EVM-Blockchain liegt die größte Herausforderung in der Transaktionsausführung aufgrund der Beschränkung der virtuellen Maschine, die die Ausführungsumgebung von Transaktionen darstellt. EVM hat zwei Hauptleistungsprobleme:
256-Bit: Die EVM ist als virtuelle 256-Bit-Maschine konzipiert, um die Verarbeitung der Hashing-Algorithmen von Ethereum zu erleichtern, die explizit eine 256-Bit-Ausgabe erzeugen. Der Computer, auf dem EVM tatsächlich ausgeführt wird, muss jedoch zur Ausführung 256-Bit-Bytes der lokalen Architektur zuordnen. Ein EVM-Opcode entspricht mehreren lokalen Opcodes, was das gesamte System sehr ineffizient und unpraktisch macht.
Fehlende Standardbibliothek: Es gibt keine Standardbibliothek in Solidity, und Sie müssen diese selbst mit Solidity-Code implementieren. Obwohl OpenZeppelin diese Situation in gewissem Maße verbessert hat, stellen sie eine Standardbibliothek für die Solidity-Implementierung bereit (durch Einbindung des Codes in den Vertrag oder). in Form von Delegatecall Rufen Sie den bereitgestellten Vertrag auf), aber die Ausführungsgeschwindigkeit des EVM-Bytecodes ist viel geringer als die der vorkompilierten Standardbibliothek.
Aus Sicht der Ausführungsoptimierung weist EVM immer noch zwei große Mängel auf:
Schwierigkeiten bei der statischen Analyse: Die parallele Ausführung in der Blockchain bedeutet, dass nicht verwandte Transaktionen gleichzeitig verarbeitet werden und nicht verwandte Transaktionen als Ereignisse behandelt werden, die sich nicht gegenseitig beeinflussen. Die größte Herausforderung bei der parallelen Ausführung besteht darin, zu bestimmen, welche Transaktionen irrelevant und welche unabhängig sind. Derzeit führen einige leistungsstarke öffentliche Ketten im Voraus eine statische Analyse von Transaktionen durch. Der dynamische Sprungmechanismus von EVM erschwert die statische Analyse des Codes. ;
Der JIT-Compiler ist unausgereift: Der JIT-Compiler (Just In Time Compiler) ist eine häufig verwendete Optimierungsmethode in modernen virtuellen Maschinen. Das Hauptziel von JIT besteht darin, die Interpretationsausführung in eine kompilierte Ausführung umzuwandeln. Zur Laufzeit kompiliert die virtuelle Maschine den Hotcode in Maschinencode für die lokale Plattform und führt verschiedene Optimierungsebenen durch. Obwohl es derzeit EVM-JIT-Projekte gibt, befinden sie sich noch im experimentellen Stadium und sind nicht ausgereift genug.
Daher verwenden leistungsstarke öffentliche Ketten im Hinblick auf die Auswahl virtueller Maschinen virtuelle Maschinen basierend auf WASM, eBPF-Bytecode oder Move-Bytecode anstelle von EVM. Solana verwendet beispielsweise seine eigene einzigartige virtuelle Maschine SVM und den eBPF-basierten Bytecode SBF.
Schnellste Ketten: Solana
Solana ist berühmt für seinen PoH-Mechanismus (Proof of History) und seine geringe Latenz sowie seinen hohen Durchsatz. Es ist einer der bekanntesten „Ethereum-Killer“.
Im Kern ist PoH ein einfacher Hash-Algorithmus, der der Verifiable Delay Function (VDF) ähnelt. Solana wird mithilfe einer Sequenz-Preimage-resistenten Hash-Funktion (SHA-256) implementiert, die kontinuierlich ausgeführt wird und die Ausgabe einer Iteration als Eingabe für die nächste verwendet. Diese Berechnung wird auf einem einzelnen Kern pro Validator ausgeführt.
Während die Sequenzgenerierung sequentiell und Single-Threaded erfolgt, kann die Verifizierung parallel erfolgen, was eine effiziente Verifizierung auf Multi-Core-Systemen ermöglicht. Zwar gibt es eine Obergrenze für die Hashing-Geschwindigkeit, Hardware-Verbesserungen können jedoch zu zusätzlichen Leistungssteigerungen führen.
Solana-Konsensprozess
Der PoH-Mechanismus dient als zuverlässige und vertrauenswürdige Zeitquelle und erstellt eine überprüfbare und geordnete Aufzeichnung von Ereignissen innerhalb des Netzwerks. PoH-basiertes Timing ermöglicht es dem Solana-Netzwerk, Führungskräfte planmäßig und transparent zu wechseln. Diese Rotation erfolgt in festen Intervallen von 4 Slots, wobei jeder Slot derzeit auf 400 Millisekunden eingestellt ist. Dieser Leader-Rotationsmechanismus stellt sicher, dass jeder teilnehmende Validator eine faire Chance hat, ein Leader zu werden, und ist ein wichtiger Mechanismus für das Solana-Netzwerk, um Dezentralisierung und Sicherheit aufrechtzuerhalten und zu verhindern, dass ein einzelner Validator zu viel Macht im Netzwerk erlangt.
In jeder Slot-Periode schlägt der Leiter einen neuen Block vor, der die von Benutzern empfangenen Transaktionen enthält. Der Leiter validiert diese Transaktionen, packt sie in einen Block und sendet den Block dann an die verbleibenden Validatoren des Netzwerks. Dieser Prozess des Vorschlagens und Verbreitens von Blöcken wird Blockproduktion genannt, und andere Validatoren im Netzwerk müssen über die Gültigkeit des Blocks abstimmen. Validatoren prüfen den Inhalt von Blöcken, um sicherzustellen, dass Transaktionen gültig sind und den Netzwerkregeln entsprechen. Ein Block gilt als bestätigt, wenn er die Mehrheit der Stimmen des Einsatzgewichts erhält. Dieser Bestätigungsprozess ist entscheidend für die Aufrechterhaltung der Sicherheit des Solana-Netzwerks und die Vermeidung doppelter Ausgaben.
Wenn der Zeitraum des aktuellen Leiters endet, stoppt das Netzwerk nicht und wartet nicht auf die Blockbestätigung, sondern geht zum nächsten Zeitraum über, sodass nachfolgende Leiter die Möglichkeit haben, Blöcke zu produzieren, und der gesamte Prozess beginnt von vorne. Dieser Ansatz stellt sicher, dass das Solana-Netzwerk einen hohen Durchsatz beibehält und ausfallsicher bleibt, selbst wenn bei einigen Validatoren technische Probleme auftreten oder sie offline gehen.
Solana Performance Tao
Da das Solana-Netzwerk die Führungskräfte im Voraus bestätigt, benötigt Solana keinen öffentlichen Mempool, um die Transaktionen der Benutzer zu speichern. Wenn ein Benutzer eine Transaktion übermittelt, wandelt der RPC-Server diese in ein QUIC-Paket um und leitet es sofort an den Validator des Leiters weiter. Dieser Ansatz wird Gulf Stream genannt und ermöglicht schnelle Leader-Übergänge und die Vorausführung von Transaktionen, wodurch die Speicherbelastung anderer Validatoren reduziert wird.
Die Blockdaten von Solana werden in den Kernelraum gebracht und dann zur parallelen Signaturüberprüfung an die GPU weitergeleitet. Sobald die Signatur auf der GPU überprüft wurde, werden die Daten zur Transaktionsausführung an die CPU übergeben und schließlich an den Kernelraum zurückgegeben Datenpersistenz. Dieser Mehrfachverarbeitungsprozess zur Aufteilung von Daten in verschiedene Hardwarekomponenten, sogenannte Pipeline-Technologie, kann die Hardwareauslastung maximieren und die Überprüfung und Übertragung von Blöcken beschleunigen.
Da die Transaktionen von Solana explizit angeben, auf welche Konten zugegriffen wird, kann der Transaktionsplaner von Solana Lese-/Schreibsperrmechanismen nutzen, um Transaktionen parallel auszuführen. Jeder Thread des Solana-Transaktionsplaners verfügt über eine eigene verwaltete Warteschlange, verarbeitet Transaktionen sequentiell und unabhängig, versucht, das Konto der Transaktion zu sperren (Lese-/Schreibsperre) und führt die Transaktion mit Kontokonflikten später aus. Diese Multithread-Parallelausführungstechnologie heißt Sealevel.
Der Prozess der Leader-Propagierung von Blöcken, der Aufteilung von QUIC-Paketen (optional unter Verwendung von Erasure Coding) in kleinere Pakete und deren Verteilung an Validatoren in einer hierarchischen Struktur. Diese Technik wird Turbine genannt und reduziert hauptsächlich die Bandbreitennutzung des Leaders.
Während des Abstimmungsprozesses nutzen Validatoren einen Konsensmechanismus für die Fork-Abstimmung. Validatoren müssen nicht auf Stimmen warten, um mit der Blockproduktion fortzufahren; stattdessen überwachen Blockproduzenten kontinuierlich, ob gültige neue Stimmen vorliegen, und fügen diese in Echtzeit in den aktuellen Block ein. Dieser Konsensmechanismus heißt TowerBFT. Durch die Zusammenführung der Fork-Stimmen in Echtzeit sorgt Solana für einen effizienteren und schlankeren Konsensprozess und verbessert dadurch die Gesamtleistung.
Für den Persistenzprozess von Blöcken hat Solana die Cloudbreak-Datenbank entwickelt, um die Effizienz von SSD zu maximieren, indem die Kontodatenstruktur auf eine bestimmte Weise partitioniert wird, um von der Geschwindigkeit sequenzieller Vorgänge zu profitieren und speicherzugeordnete Dateien zu verwenden.
Um die Belastung der Validatoren zu verringern, überträgt Solana den Datenspeicher von Validatoren an ein Netzwerk von Knoten namens Archiver. Der Verlauf des Transaktionsstatus wird in viele Fragmente aufgeteilt und es kommt die Erasure-Coding-Technologie zum Einsatz. Der Archiver wird zum Speichern von Zustandsfragmenten verwendet, beteiligt sich jedoch nicht am Konsens.
Zusammenfassen
Solanas Vision ist es, eine Blockchain zu sein, deren Software mit der Geschwindigkeit der Hardware skaliert, sodass Solana alle CPU-, GPU- und Bandbreitenfunktionen, die in heutigen Computern verfügbar sind, voll ausnutzt, um die Leistung zu maximieren, mit einer theoretischen Höchstgeschwindigkeit von 65.000 TPS.
Gerade aufgrund der hohen Leistung und Skalierbarkeit von Solana ist Solana zur bevorzugten Blockchain-Plattform für die Verarbeitung hochfrequenter Transaktionen und komplexer Smart Contracts geworden, sei es der DePIN/AI-Track zu Beginn des Jahres oder der kürzlich angesagte Meme-Track. Solana hat sein großes Potenzial unter Beweis gestellt.
Nach der Einführung des Ethereum ETF ist Solana auch die Kryptowährung mit den meisten Forderungen für den nächsten ETF geworden. Obwohl die SEC Solana immer noch als Wertpapier listet, werden andere Kryptowährungs-ETFs kurzfristig nicht zugelassen. Aber auf dem Kryptomarkt ist Konsens wertvoll, und der Konsens von Solana könnte ebenso unzerstörbar werden wie der von Bitcoin und Ethereum.