hyperledger / besu

An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client https://wiki.hyperledger.org/display/besu
https://www.hyperledger.org/projects/besu
Apache License 2.0
1.5k stars 822 forks source link

Use peer transfer rate for peer selection #7697

Open jframe opened 3 weeks ago

jframe commented 3 weeks ago

Use a peer reputation that scores peers using their transfer rate instead of the current system of penalising for timeouts and bad responses. When investigating the syncing of the chain, we noticed a large variation in peer transfer rates and this can make a large difference in the time taken to complete syncing.

jflo commented 1 week ago

Great idea, needs to also preserve type of peer, so we don't favor a fast peer that only provides blocks over one that might also provide state. It's worth any refactoring needed to track these added dimensions.