Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
Prioritize peers to resist eclipsing #38
An eclipse attack is when the client is provided with a mess of peers all of which misbehave, offering it a "virtual world" which is false. This can also happen by accident, in the case of a network split for example.
Resistance to this can be much stronger than simply keeping the longest-connected peers. Research into academically-reviewed solutions to these issues is the right way to go. I have not done this.
I at least, however, recommended prioritizing peers by behavior. Following priority list is in need of review:
It would additionally be helpful to support proxy connections so other channels can be used in these events (web proxy, tor, i2p, sneakernet)