[tor-dev] Testing Tor bridge assignments

Jodi Spacek jodi.spacek at gmail.com
Wed Mar 20 00:14:12 UTC 2019


I'm seeking advice on simulating Tor's consistent hashing, bridge ring
distributor. I'm finishing up my Master's thesis on proxy distribution :) I
run BridgeDB through my Python simulator to analyze the https distributor's
bridge assignments over multiple bridge pool sizes and trials. So far, it
follows a uniform random distribution (as expected).

I'm using https distributor's prepopulateRings() example as a guideline on
how the rings should be populated. Besides the default ring settings, are
there any other test scenarios that I should cover? For instance, is there
a possibility that the behaviour might change if there are quality of
service limitations? Aside from the reserved set, are there any cases where
it may not assign bridges uniform randomly that I should consider?

I attempted to use the descriptors from leekspin, but ran into some hurdles
integrating it with my simulator. My simulator doesn't need to persist or
store state, since I only need the assignment information of proxies to
clients until all proxies are enumerated. I hope the pared down version
using the test data from generateFakeBridges() in test/util.py is adequate.

Any advice is greatly appreciated!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20190319/9093f5ce/attachment.html>

More information about the tor-dev mailing list