
Hi Yuhao! Some of the things Tor does (e.g. public list of nodes) is because it's relatively easy to attack if you try and not do it that way. For example: On 13 March 2014 15:08, Yuhao Dong <yd2dong@uwaterloo.ca> wrote:
- No public list of all node addresses; this makes determining whether certain traffic is Oor traffic much harder. More at the next bulletpoint ... - Blanket blacklist attacks by censors. Censors can poll the directory and block all ordinary Tor nodes. (obfsproxy) bridges are a workaround. - Oor's directory maintains a *graph* of all nodes. Each node knows the public keys of all the other nodes, but each node only knows the addresses of *adjacent* nodes.
An attacker could enumerate all exit nodes by simply building lots of circuits and connecting to a website they control, noting the origin IPs. Similarly, I'm assuming you're allowing users to run nodes, in which case I can stand up node after node (or keep generating new node identities) and record the addresses of the nodes I am connected to. I'm also assuming there is some central directory in the middle that nodes connect to and provide their identity key and address? And then when you start up a node, it will give you your 'neighboring' nodes? -tom