On Fri, Nov 27, 2009 at 12:36 PM, Matthew Toseland
<toad at amphibian.dyndns.org> wrote:
> The question boils down to why do the vast majority of nodes on an 
> announcement chain reject the announcement. The answer appears to be:
>
> Most of the time, we reject a new node (from path folding or an announcement) 
> because we only drop a connected peer every 10 minutes, even if it is 
> isDroppable(). Of course, we drop disconnected isDroppable() peers (= peers 
> that disconnected more than a few minutes ago) very quickly, but most peers 
> are usually connected.
>
> Generally there are peers we could drop according to isDroppable() (more 
> heuristics, e.g. don't drop a node if we added it less than 5 minutes ago), 
> but we don't drop them because of the 10 minute throttle.
>
> Also, we only drop a connected peer after every 10 successful requests. This 
> appears not to be very significant on my node however.
>
> Thoughts? evanbd suggested a token bucket for the intervals in OpennetManager 
> - we have two, this one and one for adding old-opennet-peers. This would 
> allow more burstiness.
>
> Or we could scrap the 10 minute interval altogether (or cut it drastically) 
> and rely on the 10 successful requests criterion?
>
> Anything we do to opennet may disrupt the network if we get it wrong, and 
> even if it's right it may take time to settle...

IMHO this is the wrong question.  Instead ask why so many nodes are
announcing.  If most reconnecting nodes could reconnect to old peers
instead of announcing, there wouldn't be nearly so many announcements.
 (And they would probably reconnect with a better set of connections.)

Evan Daniel

Reply via email to