Ich möchte ein Beispiel aus einem privaten Ethereum-Netzwerk geben, das 5 Knoten hat, aber wir können es für ein viel größeres Netzwerk mit Tausenden von Knoten verallgemeinern. Auf der Abbildung stellen Doppelpfeile verbundene Peers dar, die sie selbst mit hinzufügen addPeer()
. Später Node_1
fügt Node_-2
und Node-3
als Peers hinzu, addPeer()
da es nur enode://pubkey@ip:port
{ Node-2
und Node-3
} kennt und sich mit dem Netzwerk verbindet.
[F1] Ruft danach Node_1
automatisch die verbundenen Knoten Node-2
von und ab , die { und } sind, und stellt eine dynamische Verbindung zu ihnen her? und danach auch holen und 's verbundene Knoten's die sind und sich in die verbinden. Diese Operation könnte rekursiv durchgeführt werden. Wenn nein, bleibt statisch nur mit und verbunden .Node-3
enode://pubkey@ip:port
Node-4
Node-5
Node-4
Node-5
enode://pubkey@ip:port
Node-6
Node-1
Node-2
Node-3
[Q2] Diese ist mit der ersten Frage verbunden. Wenn Node-1
die verbundenen Knoten von Node-2
und nicht abgerufen werden können und nur nach einigen Stunden mit und verbunden bleiben und heruntergefahren werden. Führt es auch zu Verbindungsabbrüchen vom Netz?Node-3
enode://pubkey@ip:port
Node-2
Node-3
Node-2
Node-3
Node-1
Nach meinem Verständnis wird beim Hinzufügen eines neuen Knotens im Blockchain-Netzwerk zwischen den Knoten ein Mesh-Netzwerk gebildet. Dies ist die konzeptionelle Kernidee der Dezentralisierung . Wenn ein Knoten ausgefallen ist, kann das System in Betrieb bleiben, bis mindestens ein Knoten im Blockchain-Netzwerk in Betrieb ist.
Laut Geth-Dokumentation -
Wie Peers gefunden werden
Geth versucht kontinuierlich, sich mit anderen Knoten im Netzwerk zu verbinden, bis es Peers hat. Wenn Sie UPnP auf Ihrem Router aktiviert haben oder Ethereum auf einem mit dem Internet verbundenen Server ausführen, akzeptiert es auch Verbindungen von anderen Knoten.
Geth findet Peers über etwas, das als Discovery Protocol bezeichnet wird. Beim Erkennungsprotokoll klatschen Knoten miteinander, um etwas über andere Knoten im Netzwerk herauszufinden. Um zunächst loszulegen, verwendet Geth eine Reihe von Bootstrap-Knoten, deren Endpunkte im Quellcode aufgezeichnet sind.
Alper
Soham Lawar
Alper
Parity
, macht es auch einen ähnlichen Ansatz wiegeth
?Soham Lawar