Heim  >  Artikel  >  Eingehende Analyse: Wie wurde Solana blockiert?

Eingehende Analyse: Wie wurde Solana blockiert?

PHPz
PHPznach vorne
2024-04-09 08:07:111061Durchsuche

Warum scheitern aktuelle Transaktionen auf Solana immer?

Lassen Sie es uns Schritt für Schritt analysieren, beginnend mit den grundlegendsten Konzepten.

Aus Benutzersicht gibt es beim Handel auf Solana im Wesentlichen drei mögliche Ergebnisse:

  • Die Transaktion wurde erfolgreich ausgeführt und alles ist in Ordnung;

  • Die Transaktionsausführung ist fehlgeschlagen Der Benutzer hat die Gasgebühr bezahlt, aber das Ausführungsergebnis wurde falsch zurückgegeben. Dies geschieht, wenn eine Transaktion die Bedingungen nicht erfüllt, z. B. wenn der Token, den der Benutzer kaufen möchte, ausverkauft ist oder der Preis zu schnell schwankt (über den voreingestellten Slippage hinaus) usw.; Verlorene Transaktion (Verworfen)

    : Die Transaktion hat keine Spur, das heißt, die Transaktion konnte den „Block-Leader-Knoten“ nicht erreichen (Odaily-Hinweis: Der Pflichtknoten, der alle 4 Blöcke rotiert).
  • Dies ist die Situation, mit der die meisten Benutzer derzeit konfrontiert sind. Im Wesentlichen handelt es sich hierbei um ein Problem der Netzwerkschicht, nicht um ein Problem der Konsensschicht oder der Ausführungsschicht.
  • Ausführungsprobleme sind nicht die Hauptursache für Überlastungen

  • Nun fragen Sie sich vielleicht: Was ist die Netzwerkschicht?

Warum gehen Transaktionen verloren? Warum sind sie die Hauptursache für die derzeitige Überlastung in Solana?

Lassen Sie uns diese wichtigsten Probleme vorerst beiseite legen und uns zunächst die Transaktionen ansehen, die nicht ausgeführt werden konnten (d. h. den zweiten Fall), und erklären, warum fehlgeschlagene Transaktionen nicht die Hauptursache für Überlastungen sind.

In Kombination mit On-Chain-Daten ist ersichtlich, dass nur etwa 8 % aller fehlgeschlagenen Transaktionen von echten Benutzern übermittelt wurden und der Rest Arbitrage-Transaktionen waren, die von On-Chain-Robotern initiiert wurden.

Der Grund, warum Arbitrageure weiterhin „Junk“-Transaktionen initiieren, liegt darin, dass die Kosten für die häufige Initiierung von Transaktionen im Vergleich zu den potenziellen Gewinnen, die durch erfolgreiche Arbitrage erzielt werden können, minimal sind.

Konkret können Arbitrageure kontinuierlich Transaktionen innerhalb eines Tages initiieren. Die Kosten dafür betragen etwa ein paar hundert Dollar pro Tag (da die Netzwerkgebühren von Solana niedrig sind), aber solange man Erfolg hat, können sie einen Gewinn erzielen. zu Gewinnen in Hunderttausenden Dollar führen. 深度解析:Solana 究竟是如何堵上的?

Es ist zu beachten, dass diese fehlgeschlagenen Transaktionen nicht bedeuten, dass das Solana-Netzwerk ausgefallen ist und die Blockchain weiterhin normal läuft. Dies sind nur einige Robotertransaktionen, die fehlgeschlagen sind, weil die Bedingungen nicht erfüllt wurden.

Dies ist nicht der Hauptgrund für Solanas aktuelle schlechte Erfahrung.

Tatsächlich liegt

Solanas Transaktionsfehlerquote seit November letzten Jahres bei etwa 50 %.

Die wahre Ursache: Transaktionen, die auf der Netzwerkebene verloren gehen

Nun lassen Sie uns die wahre Ursache für die Überlastung von Solana in den letzten Tagen besprechen – „verlorene Transaktionen“.

Wie bereits erwähnt, handelt es sich hierbei um Transaktionen, die den „Block-Leader-Knoten“ nicht erreichen konnten, und der Grund, warum die Transaktionen nicht ankamen, liegt darin, dass sie in der Netzwerkschicht verworfen wurden.

Die Netzwerkschicht ist die Kommunikationsschicht des Internets. Sie wird zum Senden von Datenpaketen von einem Endpunkt an einen anderen verwendet. Zu den gängigen Protokollen der Netzwerkschicht gehören TCP, UDP, QUIC (entwickelt von Google) und so weiter. Solana hat zuvor sein Netzwerkschichtprotokoll auf QUIC aktualisiert, Dies hilft dabei, Verbindungen zwischen Benutzern und „Blockleader-Knoten“ herzustellen.

Da Solana einen kontinuierlichen Blockgenerierungsmechanismus anwendet und es keinen Mempool zum vorübergehenden Speichern unbestätigter Transaktionen gibt, bedeutet dies, dass die Transaktion nach einem Verbindungsverlust nie wieder in einen Block aufgenommen wird.

深度解析:Solana 究竟是如何堵上的?

Der Vorteil des QUIC-Protokolls besteht darin, dass der „Blockleader-Knoten“ eine neue Funktion erhalten kann: Bestimmte Benutzerverbindungen abschneiden oder deren Datenübertragungsrate anhand bestimmter Kriterien begrenzen.

Die Bedeutung dieser Funktion besteht darin, dass wenn eine Spitzenlast im Netzwerk auftritt, der „Block-Leader-Knoten“ proaktiv bestimmte Verbindungen unterbrechen kann, wodurch verhindert wird, dass Solana aufgrund erhöhter Netzwerkaktivität vollständig heruntergefahren wird.

Sie fragen sich vielleicht wieder: Wenn das Design des QUIC-Protokolls so perfekt ist, warum ist Solana jetzt immer noch so blockiert?

Das eigentliche Problem besteht darin, dass „Blockleader-Knoten“ zwar nun wählen können, bestimmte Verbindungen aktiv zu regulieren, die Logik der Entscheidung, welche Verbindungen reguliert werden müssen, jedoch problematisch ist.

深度解析:Solana 究竟是如何堵上的?

Um dieses Problem konkreter zu verstehen, können wir uns eine Situation vorstellen, in der jeder „Blockleader-Knoten“ über X-Verbindungen verfügt, die kommunizieren können, aber wenn die Netzwerknachfragespitze zu diesem Zeitpunkt auftritt, werden die Verbindungsanfragen empfangen Durch den Knoten beträgt das 10- bis 100-fache seiner Tragfähigkeit ... Zu diesem Zeitpunkt muss sich der Knoten dafür entscheiden, einige Verbindungen zu unterbrechen. Die aktuelle Situation ist jedoch, dass es keinen festgelegten Standard dafür gibt, wie die zu trennenden Verbindungen ausgewählt werden (z. B. das Trennen aller Verbindungen mit Kosten von weniger als xxx), und ob alle Verbindungen unterbrochen werden, ist zufällig. .. Letztendlich können Sie in der aktuellen Situation, wenn Sie möchten, dass eine Transaktion bestätigt wird, nur mehr Transaktionsanfragen senden, aber da es viele Bots gibt, die auch ständig eine große Anzahl von Verbindungsanfragen an die senden Netzwerk, normale Benutzer stellen eine Verbindung her und der vollständige Handel wird immer schwieriger.

Wie kann ich das Problem beheben? wie lange es dauert?

Das ist das Problem, mit dem Solana derzeit konfrontiert ist.

Derzeit arbeiten Jump (Firedancer-Client-Entwicklungsteam), Anza (Agave-Client-Entwicklungsteam), Solana Labs und andere Teams an der Reparatur der Netzwerkschicht. Korrekturen werden diese Woche nach und nach eingeführt und es wird erwartet, dass in den kommenden Wochen einige wichtige Updates veröffentlicht werden.

Wird das Problem dadurch effektiv gelöst? Wird Solana noch einmal „to da Moon“? Es gibt keine eindeutige Antwort.

Es gibt drei Hauptgründe, warum es immer noch viele Unsicherheiten gibt:

  • Erstens kann niemand garantieren, ob der bevorstehende Reparaturpatch greift. Erst wenn es tatsächlich funktioniert, können wir sehen, was tatsächlich passiert.

  • Zweitens scheint der von Jump entwickelte Firedancer-Client das Problem lösen zu können, wird aber erst Ende dieses Jahres offiziell veröffentlicht.

  • Das dritte Problem betrifft „Junk“-Transaktionen, die es dem Netzwerk erschweren, zu verhindern, dass böswillige Akteure weiterhin „Junk“-Transaktionsangriffe auf die Kette durchführen.

Abschließend möchte ich an alle appellieren, eines zu erkennen: Ich glaube, dass Solana darum kämpft, die richtigen Kompromisse einzugehen (Odaily-Hinweis: Bezieht sich auf die Festlegung angemessener Standards für die Verbindungssegmentierung), genau wie es bei Ethereum Solana der Fall sein wird frei von diesen Problemen, wie sie von so vielen anderen frei war.

Das obige ist der detaillierte Inhalt vonEingehende Analyse: Wie wurde Solana blockiert?. 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