Add UUID to families in Onionoo
This is an enhancement of the implementation proposed in #16599 (moved).
Some services that depend onOnionoorequire persistence in family data. For instance, some of the proposed features of Roster such as replacing Tor Weather require knowing when a certain relay goes down. Analogous to Tor spec proposal #242 (moved),Onionoo should implement such a scheme.
Put simply, the implementation would be as follows:
- Each family will have some UUID, which would be tagged on all member relays (like an extra fingerprint).
- A new relay will be tagged by its family's UUID by looking up the ID of older relatives.
- There are two schemes for storing key-value based data. One is for looking up families via UUID, the other for looking up a UUID via relay fingerprint.
Unlike #16599 (moved), this implementation does not require any a priori information about the family. The UUIDs are guaranteed to be unique. Currently, Roster has a half-baked implementation of the above. Despite the simplicity of the implementation, the benefits are potentially great, as querying for and storing persistent data of families would become possible.
[1] https://trac.torproject.org/projects/tor/ticket/16599
[2] https://gitweb.torproject.org/torspec.git/tree/proposals/242-better-families.txt
On uniqueness of UUIDs
Trac:
Username: seansaito