Was ist die maximale Netzwerkverzögerung für die Synchronisierung eines Knotens mit der Hauptkette?

Nehmen wir an, ein Knoten hat eine sehr hohe Verzögerung (Ping/Pong) zwischen seinem eigenen Netzwerk und dem Netzwerk, in dem sich die meisten anderen Knoten befinden, sagen wir etwa 13 Minuten , wird er in der Lage sein, Teil der Haupt-Blockchain zu sein (und wird es in der Lage sein, wie alle anderen Knoten zu fungieren, nicht nur den Kettenzustand zu lesen, sondern auch Transaktionen zu übernehmen) oder muss er sich auf einer Blockchain mit Paaren verbinden, die ihm nahe sind (einige hundert Millisekunden) und eine Brücke zwischen seiner Kette und haben der weit entfernte ?

Vielen Dank.

Antworten (1)

Nicht mit dem aktuellen Protokoll. Eine solche Funktion würde ein sogenanntes verzögerungs-/unterbrechungstolerantes Netzwerk erfordern , das derzeit ernsthaft außerhalb des Umfangs des Projekts liegt. Ein solches Protokoll hat viele völlig einzigartige Herausforderungen und es macht keinen wirklichen Sinn, so etwas überhaupt zu entwerfen, bis sich ein realistischer Anwendungsfall ergibt. Wenn die NASA also keine neue Herausforderung für den Einsatz von Ethereum auf der ISS eröffnet, werden wir meiner Meinung nach keinen großen Bedarf dafür sehen.

Was wäre also die maximale Verzögerung? Der Downloader in Geth hat eine Zeitüberschreitung von 3,5 Sekunden zum Abrufen eines Stapels von Headern von einem Remote-Knoten. Wenn wir also bedenken, dass der Knoten auch die Header nachschlagen muss, wäre eine Latenzzeit von etwa 1,5 Sekunden in eine Richtung die Obergrenze.

Um Ihre Antwort zu vervollständigen, hätten Sie eine Vorstellung davon, was die höchste akzeptable Verzögerung mit den aktuellen Protokollen wäre?
Der Downloader in Geth hat eine Zeitüberschreitung von 3,5 Sekunden zum Abrufen eines Stapels von Headern von einem Remote-Knoten. Wenn wir also bedenken, dass der Knoten auch die Header nachschlagen muss, wäre eine Latenzzeit von etwa 1,5 Sekunden in eine Richtung die Obergrenze. Dies wird wahrscheinlich in Geth 1.5 mit der Einführung gleichzeitiger Header-Downloads etwas gelockert, aber wir wollten die Synchronisierung nicht aufgrund sehr langsamer Peers blockieren.
Theoretisch beträgt die Latenz zu Moon etwa 1 Sekunde. Es ist also machbar. Mars kommt mit 20 Minuten Latenz überhaupt nicht in Frage.
Der Mond ist zu nah, das interessiert mich nicht ;) Aber was ist, wenn wir Weltraumrelais verteilen, die Knoten entlang des gesamten Weges zum Mars laufen lassen, um eine Verzögerung von 1 Sekunde zwischen jedem Knoten aufrechtzuerhalten? Würde es etwas ändern?
Es wäre sinnvoller, ein benutzerdefiniertes Protokoll zu verwenden, das (geeignet löschcodierte) Blöcke sendet. Es wäre sicherlich billiger, als viele konzentrische Satellitenringe im Sonnenorbit zu bauen!