Antworten>Erfahren Sie mehr über die Grundlagen der Blockchain-Sicherheit>Was ist ein „Chain Halt“?
Was ist ein Kettenhalt?
// Tags
Blockchain-StoppBlockchain-Stopp
TL;DR: Ein „Chain Halt“ tritt ein, wenn eine Blockchain die Erstellung neuer Blöcke vollständig einstellt. Im Gegensatz zu einer Überlastung, bei der das Netzwerk zwar langsamer wird, aber weiterläuft, bedeutet ein „Chain Halt“, dass keine neuen Transaktionen mehr bestätigt werden und das Netzwerk praktisch eingefroren ist. Kettenstillstände werden durch Konsensfehler, kritische Client-Fehler, DDoS-Angriffe auf Validatoren, Ressourcenerschöpfung oder fehlgeschlagene Upgrades verursacht. Sie gehören zu den schwerwiegendsten Vorfällen, die eine Blockchain erleben kann, da jede auf dieser Kette aufbauende Anwendung, Wallet und jedes Protokoll unbrauchbar wird, bis das Netzwerk wieder in Betrieb ist. Die Wiederherstellung erfordert koordinierte Maßnahmen innerhalb der Validatorengruppe, was in der Regel die Ermittlung der Ursache, die Bereitstellung eines Patches und den Neustart des Konsensverfahrens umfasst.
Die einfache Erklärung
Ein „Chain Halt“ ist das Blockchain-Äquivalent eines vollständigen Serverausfalls. Wenn der Server einer herkömmlichen Webanwendung ausfällt, kann niemand mehr auf den Dienst zugreifen. Wenn eine Blockchain zum Stillstand kommt, kann niemand mehr Transaktionen senden, Erträge einfordern, Positionen schließen oder mit Smart Contracts im Netzwerk interagieren. Die Kette kommt einfach zum Stillstand.
Die Unterscheidung zwischen einem Stau und einem Stillstand ist wichtig. Bei einem Stau werden weiterhin Blöcke erzeugt und Transaktionen bestätigt, nur langsamer und zu höheren Kosten. Die Nutzer konkurrieren um den begrenzten Platz in den Blöcken, aber das Netzwerk ist funktionsfähig. Bei einem Stillstand der Blockchain werden überhaupt keine Blöcke mehr erzeugt. Das Netzwerk ist zum Stillstand gekommen. Die Transaktionen verbleiben im Mempool, ohne dass eine Bestätigung möglich ist, bis die Blockchain wieder in Betrieb genommen wird.
Für Endnutzer bedeutet ein Chain-Halt, dass Wallets zwar Guthaben anzeigen, aber keine Gelder senden oder empfangen können. DeFi-Positionen können nicht angepasst werden, was besonders unter volatilen Marktbedingungen gefährlich ist, wenn Nutzer möglicherweise Sicherheiten nachschießen oder gehebelte Positionen schließen müssen. NFT-Auktionen werden mitten im Bietvorgang eingefroren. Brücken stellen die Verarbeitung von Transfers ein. Jede auf der Chain aufgebaute Anwendung ist praktisch offline.
Häufige Ursachen für Kettenstillstände
Konsensausfälle sind die häufigste Ursache für Netzwerkstillstände. Eine Blockchain erzeugt neue Blöcke über ihren Konsensmechanismus, der eine Mindestschwelle an Validatoren erfordert, die sich auf den nächsten Block einigen müssen. Bei vielen Proof-of-Stake-Ketten beträgt diese Schwelle zwei Drittel des Gewichts der gestakten Validatoren. Wenn genügend Validatoren offline gehen, ausfallen oder nicht mehr miteinander kommunizieren können, kann das Netzwerk keinen Konsens erzielen, und die Blockerzeugung kommt zum Stillstand.
Kritische Client-Fehler können eine Blockchain zum Stillstand bringen, wenn der Fehler dazu führt, dass Validatoren abstürzen, ungültige Blöcke erzeugen oder sich über den korrekten Zustand uneinig sind. Wenn ein Fehler in der vorherrschenden Client-Implementierung dazu führt, dass die meisten Validatoren widersprüchliche Blöcke erzeugen, kann das Netzwerk in einen Zustand geraten, in dem kein Block genügend Bestätigungen erhält, um finalisiert zu werden. Dieses Szenario unterstreicht die Bedeutung der Client-Vielfalt: Wenn jeder Validator dieselbe Software ausführt, wirkt sich ein einziger Fehler gleichzeitig auf das gesamte Netzwerk aus.
Fehlgeschlagene Upgrades sind ein weiterer häufiger Auslöser. Bei Netzwerk-Upgrades müssen Validatoren ihre Software vor einem bestimmten Block oder zu einem bestimmten Zeitpunkt aktualisieren. Wenn das Upgrade einen Fehler enthält oder die Koordination nicht perfekt ist und einige Validatoren das Upgrade durchführen, andere jedoch nicht, kann es zu einer Kettenaufspaltung oder zu einem Stillstand kommen. Das Risiko steigt mit der Komplexität des Upgrades und der Anzahl der Änderungen, die gleichzeitig implementiert werden.
DDoS-Angriffe auf Validatoren können deren Netzwerkverbindungen oder Rechenkapazität überlasten und sie so daran hindern, am Konsens teilzunehmen. Wenn durch einen koordinierten Angriff genügend Validatoren offline geschaltet werden, kommt die Blockchain zum Stillstand, bis der Angriff nachlässt oder die Validatoren Gegenmaßnahmen ergreifen.
Eine Ressourcenerschöpfung tritt ein, wenn das Transaktionsvolumen oder die Komplexität der Smart Contracts die Verarbeitungskapazität des Netzwerks so stark übersteigt, dass die Validatoren nicht mehr mithalten können. Solana erlebte dies im September 2021, als eine Flut von Bot-Aktivitäten die Verarbeitungskapazitäten der Validatoren überlastete und schließlich dazu führte, dass das Netzwerk für etwa 17 Stunden zum Erliegen kam.
Der Genesungsprozess
Die Wiederherstellung nach einem Kettenstillstand folgt einem allgemeinen Muster, wobei die Einzelheiten je nach Kette und Ursache des Stillstands variieren.
Zunächst ermittelt das Technik equipe m die eigentliche Ursache. Dies erfordert häufig eine forensische Analyse der Validator-Protokolle, des Konsenszustands und der Netzwerkbedingungen zum Zeitpunkt des Stillstands. Bei Fehlern ist es unerlässlich, das Problem in einer Testumgebung zu reproduzieren, bevor eine Korrektur bereitgestellt werden kann.
Zweitens wird eine Lösung entwickelt und getestet. Je nach Schweregrad und Art des Fehlers kann dies Stunden oder Tage dauern. Bei der Lösung kann es sich um einen Patch für die Client-Software, eine Konfigurationsänderung oder in extremen Fällen um einen Hard Fork handeln, der die Konsensregeln ändert.
Drittens wird der Fix an die Validatoren verteilt. Hier liegt die Herausforderung bei der Koordination. Validatoren sind unabhängige Betreiber, die über verschiedene Zeitzonen und Organisationen verteilt sind. Um genügend Validatoren zu erreichen, damit der Konsens wiederhergestellt werden kann (in der Regel zwei Drittel des gestakten Gewichts), sind Kommunikationskanäle, klare Anweisungen und Geduld erforderlich. Die meisten Blockchains unterhalten genau zu diesem Zweck Notfall-Kommunikationskanäle (Discord, Telegram oder spezielle Benachrichtigungssysteme).
Viertens: Der Konsens wird neu gestartet. Die Validatoren wenden die Korrektur an, starten ihre Knoten neu und beginnen erneut mit der Erstellung und Bestätigung von Blöcken. Die Kette wird ab dem letzten finalisierten Block fortgesetzt, und die noch ausstehenden Transaktionen werden abgearbeitet.
Fünftens wird eine Nachbetrachtung durchgeführt. Das Technik equipe veröffentlicht eine detaillierte Analyse darüber, was schiefgelaufen ist, warum es passiert ist, welche Maßnahmen zur Behebung ergriffen wurden und welche Änderungen umgesetzt werden, um eine Wiederholung zu verhindern. Nachbetrachtungen sind unerlässlich, um das Vertrauen der Community zu wahren und die Ausfallsicherheit des Netzwerks zu verbessern.
Was ist der Unterschied zwischen einem Chain-Halt und einer Netzwerküberlastung?
Diese beiden Fehlerzustände werden oft verwechselt, unterscheiden sich jedoch erheblich in ihrem Schweregrad. Eine Überlastung bedeutet, dass das Netzwerk überlastet ist, aber weiterhin Blöcke erzeugt, während ein Stillstand bedeutet, dass die Blockerzeugung vollständig zum Erliegen gekommen ist. Die folgende Tabelle stellt die beiden Zustände gegenüber.
Aspekt
Netzwerküberlastung
Kettenstopp
Blockproduktion
Es geht weiter, nur etwas langsamer
Hält vollständig an
Transaktionen
Bei höheren Gebühren bestätigt
Bis zur Wiederherstellung wurden keine bestätigt
Auswirkungen auf die Nutzer
Langsame, teure Transaktionen
Guthaben gesperrt, Apps offline
Typische Ursache
Hohe Nachfrage nach Blockplatz
Konsens oder Client-Fehler
Beschluss
Die Nachfrage sinkt oder die Gebühren werden angepasst
Koordinierter Neustart des Validators
Wenn Sie langsame Transaktionen beobachten und nicht eine eingefrorene Blockchain, handelt es sich höchstwahrscheinlich um eine Überlastung der Blockchain. Wenn Sie verstehen, warum Blockchains langsamer werden, können Sie die beiden Fälle besser voneinander unterscheiden, bevor Sie einen Vorfall eskalieren.
Was passiert mit meinen Transaktionen während eines Kettenstillstands?
Ausstehende Transaktionen verbleiben unbestätigt im Mempool, da kein Validator sie in einen Block aufnehmen kann. Sie gehen nicht verloren: Sobald die Kette wieder läuft, wird der Rückstand abgearbeitet, auch wenn einige Transaktionen möglicherweise verfallen oder mit aktualisierten Parametern erneut eingereicht werden müssen. Da keine neuen Blöcke erzeugt werden, erreicht während des Stillstands keine Transaktion die Endgültigkeit, sodass die Guthaben statisch erscheinen, selbst wenn eine Transaktion als ausstehend angezeigt wird.
Beim Neustart des Netzwerks konvergieren die Validatoren auf den letzten kanonischen Zustand, was mit einer kurzen Reorganisation einhergehen kann, da konkurrierende Blöcke aufgelöst werden. Anwendungen sollten die Zeit unmittelbar nach dem Neustart mit Vorsicht behandeln und die endgültige Bestätigung abwarten, bevor sie auf frisch bestätigte Transaktionen reagieren.
Wie lange dauern Kettenstopps?
Die Dauer der Kettenunterbrechungen reichte von weniger als einer Stunde bis zu fast einem ganzen Tag, je nach Ursache und je nachdem, wie schnell die Validatoren eine Lösung koordinieren konnten. In der folgenden Tabelle sind einige viel beachtete Unterbrechungen aufgeführt. Die Angaben zur Dauer sind ungefähre Werte und basieren auf öffentlich zugänglichen Nachanalysen.
Netzwerk
Wenn
Ungefähre Dauer
Angegebene Ursache
Solana
September 2021
Etwa 17 Stunden
Durch Bots verursachte Ressourcenerschöpfung
Solana
Februar 2024
Etwa 5 Stunden
Fehler in einem veralteten Loader
BNB Smart Chain
Oktober 2022
Etwa 8 Stunden
Pause des Validators nach einem Bridge-Exploit
Arbitrum
Januar 2024
Etwa 1 bis 2 Stunden
Ausfall des Sequenzers
Ausfälle, die auf einen eindeutigen, reproduzierbaren Fehler zurückzuführen sind, lassen sich in der Regel schneller beheben als solche, die eine gründliche forensische Analyse erfordern. Netzwerke mit einer soliden Ausfallmode splanung und einstudierten Wiederanlaufverfahren erholen sich am schnellsten.
Wie können Entwickler Anwendungen vor Kettenstillständen schützen?
Einen Kettenstillstand lässt sich nicht verhindern, aber Sie können Anwendungen so konzipieren, dass sie bei Ausfällen reibungslos weiterarbeiten und sich sauber wiederherstellen lassen. Die Grundlage dafür ist die Entwicklung im Hinblick auf hohe Verfügbarkeit. In der folgenden Tabelle sind die wirksamsten Schutzmaßnahmen zusammengefasst.
Übung
Was es bewirkt
Vorteil
Graceful Degradation
Zwischengespeicherten Zustand anzeigen, Schreibvorgänge in die Warteschlange stellen
Die Benutzer sorgen dafür, dass die Benutzeroberfläche funktionsfähig bleibt
Unterstützung mehrerer Blockchains
Aktivität an eine Live-Kette weiterleiten
Verringert die Abhängigkeit von einer einzigen Kette
Gesundheitsüberwachung
Entwicklung der Gleisblockhöhe verfolgen
Eine Unterbrechung innerhalb von Sekunden erkennen
Anbieterredundanz
Failover zwischen Endpunkten
Übersteht Probleme mit Knoten und Anbietern
Das automatische Failover sorgt dafür, dass der Lesepfad auch dann einwandfrei funktioniert, wenn ein Knoten oder Anbieter ausfällt, während Quicknode Streams Ihre Datenpipeline automatisch neu synchronisiert, sobald die Blockproduktion wieder aufgenommen wird.
Häufig gestellte Fragen
Ist ein „Chain Halt“ dasselbe wie ein Ausfall der Blockchain?
Im Grunde genommen ja. Ein „Chain Halt“ bedeutet, dass das Netzwerk keine Blöcke mehr erzeugt, sodass keine Transaktionen bestätigt werden und jede Anwendung auf dieser Kette unbrauchbar ist, bis die Validatoren den Konsens wiederherstellen. Die Daten sind intakt, aber das Netzwerk ist eingefroren.
Kann man während eines Kettenstillstands Geld verlieren?
Guthaben auf der Blockchain werden nicht vernichtet, aber es können indirekte Verluste entstehen, insbesondere im DeFi-Bereich. Wenn Sie während einer Unterbrechung keine Sicherheiten hinterlegen oder eine gehebelte Position schließen können, drohen Ihnen möglicherweise eine Liquidation oder nachteilige Preisentwicklungen, sobald die Blockchain wieder in Betrieb ist und die Preise aktualisiert werden.
Bei welchen Blockchains kam es zu Unterbrechungen?
Mehrere Hochdurchsatz-Netzwerke wurden mindestens einmal unterbrochen, darunter Solana, BNB Smart Chain, Polygon sowie einige Layer-2-Rollups aufgrund von Ausfällen des Sequenzers. Unterbrechungen treten häufiger bei neueren oder hochoptimierten Blockchains auf, die an die Grenzen der Leistungsfähigkeit stoßen.
Wie wird ein Kettenbruch behoben?
Die Ingenieure ermitteln die Ursache, entwickeln und testen eine Lösung, stellen diese den Validatoren zur Verfügung und koordinieren einen Neustart, sobald wieder genügend gestecktes Gewicht online ist. Die Kette setzt dann ab dem letzten finalisierten Block fort und verarbeitet den Rückstand.
Führt ein Kettenstillstand zu einer Reorganisation?
Das ist möglich. Wenn Validatoren neu starten, müssen sie sich auf eine einzige kanonische Kette einigen, wodurch konkurrierende Blöcke, die während des Stillstands erzeugt wurd near ch verworfen werden. Das Warten auf die Finalität nach einem Neustart schützt Ihre Anwendung davor, auf Daten zu reagieren, die bei einer Reorganisation entfernt werden.
Wie „ Quicknode “ mit Kettenstopps umgeht
QuicknodeDie Infrastruktur von equipe überwacht rund um die Uhr den Betriebszustand und den Status der Blockproduktion jeder unterstützten Blockchain. Wenn es zu einem Stillstand einer Blockchain kommt, erkennen die Systeme von Quicknode diesen sofort und informieren die betroffenen Kunden über den aktuellen Status. Die Überwachungsinfrastruktur verfolgt den Fortschritt der Blockhöhe, die Beteiligungsquoten der Validatoren sowie Kennzahlen zum Konsenszustand und warnt frühzeitig vor potenziellen Stillständen, bevor diese Auswirkungen auf die Blockproduktion haben.
Während eines Kettenstillstands stellen die RPC-Endpunkte von Quicknode weiterhin historische Daten bereit und reagieren auf Leseanfragen, die sich auf den zuletzt bestätigten Zustand beziehen. Schreibvorgänge (Transaktionsübermittlungen) schlagen natürlich fehl oder werden in die Warteschlange gestellt, bis die Kette wieder läuft, aber Anwendungen können weiterhin Guthaben, den Vertragsstatus und historische Daten aus der Zeit vor dem Stillstand abfragen. Wenn die Blockchain wieder in Betrieb genommen wird, setzt Quicknode Streams automatisch beim zuletzt verarbeiteten Block an und liefert alle neuen Blöcke, die während und nach der Wiederherstellung erzeugt wurden. So wird sichergestellt, dass Ihre Datenpipeline ohne manuellen Eingriff mit der kanonischen Blockchain synchronisiert bleibt. Die integrierte Reorg-Behandlung in Streams ist besonders wertvoll bei Neustarts der Blockchain, bei denen es zu vorübergehenden Forks kommen kann, während sich die Validatoren auf den korrekten Zustand der Blockchain einigen.