On Thu, Sep 1, 2011 at 7:24 AM, Matthew Toseland <toad at amphibian.dyndns.org> wrote: >> I like this proposal :) >> >> Is the documentation on the math of how to get the random routing to >> behave well sufficient? Let me know if it isn't. The MHMC routing math >> shouldn't be too complicated, but we want to be certain it's >> implemented correctly so that the data is sound. > > Do you have a metric for how clustered vs uniform a node's peers are?
Maybe. It's a tougher problem than it looks at first glance, unless we have a somewhat reliable network size estimate available. I'll give it some more thought. If you want a qualitative, visual estimate, just change the peer location distribution graph on the stats page to have a logarithmic x axis. Basically, a node should have similar numbers of peers at distance 0.25 < d <= 0.5, and at 0.125 < d <= 0.25, etc. That is, bar n should graph the number of nodes at distance 2^(-n-2) < d < 2^(-n-1). That doesn't provide an answer you can use in code to evaluate and make decisions, but it should give better anecdotal evidence about problems. > What's MHMC? Metropolis-Hastings Monte Carlo. We currently use it to get the right probability distribution for location swaps. We should also use it for randomly routed requests. (For ones that need to be statistically random, anyway. It's probably not worth the performance cost for eg high-htl random routing of regular requests for security purposes.) It's mentioned in the bug report: https://bugs.freenetproject.org/view.php?id=3568 And there's a code snippet on my flog, that's used in my simulator: freenet:USK at gjw6StjZOZ4OAG-pqOxIp5Nk11udQZOrozD4jld42Ac,BYyqgAtc9p0JGbJ~18XU6mtO9ChnBZdf~ttCn48FV7s,AQACAAE/flog/29/200909.xhtml (Entry for 20090926) Evan Daniel