Hi Joe, Onion routing refers to the fact that each Tor message is wrapped in several layers of encryption, like the layers of an onion. The sender chooses the route in advance and encrypts the message once for each node along the route, starting with the last. Each node removes a layer of encryption to reveal the address of the next node, and forwards the message to the revealed address.
Onion encryption is supposed to prevent the node next to the sender and the node next to the recipient from colluding to discover whether the sender and recipient are communicating, because the nodes can't tell they're handling the same message. However, in a low-latency system like Tor it may be possible for nodes to tell whether they're part of the same route by comparing the timing and throughput of the routes they belong to, so the benefit of onion encryption for low-latency communication is debatable. The biggest problem with onion encryption is key distribution: the sender needs to know the public key of every node along the route in order to onion-encrypt the message. Tor handles this by using a small number of directory servers to distribute keys, thus creating a central point of failure. Freenet doesn't use onion encryption, so nodes along the route know they're handling the same message, but this isn't as much of a problem in Freenet as it would be in Tor - as Ian pointed out, Tor uses a client/server architecture so it's easy to distinguish the sender and recipient from nodes that are merely forwarding the message, but Freenet is peer-to-peer and therefore it's hard to tell whether a request originated from the previous node or whether it was forwarded on behalf of someone else. There's a longer (though by no means comprehensive) survey of anonymising networks in my literature review: http://www.cs.ucl.ac.uk/staff/mrogers/literature-review.html Cheers, Michael
