Spezifische Erläuterung der Konfigurationsoption „Timeout“ in Bitcoin

Laut Running Bitcoin - Bitcoin Wiki wird das Timeout wie folgt beschrieben:

Specify connection timeout in milliseconds

Nach meinem Verständnis würde dies bedeuten, dass der Client die Verbindung abbrechen würde, wenn eine Antwort erwartet würde, wenn sie nicht in dem bestimmten Zeitbereich empfangen würde.

Eine Folgefrage ist, würde ein Knoten mit einem Timeout von 15 Sekunden das Coin-Netzwerk mit einer schnellen Blockzeit von zB 45 Sekunden verletzen?

Antworten (2)

Das -timeoutFlag legt die Wartezeit während eines Verbindungsversuchs mit einem Knoten fest. Es ist standardmäßig 5000ms. Dies ist die Verbindung zu anderen Peers im Netzwerk, um die Blockchain zu synchronisieren, neue Transaktionen zu empfangen und an den Mempool zu senden usw.

Eine Folgefrage ist, würde ein Knoten mit einem Timeout von 15 Sekunden das Coin-Netzwerk mit einer schnellen Blockzeit von zB 45 Sekunden verletzen?

Schnellere Blockzeiten bedeuten, dass das Netzwerk weniger Zeit hat, 1 – Transaktionen zu verbreiten und 2 – sie vor dem nächsten Block zu validieren . Dies ist definitiv etwas, das Sie berücksichtigen sollten, wenn Sie über Blockzeiten nachdenken. Ein langsamerer Knoten (sowohl in Bezug auf die Netzwerklatenz für die Synchronisierung als auch in Bezug auf die CPU-Leistung für die Validierung) kann neue Blöcke möglicherweise nicht schnell genug bestätigen, aber das größere Problem ist, wenn eine Mehrheit der Knoten im Vergleich zur Blockzeit langsam ist.

Ja, aber ich glaube nicht, dass Sie sie durch die Bitcoin-Flags ändern können. Siehe github.com/bitcoin/bitcoin/blob/0.16/src/net.h

Nein, die timeoutEinstellung hat nichts mit der Sperrzeit zu tun.

Das Timeout gilt, wenn eine Verbindung zu einem anderen Knoten im Netzwerk hergestellt wird. Diese Verbindung ist unabhängig von abgebauten Blöcken.