Solana verhindert zukünftiges Herunterfahren des Netzwerks, wenn erneut ein Laufzeitfehler auftritt: Details

Das Solana-Netzwerk Den letzten Ausfall gab es am 1. Juni, als der Solana Mainnet Beta-Cluster aufgrund eines ins Stocken geratenen Konsenses die Erstellung von Blöcken einstellte. Dies wurde durch einen Laufzeitfehler in der Funktion für dauerhafte Nonce-Transaktionen verursacht, die regelt, wie die Blockchain eine bestimmte Form der Transaktion verarbeitet, die für die Offline-Verwendung vorgesehen ist.

Nach der Deaktivierung dieser „dauerhaften Nonce-Transaktionen“ begannen die Validatoren viereinhalb Stunden später mit dem Neustart des Netzwerks. Am folgenden Tag, um 9:00 Uhr UTC, wurde die Blockproduktion wieder aufgenommen und die Netzwerkbetreiber stellten in den nächsten Stunden weiterhin die Client-Dienste wieder her.

Der jüngste Ausfall deutete darauf hin, dass Solana nicht in der Lage ist, mit dauerhaften Nonces umzugehen. Die Validatoren des Netzwerks zählten diese Nischeneingänge doppelt als eine einzelne Transaktion auf zwei separaten Blockhöhen, anstatt sie als eine einzelne Transaktion zu betrachten. Der Konsensmechanismus von Solana wurde durch dieses unmögliche Dilemma effektiv gebrochen.

Solana ergreift proaktive Schritte

Um den Durchsatz zu erhöhen, nutzt Solana die parallele Verarbeitung nicht überlappender Transaktionen. Eine inkrementierende Nonce kann von Netzwerken verwendet werden, die Transaktionen seriell ausführen; Solana verwendet einen anderen Mechanismus, um sicherzustellen, dass Transaktionen nicht doppelt abgewickelt werden. Da dauerhafte Nonce-Transaktionen nicht ablaufen sollen, erfordern sie einen anderen Ansatz, um eine doppelte Verarbeitung zu vermeiden, und werden nacheinander verarbeitet.

Siehe Werbung

Bei der Verarbeitung einer dauerhaften Nonce-Transaktion wurde ein Fehler in der Laufzeit festgestellt, der den Netzwerkfortschritt während des Ausfalls verhinderte. Eine erfolgreiche Transaktion hätte dieses Problem nicht verursacht, da die dauerhafte Nonce-Transaktion fehlgeschlagen wäre.

Die dauerhafte Nonce-Transaktionsfunktionalität wurde in den Versionen v1.9.28/v1.10.23 deaktiviert, um zu verhindern, dass das Netzwerk blockiert, wenn derselbe Umstand erneut auftritt. Dauerhafte Nonce-Transaktionen werden erst ausgeführt, wenn die Schadensbegrenzung bereitgestellt und die Funktion in einer zukünftigen Version reaktiviert wurde.

Quelle: https://u.today/solana-to-prevent-future-network-shutdown-if-runtime-bug-arises-again-details