[tor-relays] avoiding frequent MyFamily syncing on a dynamic Tor instance group

cmeclax-sazri cmeclax-sazri at ixazon.dynip.com
Thu Apr 7 02:24:02 UTC 2011


On Wednesday 06 April 2011 19:36:55 tagnaq wrote:
> Hi,
>
> I don't know if this is already done but it just came into my mind when
> writing something to sync MyFamily settings throughout multiple nodes:
>
> To avoid frequent reloads of many Tor instances, one could pre-emptively
> create keys (lets say keys for 30 nodes) and build a MyFamily set for it.
> As you add nodes use this MyFamily set although not all 30 keys are in
> use yet. This way one would not have to touch running instances when
> adding new ones.

What happens if relay A declares relay B to be in its family, but B does not 
declare A? Or if A declares B, B declares C, C declares D, and D declares A? 
There are a few ways to handle large families without bloating relay 
descriptors:

1. All relays in a family declare MyFamily to be a single ID, which could be, 
but doesn't have to be, the ID of one of the relays. A declaring B and B 
declaring A are equivalent. Two relays M and P are in the same family iff 
there is any chain of relays (up or not) beginning with M and ending with P 
such that, for all pairs of adjacent relays, at least one declares the other 
to be in its family. Since all relays in a family declare the same relay to 
be their family, this chain has length at most 2.

2. If A declares B to be in its family, but B does not declare A and there is 
no chain from B to A, then A will not be followed by B in the circuit, but B 
may be followed by A.

3. If A declares B to be in its family, A and B will not appear together in a 
circuit, in either order. But if A declares B, B declares C, C declares D, 
and D declares A, then A and C may appear together.

What does the program actually do?

cmeclax


More information about the tor-relays mailing list