Open harnen opened 4 years ago
There's this Ethereum wiki entry. We should probably confirm if that's the latest one and no changes are coming in Eth 2.0
There's this Ethereum wiki entry. We should probably confirm if that's the latest one and no changes are coming in Eth 2.0
Thanks. By now I drafted the discovery process extracting the info from this paper https://www.researchgate.net/publication/335441865_Eclipsing_Ethereum_Peers_with_False_Friends which i think it explains the process in more detail. I will now check the go code to confirm that actually works like this, and later i will list the modifications required in kademlia.
One thing to verify would be to see in what order are we sending requests. The Kademlia paper says that we could use latency measurements (and send the request to the closest nodes first). This is not currently implemented in peersim.
Do you mean how nodes are ordered in the same k-bucket? I think are ordered for liveness order (the last seen first). I'm checking geth code but it'll take some time..
On 08/06/2020 10:32, Michał Król wrote:
One thing to verify would be to see in what order are we sending requests. The Kademlia paper says that we could use latency measurements (and send the request to the closest nodes first). This is not currently implemented in peersim.
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/harnen/p2p-service-discovery/issues/1#issuecomment-640453929, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNSP4XVZF6G7CBQZXUBX33RVSO2PANCNFSM4NST45MQ.
Within a k-bucket is the last seen first. My question is how do you chose nodes when you send request to find nodes. You can send up to alpha requests in parallel and stop whenyou do not receive new information, but which nodes are contact first? The Kademlia paper mentions:
Kademlia can route for lower latency because it has the flexibility of choosing any one of k nodes to forward a request to.
But we could also ask Felix about it I guess.
According to https://github.com/ethereum/devp2p/blob/master/discv4.md, The lookup initiator starts by picking |α| closest nodes to the target it knows of, so it's based on the log distance of the node id. Alpha is equal to 3. The process is repeated with the results and iterated until there is no new |α| closest nodes
On 08/06/2020 17:23, Michał Król wrote:
Within a k-bucket is the last seen first. My question is how do you chose nodes when you send request to find nodes. You can send up to alpha requests in parallel and stop whenyou do not receive new information, but which nodes are contact first? The Kademlia paper mentions:
|Kademlia can route for lower latency because it has the flexibility of choosing any one of k nodes to forward a request to.|
— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/harnen/p2p-service-discovery/issues/1#issuecomment-640698768, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABNSP4TA2LEXESPSNFUPMNLRVT667ANCNFSM4NST45MQ.