|  | @@ -6,6 +6,13 @@
 | 
	
		
			
				|  |  |  \usepackage{amsmath}
 | 
	
		
			
				|  |  |  \usepackage{epsfig}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +\setlength{\textwidth}{6in}
 | 
	
		
			
				|  |  | +\setlength{\textheight}{9in}
 | 
	
		
			
				|  |  | +\setlength{\topmargin}{0in}
 | 
	
		
			
				|  |  | +\setlength{\oddsidemargin}{.1in}
 | 
	
		
			
				|  |  | +\setlength{\evensidemargin}{.1in}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  \newenvironment{tightlist}{\begin{list}{$\bullet$}{
 | 
	
		
			
				|  |  |    \setlength{\itemsep}{0mm}
 | 
	
		
			
				|  |  |      \setlength{\parsep}{0mm}
 | 
	
	
		
			
				|  | @@ -22,6 +29,7 @@
 | 
	
		
			
				|  |  |  \institute{The Free Haven Project \email{<\{arma,nickm\}@freehaven.net>} \and
 | 
	
		
			
				|  |  |  Naval Research Lab \email{<syverson@itd.nrl.navy.mil>}}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  \maketitle
 | 
	
		
			
				|  |  |  \pagestyle{empty}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -56,11 +64,11 @@ coordination between nodes, and provides a reasonable tradeoff between
 | 
	
		
			
				|  |  |  anonymity, usability, and efficiency.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  We first publicly deployed a Tor network in October 2003; since then it has
 | 
	
		
			
				|  |  | -grown to over a hundred volunteer Tor routers (TRs)
 | 
	
		
			
				|  |  | +grown to over a hundred volunteer Tor nodes
 | 
	
		
			
				|  |  |  and as much as 80 megabits of
 | 
	
		
			
				|  |  |  average traffic per second.  Tor's research strategy has focused on deploying
 | 
	
		
			
				|  |  |  a network to as many users as possible; thus, we have resisted designs that
 | 
	
		
			
				|  |  | -would compromise deployability by imposing high resource demands on TR
 | 
	
		
			
				|  |  | +would compromise deployability by imposing high resource demands on node
 | 
	
		
			
				|  |  |  operators, and designs that would compromise usability by imposing
 | 
	
		
			
				|  |  |  unacceptable restrictions on which applications we support.  Although this
 | 
	
		
			
				|  |  |  strategy has
 | 
	
	
		
			
				|  | @@ -120,14 +128,14 @@ infrastructure is controlled by an adversary.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  To create a private network pathway with Tor, the client software
 | 
	
		
			
				|  |  |  incrementally builds a \emph{circuit} of encrypted connections through
 | 
	
		
			
				|  |  | -Tor routers on the network. The circuit is extended one hop at a time, and
 | 
	
		
			
				|  |  | -each TR along the way knows only which TR gave it data and which
 | 
	
		
			
				|  |  | -TR it is giving data to. No individual TR ever knows the complete
 | 
	
		
			
				|  |  | +Tor nodes on the network. The circuit is extended one hop at a time, and
 | 
	
		
			
				|  |  | +each node along the way knows only which node gave it data and which
 | 
	
		
			
				|  |  | +node it is giving data to. No individual Tor node ever knows the complete
 | 
	
		
			
				|  |  |  path that a data packet has taken. The client negotiates a separate set
 | 
	
		
			
				|  |  |  of encryption keys for each hop along the circuit.% to ensure that each
 | 
	
		
			
				|  |  |  %hop can't trace these connections as they pass through.
 | 
	
		
			
				|  |  | -Because each TR sees no more than one hop in the
 | 
	
		
			
				|  |  | -circuit, neither an eavesdropper nor a compromised TR can use traffic
 | 
	
		
			
				|  |  | +Because each node sees no more than one hop in the
 | 
	
		
			
				|  |  | +circuit, neither an eavesdropper nor a compromised node can use traffic
 | 
	
		
			
				|  |  |  analysis to link the connection's source and destination.
 | 
	
		
			
				|  |  |  For efficiency, the Tor software uses the same circuit for all the TCP
 | 
	
		
			
				|  |  |  connections that happen within the same short period.
 | 
	
	
		
			
				|  | @@ -148,18 +156,18 @@ Privoxy~\cite{privoxy} for HTTP.  Furthermore, Tor does not permit arbitrary
 | 
	
		
			
				|  |  |  IP packets; it only anonymizes TCP streams and DNS request, and only supports
 | 
	
		
			
				|  |  |  connections via SOCKS (see Section~\ref{subsec:tcp-vs-ip}).
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Most TR operators do not want to allow arbitary TCP connections to leave
 | 
	
		
			
				|  |  | -their TRs.  To address this, Tor provides \emph{exit policies} so that
 | 
	
		
			
				|  |  | -each TR can block the IP addresses and ports it is unwilling to allow.
 | 
	
		
			
				|  |  | +Most node operators do not want to allow arbitary TCP connections to leave
 | 
	
		
			
				|  |  | +their server.  To address this, Tor provides \emph{exit policies} so that
 | 
	
		
			
				|  |  | +each exit node can block the IP addresses and ports it is unwilling to allow.
 | 
	
		
			
				|  |  |  TRs advertise their exit policies to the directory servers, so that
 | 
	
		
			
				|  |  | -client can tell which TRs will support their connections.
 | 
	
		
			
				|  |  | +client can tell which nodes will support their connections.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -As of January 2005, the Tor network has grown to around a hundred TRs
 | 
	
		
			
				|  |  | +As of January 2005, the Tor network has grown to around a hundred nodes
 | 
	
		
			
				|  |  |  on four continents, with a total capacity exceeding 1Gbit/s. Appendix A
 | 
	
		
			
				|  |  | -shows a graph of the number of working TRs over time, as well as a
 | 
	
		
			
				|  |  | +shows a graph of the number of working nodes over time, as well as a
 | 
	
		
			
				|  |  |  vgraph of the number of bytes being handled by the network over time. At
 | 
	
		
			
				|  |  |  this point the network is sufficiently diverse for further development
 | 
	
		
			
				|  |  | -and testing; but of course we always encourage and welcome new TRs
 | 
	
		
			
				|  |  | +and testing; but of course we always encourage and welcome new nodes
 | 
	
		
			
				|  |  |  to join the network.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Tor research and development has been funded by the U.S.~Navy and DARPA
 | 
	
	
		
			
				|  | @@ -248,13 +256,13 @@ the fifty node Tor network as deployed in mid 2004. There it was shown
 | 
	
		
			
				|  |  |  that an outside attacker can trace a stream through the Tor network
 | 
	
		
			
				|  |  |  while a stream is still active simply by observing the latency of his
 | 
	
		
			
				|  |  |  own traffic sent through various Tor nodes. These attacks do not show
 | 
	
		
			
				|  |  | -the client address, only the first TR within the Tor network, making
 | 
	
		
			
				|  |  | +the client address, only the first node within the Tor network, making
 | 
	
		
			
				|  |  |  helper nodes all the more worthy of exploration (cf.,
 | 
	
		
			
				|  |  |  Section~{subsec:helper-nodes}).
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Against internal attackers who sign up Tor routers, the situation is more
 | 
	
		
			
				|  |  | +Against internal attackers who sign up Tor nodes, the situation is more
 | 
	
		
			
				|  |  |  complicated.  In the simplest case, if an adversary has compromised $c$ of
 | 
	
		
			
				|  |  | -$n$ TRs on the Tor network, then the adversary will be able to compromise
 | 
	
		
			
				|  |  | +$n$ nodes on the Tor network, then the adversary will be able to compromise
 | 
	
		
			
				|  |  |  a random circuit with probability $\frac{c^2}{n^2}$ (since the circuit
 | 
	
		
			
				|  |  |  initiator chooses hops randomly).  But there are
 | 
	
		
			
				|  |  |  complicating factors:
 | 
	
	
		
			
				|  | @@ -266,8 +274,8 @@ complicating factors:
 | 
	
		
			
				|  |  |    can be certain of observing all connections to that service; he
 | 
	
		
			
				|  |  |    therefore will trace connections to that service with probability
 | 
	
		
			
				|  |  |    $\frac{c}{n}$.
 | 
	
		
			
				|  |  | -(3)~Users do not in fact choose TRs with uniform probability; they
 | 
	
		
			
				|  |  | -  favor TRs with high bandwidth or uptime, and exit TRs that
 | 
	
		
			
				|  |  | +(3)~Users do not in fact choose nodes with uniform probability; they
 | 
	
		
			
				|  |  | +  favor nodes with high bandwidth or uptime, and exit nodes that
 | 
	
		
			
				|  |  |    permit connections to their favorite services. 
 | 
	
		
			
				|  |  |  See Section~\ref{subsec:routing-zones} for discussion of larger
 | 
	
		
			
				|  |  |  adversaries and our dispersal goals.
 | 
	
	
		
			
				|  | @@ -281,8 +289,8 @@ adversaries and our dispersal goals.
 | 
	
		
			
				|  |  |  %  can be certain of observing all connections to that service; he
 | 
	
		
			
				|  |  |  %  therefore will trace connections to that service with probability
 | 
	
		
			
				|  |  |  %  $\frac{c}{n}$.
 | 
	
		
			
				|  |  | -%\item Users do not in fact choose TRs with uniform probability; they
 | 
	
		
			
				|  |  | -%  favor TRs with high bandwidth or uptime, and exit TRs that
 | 
	
		
			
				|  |  | +%\item Users do not in fact choose nodes with uniform probability; they
 | 
	
		
			
				|  |  | +%  favor nodes with high bandwidth or uptime, and exit nodes that
 | 
	
		
			
				|  |  |  %  permit connections to their favorite services.
 | 
	
		
			
				|  |  |  %\end{tightlist}
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -329,7 +337,7 @@ adversaries and our dispersal goals.
 | 
	
		
			
				|  |  |  {\bf Distributed trust.}
 | 
	
		
			
				|  |  |  In practice Tor's threat model is based entirely on the goal of
 | 
	
		
			
				|  |  |  dispersal and diversity.
 | 
	
		
			
				|  |  | -Tor's defense lies in having a diverse enough set of TRs
 | 
	
		
			
				|  |  | +Tor's defense lies in having a diverse enough set of nodes
 | 
	
		
			
				|  |  |  to prevent most real-world
 | 
	
		
			
				|  |  |  adversaries from being in the right places to attack users.
 | 
	
		
			
				|  |  |  Tor aims to resist observers and insiders by distributing each transaction
 | 
	
	
		
			
				|  | @@ -381,7 +389,7 @@ network~\cite{freedom21-security} was even more flexible than Tor in
 | 
	
		
			
				|  |  |  that it could transport arbitrary IP packets, and it also supported
 | 
	
		
			
				|  |  |  pseudonymous access rather than just anonymous access; but it had
 | 
	
		
			
				|  |  |  a different approach to sustainability (collecting money from users
 | 
	
		
			
				|  |  | -and paying ISPs to run Tor routers), and was shut down due to financial
 | 
	
		
			
				|  |  | +and paying ISPs to run Tor nodes), and was shut down due to financial
 | 
	
		
			
				|  |  |  load.  Finally, potentially
 | 
	
		
			
				|  |  |  more scalable designs like Tarzan~\cite{tarzan:ccs02} and
 | 
	
		
			
				|  |  |  MorphMix~\cite{morphmix:fc04} have been proposed in the literature, but
 | 
	
	
		
			
				|  | @@ -505,17 +513,17 @@ NRA member if you prefer a contrasting example). Add a thousand
 | 
	
		
			
				|  |  |  diverse citizens (cancer survivors, privacy enthusiasts, and so on)
 | 
	
		
			
				|  |  |  and now she's harder to profile.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Furthermore, the network's reputability affects its router base: more people
 | 
	
		
			
				|  |  | +Furthermore, the network's reputability affects its node base: more people
 | 
	
		
			
				|  |  |  are willing to run a service if they believe it will be used by human rights
 | 
	
		
			
				|  |  |  workers than if they believe it will be used exclusively for disreputable
 | 
	
		
			
				|  |  | -ends.  This effect becomes stronger if TR operators themselves think they
 | 
	
		
			
				|  |  | +ends.  This effect becomes stronger if node operators themselves think they
 | 
	
		
			
				|  |  |  will be associated with these disreputable ends.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  So the more cancer survivors on Tor, the better for the human rights
 | 
	
		
			
				|  |  |  activists. The more malicious hackers, the worse for the normal users. Thus,
 | 
	
		
			
				|  |  |  reputability is an anonymity issue for two reasons. First, it impacts
 | 
	
		
			
				|  |  |  the sustainability of the network: a network that's always about to be
 | 
	
		
			
				|  |  | -shut down has difficulty attracting and keeping adquate TRs.
 | 
	
		
			
				|  |  | +shut down has difficulty attracting and keeping adquate nodes.
 | 
	
		
			
				|  |  |  Second, a disreputable network is more vulnerable to legal and
 | 
	
		
			
				|  |  |  political attacks, since it will attract fewer supporters.
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -565,17 +573,17 @@ funding.\footnote{It also helps that Tor is implemented with free and open
 | 
	
		
			
				|  |  |  do to encourage more volunteers to do so?
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  We have not formally surveyed Tor node operators to learn why they are
 | 
	
		
			
				|  |  | -running TRs, but
 | 
	
		
			
				|  |  | +running nodes, but
 | 
	
		
			
				|  |  |  from the information they have provided, it seems that many of them run Tor
 | 
	
		
			
				|  |  |  nodes for reasons of personal interest in privacy issues.  It is possible
 | 
	
		
			
				|  |  |  that others are running Tor for their own
 | 
	
		
			
				|  |  |  anonymity reasons, but of course they are
 | 
	
		
			
				|  |  |  hardly likely to tell us specifics if they are.
 | 
	
		
			
				|  |  |  %Significantly, Tor's threat model changes the anonymity incentives for running
 | 
	
		
			
				|  |  | -%a TR.  In a high-latency mix network, users can receive additional
 | 
	
		
			
				|  |  | -%anonymity by running their own TR, since doing so obscures when they are
 | 
	
		
			
				|  |  | +%a node.  In a high-latency mix network, users can receive additional
 | 
	
		
			
				|  |  | +%anonymity by running their own node, since doing so obscures when they are
 | 
	
		
			
				|  |  |  %injecting messages into the network.  But, anybody observing all I/O to a Tor
 | 
	
		
			
				|  |  | -%TR can tell when the TR is generating traffic that corresponds to
 | 
	
		
			
				|  |  | +%node can tell when the node is generating traffic that corresponds to
 | 
	
		
			
				|  |  |  %none of its incoming traffic.
 | 
	
		
			
				|  |  |  %
 | 
	
		
			
				|  |  |  %I didn't buy the above for reason's subtle enough that I just cut it -PFS
 | 
	
	
		
			
				|  | @@ -585,9 +593,9 @@ Tor exit node operators do attain a degree of
 | 
	
		
			
				|  |  |    will be assumed to be from the Tor network. 
 | 
	
		
			
				|  |  |    More significantly, people and organizations who use Tor for
 | 
	
		
			
				|  |  |    anonymity depend on the
 | 
	
		
			
				|  |  | -  continued existence of the Tor network to do so; running a TR helps to
 | 
	
		
			
				|  |  | +  continued existence of the Tor network to do so; running a node helps to
 | 
	
		
			
				|  |  |    keep the network operational.
 | 
	
		
			
				|  |  | -%\item Local Tor entry and exit TRs allow users on a network to run in an
 | 
	
		
			
				|  |  | +%\item Local Tor entry and exit nodes allow users on a network to run in an
 | 
	
		
			
				|  |  |  %  `enclave' configuration.  [XXXX need to resolve this. They would do this
 | 
	
		
			
				|  |  |  %   for E2E encryption + auth?]
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -601,7 +609,7 @@ resource and administrative demands as low as possible.
 | 
	
		
			
				|  |  |  Because of ISP billing structures, many Tor operators have underused capacity
 | 
	
		
			
				|  |  |  that they are willing to donate to the network, at no additional monetary
 | 
	
		
			
				|  |  |  cost to them.  Features to limit bandwidth have been essential to adoption.
 | 
	
		
			
				|  |  | -Also useful has been a ``hibernation'' feature that allows a TR that
 | 
	
		
			
				|  |  | +Also useful has been a ``hibernation'' feature that allows a Tor node that
 | 
	
		
			
				|  |  |  wants to provide high bandwidth, but no more than a certain amount in a
 | 
	
		
			
				|  |  |  giving billing cycle, to become dormant once its bandwidth is exhausted, and
 | 
	
		
			
				|  |  |  to reawaken at a random offset into the next billing cycle.  This feature has
 | 
	
	
		
			
				|  | @@ -610,10 +618,10 @@ Section~\ref{subsec:bandwidth-and-filesharing} below.
 | 
	
		
			
				|  |  |  Exit policies help to limit administrative costs by limiting the frequency of
 | 
	
		
			
				|  |  |  abuse complaints.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -%[XXXX say more.  Why else would you run a TR? What else can we do/do we
 | 
	
		
			
				|  |  | -%  already do to make running a TR more attractive?]
 | 
	
		
			
				|  |  | +%[XXXX say more.  Why else would you run a node? What else can we do/do we
 | 
	
		
			
				|  |  | +%  already do to make running a node more attractive?]
 | 
	
		
			
				|  |  |  %[We can enforce incentives; see Section 6.1. We can rate-limit clients.
 | 
	
		
			
				|  |  | -%  We can put "top bandwidth TRs lists" up a la seti@home.]
 | 
	
		
			
				|  |  | +%  We can put "top bandwidth nodes lists" up a la seti@home.]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  \subsection{Bandwidth and filesharing}
 | 
	
	
		
			
				|  | @@ -623,11 +631,11 @@ abuse complaints.
 | 
	
		
			
				|  |  |  Once users have configured their applications to work with Tor, the largest
 | 
	
		
			
				|  |  |  remaining usability issues is performance.  Users begin to suffer
 | 
	
		
			
				|  |  |  when websites ``feel slow''.
 | 
	
		
			
				|  |  | -Clients currently try to build their connections through TRs that they
 | 
	
		
			
				|  |  | +Clients currently try to build their connections through nodes that they
 | 
	
		
			
				|  |  |  guess will have enough bandwidth.  But even if capacity is allocated
 | 
	
		
			
				|  |  |  optimally, it seems unlikely that the current network architecture will have
 | 
	
		
			
				|  |  |  enough capacity to provide every user with as much bandwidth as she would
 | 
	
		
			
				|  |  | -receive if she weren't using Tor, unless far more TRs join the network
 | 
	
		
			
				|  |  | +receive if she weren't using Tor, unless far more nodes join the network
 | 
	
		
			
				|  |  |  (see above).
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  %Limited capacity does not destroy the network, however.  Instead, usage tends
 | 
	
	
		
			
				|  | @@ -663,7 +671,7 @@ block filesharing would have to find some way to integrate Tor with a
 | 
	
		
			
				|  |  |  protocol-aware exit filter.  This could be a technically expensive
 | 
	
		
			
				|  |  |  undertaking, and one with poor prospects: it is unlikely that Tor exit nodes
 | 
	
		
			
				|  |  |  would succeed where so many institutional firewalls have failed.  Another
 | 
	
		
			
				|  |  | -possibility for sensitive operators is to run a restrictive TR that
 | 
	
		
			
				|  |  | +possibility for sensitive operators is to run a restrictive node that
 | 
	
		
			
				|  |  |  only permits exit connections to a restricted range of ports which are
 | 
	
		
			
				|  |  |  not frequently associated with file sharing.  There are increasingly few such
 | 
	
		
			
				|  |  |  ports.
 | 
	
	
		
			
				|  | @@ -698,14 +706,14 @@ Internet with vandalism, rude mail, and so on.
 | 
	
		
			
				|  |  |  %[XXX we're not talking bandwidth abuse here, we're talking vandalism,
 | 
	
		
			
				|  |  |  %hate mails via hotmail, attacks, etc.]
 | 
	
		
			
				|  |  |  Our initial answer to this situation was to use ``exit policies''
 | 
	
		
			
				|  |  | -to allow individual Tor routers to block access to specific IP/port ranges.
 | 
	
		
			
				|  |  | +to allow individual Tor nodes to block access to specific IP/port ranges.
 | 
	
		
			
				|  |  |  This approach was meant to make operators more willing to run Tor by allowing
 | 
	
		
			
				|  |  | -them to prevent their TRs from being used for abusing particular
 | 
	
		
			
				|  |  | +them to prevent their nodes from being used for abusing particular
 | 
	
		
			
				|  |  |  services.  For example, all Tor nodes currently block SMTP (port 25), in
 | 
	
		
			
				|  |  |  order to avoid being used to send spam.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  This approach is useful, but is insufficient for two reasons.  First, since
 | 
	
		
			
				|  |  | -it is not possible to force all TRs to block access to any given service,
 | 
	
		
			
				|  |  | +it is not possible to force all nodes to block access to any given service,
 | 
	
		
			
				|  |  |  many of those services try to block Tor instead.  More broadly, while being
 | 
	
		
			
				|  |  |  blockable is important to being good netizens, we would like to encourage
 | 
	
		
			
				|  |  |  services to allow anonymous access; services should not need to decide
 | 
	
	
		
			
				|  | @@ -714,7 +722,7 @@ between blocking legitimate anonymous use and allowing unlimited abuse.
 | 
	
		
			
				|  |  |  This is potentially a bigger problem than it may appear. 
 | 
	
		
			
				|  |  |  On the one hand, if people want to refuse connections from your address to
 | 
	
		
			
				|  |  |  their servers it would seem that they should be allowed.  But, it's not just
 | 
	
		
			
				|  |  | -for himself that the individual TR administrator is deciding when he decides
 | 
	
		
			
				|  |  | +for himself that the individual node administrator is deciding when he decides
 | 
	
		
			
				|  |  |  if he wants to post to Wikipedia from his Tor node address or allow
 | 
	
		
			
				|  |  |  people to read Wikipedia anonymously through his Tor node. (Wikipedia
 | 
	
		
			
				|  |  |  has blocked all posting from all Tor nodes based on IP address.) If e.g.,
 | 
	
	
		
			
				|  | @@ -726,9 +734,9 @@ protected entities of the world.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Worse, many IP blacklists are not terribly fine-grained.
 | 
	
		
			
				|  |  |  No current IP blacklist, for example, allow a service provider to blacklist
 | 
	
		
			
				|  |  | -only those Tor routers that allow access to a specific IP or port, even
 | 
	
		
			
				|  |  | +only those Tor nodes that allow access to a specific IP or port, even
 | 
	
		
			
				|  |  |  though this information is readily available.  One IP blacklist even bans
 | 
	
		
			
				|  |  | -every class C network that contains a Tor router, and recommends banning SMTP
 | 
	
		
			
				|  |  | +every class C network that contains a Tor node, and recommends banning SMTP
 | 
	
		
			
				|  |  |  from these networks even though Tor does not allow SMTP at all.  This
 | 
	
		
			
				|  |  |  coarse-grained approach is typically a strategic decision to discourage the
 | 
	
		
			
				|  |  |  operation of anything resembling an open proxy by encouraging its neighbors
 | 
	
	
		
			
				|  | @@ -745,8 +753,8 @@ Wikipedia, which rely on IP blocking to ban abusive users.  While at first
 | 
	
		
			
				|  |  |  blush this practice might seem to depend on the anachronistic assumption that
 | 
	
		
			
				|  |  |  each IP is an identifier for a single user, it is actually more reasonable in
 | 
	
		
			
				|  |  |  practice: it assumes that non-proxy IPs are a costly resource, and that an
 | 
	
		
			
				|  |  | -abuser can not change IPs at will.  By blocking IPs which are used by TRs,
 | 
	
		
			
				|  |  | -open proxies, and service abusers, these systems hope to make
 | 
	
		
			
				|  |  | +abuser can not change IPs at will.  By blocking IPs which are used by Tor
 | 
	
		
			
				|  |  | +nodes, open proxies, and service abusers, these systems hope to make
 | 
	
		
			
				|  |  |  ongoing abuse difficult.  Although the system is imperfect, it works
 | 
	
		
			
				|  |  |  tolerably well for them in practice.
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -919,7 +927,7 @@ low- or mid- latency as they are constructed. Low-latency traffic
 | 
	
		
			
				|  |  |  would be processed as now, while cells on circuits that are mid-latency
 | 
	
		
			
				|  |  |  would be sent in uniform-size chunks at synchronized intervals.  (Traffic
 | 
	
		
			
				|  |  |  already moves through the Tor network in fixed-sized cells; this would
 | 
	
		
			
				|  |  | -increase the granularity.)  If TRs forward these chunks in roughly
 | 
	
		
			
				|  |  | +increase the granularity.)  If nodes forward these chunks in roughly
 | 
	
		
			
				|  |  |  synchronous  fashion, it will increase the similarity of data stream timing
 | 
	
		
			
				|  |  |  signatures. By experimenting with the granularity of data chunks and
 | 
	
		
			
				|  |  |  of synchronization we can attempt once again to optimize for both
 | 
	
	
		
			
				|  | @@ -950,28 +958,28 @@ One of the paradoxes with engineering an anonymity network is that we'd like
 | 
	
		
			
				|  |  |  to learn as much as we can about how traffic flows so we can improve the
 | 
	
		
			
				|  |  |  network, but we want to prevent others from learning how traffic flows in
 | 
	
		
			
				|  |  |  order to trace users' connections through the network.  Furthermore, many
 | 
	
		
			
				|  |  | -mechanisms that help Tor run efficiently (such as having clients choose TRs
 | 
	
		
			
				|  |  | +mechanisms that help Tor run efficiently (such as having clients choose nodes
 | 
	
		
			
				|  |  |  based on their capacities) require measurements about the network.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Currently, TRs record their bandwidth use in 15-minute intervals and
 | 
	
		
			
				|  |  | +Currently, nodes record their bandwidth use in 15-minute intervals and
 | 
	
		
			
				|  |  |  include this information in the descriptors they upload to the directory.
 | 
	
		
			
				|  |  |  They also try to deduce their own available bandwidth (based on how
 | 
	
		
			
				|  |  |  much traffic they have been able to transfer recently) and upload this
 | 
	
		
			
				|  |  |  information as well.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -This is, of course, eminently cheatable.  A malicious TR can get a
 | 
	
		
			
				|  |  | +This is, of course, eminently cheatable.  A malicious node can get a
 | 
	
		
			
				|  |  |  disproportionate amount of traffic simply by claiming to have more bandwidth
 | 
	
		
			
				|  |  |  than it does.  But better mechanisms have their problems.  If bandwidth data
 | 
	
		
			
				|  |  |  is to be measured rather than self-reported, it is usually possible for
 | 
	
		
			
				|  |  | -TRs to selectively provide better service for the measuring party, or
 | 
	
		
			
				|  |  | -sabotage the measured value of other TRs.  Complex solutions for
 | 
	
		
			
				|  |  | +nodes to selectively provide better service for the measuring party, or
 | 
	
		
			
				|  |  | +sabotage the measured value of other nodes.  Complex solutions for
 | 
	
		
			
				|  |  |  mix networks have been proposed, but do not address the issues
 | 
	
		
			
				|  |  |  completely~\cite{mix-acc,casc-rep}.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Even with no cheating, network measurement is complex.  It is common
 | 
	
		
			
				|  |  |  for views of a node's latency and/or bandwidth to vary wildly between
 | 
	
		
			
				|  |  |  observers.  Further, it is unclear whether total bandwidth is really
 | 
	
		
			
				|  |  | -the right measure; perhaps clients should instead be considering TRs
 | 
	
		
			
				|  |  | +the right measure; perhaps clients should instead be considering nodes
 | 
	
		
			
				|  |  |  based on unused bandwidth or observed throughput.
 | 
	
		
			
				|  |  |  % XXXX say more here?
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -991,7 +999,7 @@ seems plausible that bandwidth data alone is not enough to reveal
 | 
	
		
			
				|  |  |  sender-recipient connections under most circumstances, it could certainly
 | 
	
		
			
				|  |  |  reveal the path taken by large traffic flows under low-usage circumstances.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -\subsection{Running a Tor router, path length, and helper nodes}
 | 
	
		
			
				|  |  | +\subsection{Running a Tor node, path length, and helper nodes}
 | 
	
		
			
				|  |  |  \label{subsec:helper-nodes}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  It has been thought for some time that the best anonymity protection
 | 
	
	
		
			
				|  | @@ -1003,7 +1011,7 @@ Onion Routing design included random length routes chosen
 | 
	
		
			
				|  |  |  to simultaneously maximize efficiency and unpredictability in routes.
 | 
	
		
			
				|  |  |  If one followed Tor's three node default
 | 
	
		
			
				|  |  |  path length, an enclave-to-enclave communication (in which the entry and
 | 
	
		
			
				|  |  | -exit TRs were run by enclaves themselves) 
 | 
	
		
			
				|  |  | +exit nodes were run by enclaves themselves) 
 | 
	
		
			
				|  |  |  would be completely compromised by the
 | 
	
		
			
				|  |  |  middle node. Thus for enclave-to-enclave communication, four is the fewest
 | 
	
		
			
				|  |  |  number of nodes that preserves the $\frac{c^2}{n^2}$ degree of protection
 | 
	
	
		
			
				|  | @@ -1046,7 +1054,7 @@ Tor can only provide anonymity against an attacker if that attacker can't
 | 
	
		
			
				|  |  |  monitor the user's entry and exit on the Tor network.  But since Tor
 | 
	
		
			
				|  |  |  currently chooses entry and exit points randomly and changes them frequently,
 | 
	
		
			
				|  |  |  a patient attacker who controls a single entry and a single exit is sure to
 | 
	
		
			
				|  |  | -eventually break some circuits of frequent users who consider those TRs.
 | 
	
		
			
				|  |  | +eventually break some circuits of frequent users who consider those nodes.
 | 
	
		
			
				|  |  |  (We assume that users are as concerned about statistical profiling as about
 | 
	
		
			
				|  |  |  the anonymity any particular connection.  That is, it is almost as bad to
 | 
	
		
			
				|  |  |  leak the fact that Alice {\it sometimes} talks to Bob as it is to leak the times
 | 
	
	
		
			
				|  | @@ -1054,8 +1062,8 @@ when Alice is {\it actually} talking to Bob.)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  One solution to this problem is to use ``helper nodes''~\cite{wright02,wright03}---to
 | 
	
		
			
				|  |  | -have each client choose a few fixed TRs for critical positions in her
 | 
	
		
			
				|  |  | -circuits.  That is, Alice might choose some TR H1 as her preferred
 | 
	
		
			
				|  |  | +have each client choose a few fixed nodes for critical positions in her
 | 
	
		
			
				|  |  | +circuits.  That is, Alice might choose some node H1 as her preferred
 | 
	
		
			
				|  |  |  entry, so that unless the attacker happens to control or observe her
 | 
	
		
			
				|  |  |  connection to H1, her circuits will remain anonymous.  If H1 is compromised,
 | 
	
		
			
				|  |  |  Alice is vunerable as before.  But now, at least, she has a chance of
 | 
	
	
		
			
				|  | @@ -1067,10 +1075,13 @@ nevertheless connect to a hostile website.)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  There are still obstacles remaining before helper nodes can be implemented.
 | 
	
		
			
				|  |  |  For one, the litereature does not describe how to choose helpers from a list
 | 
	
		
			
				|  |  | -of TRs that changes over time.  If Alice is forced to choose a new entry
 | 
	
		
			
				|  |  | -helper every $d$ days, she can expect to choose a compromised TR around
 | 
	
		
			
				|  |  | -every $dc/n$ days.  Worse, an attacker with the ability to DoS TRs could
 | 
	
		
			
				|  |  | -force their users to switch helper nodes more frequently.
 | 
	
		
			
				|  |  | +of nodes that changes over time.  If Alice is forced to choose a new entry
 | 
	
		
			
				|  |  | +helper every $d$ days, she can expect to choose a compromised node around
 | 
	
		
			
				|  |  | +every $dc/n$ days. Statistically over time this approach only helps
 | 
	
		
			
				|  |  | +if she is better at choosing honest helper nodes than at choosing
 | 
	
		
			
				|  |  | +honest nodes.  Worse, an attacker with the ability to DoS nodes could
 | 
	
		
			
				|  |  | +force their users to switch helper nodes more frequently and/or to remove
 | 
	
		
			
				|  |  | +other candidate helpers.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  %Do general DoS attacks have anonymity implications? See e.g. Adam
 | 
	
		
			
				|  |  |  %Back's IH paper, but I think there's more to be pointed out here. -RD
 | 
	
	
		
			
				|  | @@ -1096,7 +1107,7 @@ force their users to switch helper nodes more frequently.
 | 
	
		
			
				|  |  |  \subsection{Location-hidden services}
 | 
	
		
			
				|  |  |  \label{subsec:hidden-services}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -While most of the discussions about have been about forward anonymity
 | 
	
		
			
				|  |  | +While most of the discussions above have been about forward anonymity
 | 
	
		
			
				|  |  |  with Tor, it also provides support for \emph{rendezvous points}, which
 | 
	
		
			
				|  |  |  let users provide TCP services to other Tor users without revealing
 | 
	
		
			
				|  |  |  their location. Since this feature is relatively recent, we describe here
 | 
	
	
		
			
				|  | @@ -1115,9 +1126,10 @@ publishing systems that aim to provide long-term security.
 | 
	
		
			
				|  |  |  provide the service and loss of any one location does not imply a
 | 
	
		
			
				|  |  |  change in service, would help foil intersection and observation attacks
 | 
	
		
			
				|  |  |  where an adversary monitors availability of a hidden service and also
 | 
	
		
			
				|  |  | -monitors whether certain users or servers are online. However, the design
 | 
	
		
			
				|  |  | +monitors whether certain users or servers are online. The design
 | 
	
		
			
				|  |  |  challenges in providing these services without otherwise compromising
 | 
	
		
			
				|  |  | -the hidden service's anonymity remain an open problem.
 | 
	
		
			
				|  |  | +the hidden service's anonymity remain an open problem;
 | 
	
		
			
				|  |  | +however, see~\cite{move-ndss05}.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  In practice, hidden services are used for more than just providing private
 | 
	
		
			
				|  |  |  access to a web server or IRC server. People are using hidden services
 | 
	
	
		
			
				|  | @@ -1129,9 +1141,10 @@ with that hidden service externally.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Also, sites like Bloggers Without Borders (www.b19s.org) are advertising
 | 
	
		
			
				|  |  |  a hidden-service address on their front page. Doing this can provide
 | 
	
		
			
				|  |  | -increased robustness if they use the dual-IP approach we describe in
 | 
	
		
			
				|  |  | -tor-design, but in practice they do it firstly to increase visibility
 | 
	
		
			
				|  |  | -of the tor project and their support for privacy, and secondly to offer
 | 
	
		
			
				|  |  | +increased robustness if they use the dual-IP approach we describe
 | 
	
		
			
				|  |  | +in~\cite{tor-design},
 | 
	
		
			
				|  |  | +but in practice they do it firstly to increase visibility
 | 
	
		
			
				|  |  | +of the Tor project and their support for privacy, and secondly to offer
 | 
	
		
			
				|  |  |  a way for their users, using unmodified software, to get end-to-end
 | 
	
		
			
				|  |  |  encryption and end-to-end authentication to their website.
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1141,25 +1154,28 @@ encryption and end-to-end authentication to their website.
 | 
	
		
			
				|  |  |  [arma will edit this and expand/retract it]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  The published Tor design adopted a deliberately simplistic design for
 | 
	
		
			
				|  |  | -authorizing new nodes and informing clients about TRs and their status.
 | 
	
		
			
				|  |  | -In the early Tor designs, all ORs periodically uploaded a signed description
 | 
	
		
			
				|  |  | +authorizing new nodes and informing clients about Tor nodes and their status.
 | 
	
		
			
				|  |  | +In the early Tor designs, all nodes periodically uploaded a signed description
 | 
	
		
			
				|  |  |  of their locations, keys, and capabilities to each of several well-known {\it
 | 
	
		
			
				|  |  |    directory servers}.  These directory servers constructed a signed summary
 | 
	
		
			
				|  |  | -of all known ORs (a ``directory''), and a signed statement of which ORs they
 | 
	
		
			
				|  |  | +of all known Tor nodes (a ``directory''), and a signed statement of which
 | 
	
		
			
				|  |  | +nodes they
 | 
	
		
			
				|  |  |  believed to be operational at any given time (a ``network status'').  Clients
 | 
	
		
			
				|  |  | -periodically downloaded a directory in order to learn the latest ORs and
 | 
	
		
			
				|  |  | -keys, and more frequently downloaded a network status to learn which ORs are
 | 
	
		
			
				|  |  | -likely to be running.  ORs also operate as directory caches, in order to
 | 
	
		
			
				|  |  | +periodically downloaded a directory in order to learn the latest nodes and
 | 
	
		
			
				|  |  | +keys, and more frequently downloaded a network status to learn which nodes are
 | 
	
		
			
				|  |  | +likely to be running.  Tor nodes also operate as directory caches, in order to
 | 
	
		
			
				|  |  |  lighten the bandwidth on the authoritative directory servers.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  In order to prevent Sybil attacks (wherein an adversary signs up many
 | 
	
		
			
				|  |  | -purportedly independent TRs in order to increase her chances of observing
 | 
	
		
			
				|  |  | +purportedly independent nodes in order to increase her chances of observing
 | 
	
		
			
				|  |  |  a stream as it enters and leaves the network), the early Tor directory design
 | 
	
		
			
				|  |  |  required the operators of the authoritative directory servers to manually
 | 
	
		
			
				|  |  | -approve new ORs.  Unapproved ORs were included in the directory, but clients
 | 
	
		
			
				|  |  | +approve new nodes.  Unapproved nodes were included in the directory,
 | 
	
		
			
				|  |  | +but clients
 | 
	
		
			
				|  |  |  did not use them at the start or end of their circuits.  In practice,
 | 
	
		
			
				|  |  |  directory administrators performed little actual verification, and tended to
 | 
	
		
			
				|  |  | -approve any OR whose operator could compose a coherent email.  This procedure
 | 
	
		
			
				|  |  | +approve any Tor node whose operator could compose a coherent email.
 | 
	
		
			
				|  |  | +This procedure
 | 
	
		
			
				|  |  |  may have prevented trivial automated Sybil attacks, but would do little
 | 
	
		
			
				|  |  |  against a clever attacker.
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1168,24 +1184,27 @@ move forward.  They include:
 | 
	
		
			
				|  |  |  \begin{tightlist}
 | 
	
		
			
				|  |  |  \item Each directory server represents an independent point of failure; if
 | 
	
		
			
				|  |  |    any one were compromised, it could immediately compromise all of its users
 | 
	
		
			
				|  |  | -  by recommending only compromised ORs.
 | 
	
		
			
				|  |  | -\item The more TRs appear join the network, the more unreasonable it
 | 
	
		
			
				|  |  | +  by recommending only compromised nodes.
 | 
	
		
			
				|  |  | +\item The more nodes join the network, the more unreasonable it
 | 
	
		
			
				|  |  |    becomes to expect clients to know about them all.  Directories
 | 
	
		
			
				|  |  | -  become unfeasibly large, and downloading the list of TRs becomes
 | 
	
		
			
				|  |  | -  burdonsome.
 | 
	
		
			
				|  |  | +  become infeasibly large, and downloading the list of nodes becomes
 | 
	
		
			
				|  |  | +  burdensome.
 | 
	
		
			
				|  |  |  \item The validation scheme may do as much harm as it does good.  It is not
 | 
	
		
			
				|  |  |    only incapable of preventing clever attackers from mounting Sybil attacks,
 | 
	
		
			
				|  |  | -  but may deter TR operators from joining the network.  (For instance, if
 | 
	
		
			
				|  |  | +  but may deter node operators from joining the network.  (For instance, if
 | 
	
		
			
				|  |  |    they expect the validation process to be difficult, or if they do not share
 | 
	
		
			
				|  |  |    any languages in common with the directory server operators.)
 | 
	
		
			
				|  |  |  \end{tightlist}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  We could try to move the system in several directions, depending on our
 | 
	
		
			
				|  |  |  choice of threat model and requirements.  If we did not need to increase
 | 
	
		
			
				|  |  | -network capacity in order to support more users, there would be no reason not
 | 
	
		
			
				|  |  | -to adopt even stricter validation requirements, and reduce the number of
 | 
	
		
			
				|  |  | -TRs in the network to a trusted minimum.  But since we want Tor to work
 | 
	
		
			
				|  |  | -for as many users as it can, we need XXXXX
 | 
	
		
			
				|  |  | +network capacity in order to support more users, we could simply
 | 
	
		
			
				|  |  | + adopt even stricter validation requirements, and reduce the number of
 | 
	
		
			
				|  |  | +nodes in the network to a trusted minimum.  
 | 
	
		
			
				|  |  | +But, we can only do that if can simultaneously make node capacity
 | 
	
		
			
				|  |  | +scale much more than we anticipate feasible soon, and if we can find
 | 
	
		
			
				|  |  | +entities willing to run such nodes, an equally daunting prospect.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  In order to address the first two issues, it seems wise to move to a system
 | 
	
		
			
				|  |  |  including a number of semi-trusted directory servers, no one of which can
 | 
	
	
		
			
				|  | @@ -1194,7 +1213,7 @@ problem of a first introducer: since most users will run Tor in whatever
 | 
	
		
			
				|  |  |  configuration the software ships with, the Tor distribution itself will
 | 
	
		
			
				|  |  |  remain a potential single point of failure so long as it includes the seed
 | 
	
		
			
				|  |  |  keys for directory servers, a list of directory servers, or any other means
 | 
	
		
			
				|  |  | -to learn which TRs are on the network.  But omitting this information
 | 
	
		
			
				|  |  | +to learn which nodes are on the network.  But omitting this information
 | 
	
		
			
				|  |  |  from the Tor distribution would only delegate the trust problem to the
 | 
	
		
			
				|  |  |  individual users, most of whom are presumably less informed about how to make
 | 
	
		
			
				|  |  |  trust decisions than the Tor developers.
 | 
	
	
		
			
				|  | @@ -1209,44 +1228,44 @@ trust decisions than the Tor developers.
 | 
	
		
			
				|  |  |  %\label{sec:crossroads-scaling}
 | 
	
		
			
				|  |  |  %P2P + anonymity issues:
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Tor is running today with hundreds of TRs and tens of thousands of
 | 
	
		
			
				|  |  | +Tor is running today with hundreds of nodes and tens of thousands of
 | 
	
		
			
				|  |  |  users, but it will certainly not scale to millions.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Scaling Tor involves three main challenges.  First is safe node
 | 
	
		
			
				|  |  |  discovery, both bootstrapping -- how a Tor client can robustly find an
 | 
	
		
			
				|  |  | -initial TR list -- and ongoing -- how a Tor client can learn about
 | 
	
		
			
				|  |  | -a fair sample of honest TRs and not let the adversary control his
 | 
	
		
			
				|  |  | +initial node list -- and ongoing -- how a Tor client can learn about
 | 
	
		
			
				|  |  | +a fair sample of honest nodes and not let the adversary control his
 | 
	
		
			
				|  |  |  circuits (see Section~\ref{subsec:trust-and-discovery}).  Second is detecting and handling the speed
 | 
	
		
			
				|  |  | -and reliability of the variety of TRs we must use if we want to
 | 
	
		
			
				|  |  | -accept many TRs (see Section~\ref{subsec:performance}).
 | 
	
		
			
				|  |  | +and reliability of the variety of nodes we must use if we want to
 | 
	
		
			
				|  |  | +accept many nodes (see Section~\ref{subsec:performance}).
 | 
	
		
			
				|  |  |  Since the speed and reliability of a circuit is limited by its worst link,
 | 
	
		
			
				|  |  |  we must learn to track and predict performance.  Finally, in order to get
 | 
	
		
			
				|  |  | -a large set of TRs in the first place, we must address incentives
 | 
	
		
			
				|  |  | +a large set of nodes in the first place, we must address incentives
 | 
	
		
			
				|  |  |  for users to carry traffic for others (see Section incentives).
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  \subsection{Incentives by Design}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -There are three behaviors we need to encourage for each TR: relaying
 | 
	
		
			
				|  |  | +There are three behaviors we need to encourage for each Tor node: relaying
 | 
	
		
			
				|  |  |  traffic; providing good throughput and reliability while doing it;
 | 
	
		
			
				|  |  | -and allowing traffic to exit the network from that TR.
 | 
	
		
			
				|  |  | +and allowing traffic to exit the network from that node.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  We encourage these behaviors through \emph{indirect} incentives, that
 | 
	
		
			
				|  |  |  is, designing the system and educating users in such a way that users
 | 
	
		
			
				|  |  |  with certain goals will choose to relay traffic.  One
 | 
	
		
			
				|  |  | -main incentive for running a Tor router is social benefit: volunteers
 | 
	
		
			
				|  |  | +main incentive for running a Tor node is social benefit: volunteers
 | 
	
		
			
				|  |  |  altruistically donate their bandwidth and time.  We also keep public
 | 
	
		
			
				|  |  | -rankings of the throughput and reliability of TRs, much like
 | 
	
		
			
				|  |  | +rankings of the throughput and reliability of nodes, much like
 | 
	
		
			
				|  |  |  seti@home.  We further explain to users that they can get plausible
 | 
	
		
			
				|  |  |  deniability for any traffic emerging from the same address as a Tor
 | 
	
		
			
				|  |  | -exit node, and they can use their own Tor router
 | 
	
		
			
				|  |  | +exit node, and they can use their own Tor node
 | 
	
		
			
				|  |  |  as entry or exit point and be confident it's not run by the adversary.
 | 
	
		
			
				|  |  |  Further, users who need to be able to communicate anonymously
 | 
	
		
			
				|  |  | -may run a TR simply because their need to increase
 | 
	
		
			
				|  |  | +may run a node simply because their need to increase
 | 
	
		
			
				|  |  |  expectation that such a network continues to be available to them
 | 
	
		
			
				|  |  |  and usable exceeds any countervening costs.
 | 
	
		
			
				|  |  |  Finally, we can improve the usability and feature set of the software:
 | 
	
		
			
				|  |  |  rate limiting support and easy packaging decrease the hassle of
 | 
	
		
			
				|  |  | -maintaining a TR, and our configurable exit policies allow each
 | 
	
		
			
				|  |  | +maintaining a node, and our configurable exit policies allow each
 | 
	
		
			
				|  |  |  operator to advertise a policy describing the hosts and ports to which
 | 
	
		
			
				|  |  |  he feels comfortable connecting.
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -1262,7 +1281,7 @@ option is to use a tit-for-tat incentive scheme: provide better service
 | 
	
		
			
				|  |  |  to nodes that have provided good service to you.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Unfortunately, such an approach introduces new anonymity problems.
 | 
	
		
			
				|  |  | -There are many surprising ways for TRs to game the incentive and
 | 
	
		
			
				|  |  | +There are many surprising ways for nodes to game the incentive and
 | 
	
		
			
				|  |  |  reputation system to undermine anonymity because such systems are
 | 
	
		
			
				|  |  |  designed to encourage fairness in storage or bandwidth usage not
 | 
	
		
			
				|  |  |  fairness of provided anonymity. An adversary can attract more traffic
 | 
	
	
		
			
				|  | @@ -1270,9 +1289,9 @@ by performing well or can provide targeted differential performance to
 | 
	
		
			
				|  |  |  individual users to undermine their anonymity. Typically a user who
 | 
	
		
			
				|  |  |  chooses evenly from all options is most resistant to an adversary
 | 
	
		
			
				|  |  |  targeting him, but that approach prevents from handling heterogeneous
 | 
	
		
			
				|  |  | -TRs.
 | 
	
		
			
				|  |  | +nodes.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -%When a TR (call him Steve) performs well for Alice, does Steve gain
 | 
	
		
			
				|  |  | +%When a node (call him Steve) performs well for Alice, does Steve gain
 | 
	
		
			
				|  |  |  %reputation with the entire system, or just with Alice? If the entire
 | 
	
		
			
				|  |  |  %system, how does Alice tell everybody about her experience in a way that
 | 
	
		
			
				|  |  |  %prevents her from lying about it yet still protects her identity? If
 | 
	
	
		
			
				|  | @@ -1360,7 +1379,7 @@ of knowing our algorithm?
 | 
	
		
			
				|  |  |  %
 | 
	
		
			
				|  |  |  Lastly, can we use this knowledge to figure out which gaps in our network
 | 
	
		
			
				|  |  |  would most improve our robustness to this class of attack, and go recruit
 | 
	
		
			
				|  |  | -new TRs with those ASes in mind?
 | 
	
		
			
				|  |  | +new nodes with those ASes in mind?
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Tor's security relies in large part on the dispersal properties of its
 | 
	
		
			
				|  |  |  network. We need to be more aware of the anonymity properties of various
 | 
	
	
		
			
				|  | @@ -1383,7 +1402,7 @@ users across the world are trying to use it for exactly this purpose.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Anti-censorship networks hoping to bridge country-level blocks face
 | 
	
		
			
				|  |  |  a variety of challenges. One of these is that they need to find enough
 | 
	
		
			
				|  |  | -exit nodes---TRs on the `free' side that are willing to relay
 | 
	
		
			
				|  |  | +exit nodes---servers on the `free' side that are willing to relay
 | 
	
		
			
				|  |  |  arbitrary traffic from users to their final destinations. Anonymizing
 | 
	
		
			
				|  |  |  networks including Tor are well-suited to this task, since we have
 | 
	
		
			
				|  |  |  already gathered a set of exit nodes that are willing to tolerate some
 | 
	
	
		
			
				|  | @@ -1401,7 +1420,7 @@ volunteer to provide this service since they've already installed and use
 | 
	
		
			
				|  |  |  the software for their own privacy~\cite{koepsell:wpes2004}. Because
 | 
	
		
			
				|  |  |  the Tor protocol separates routing from network discovery \cite{tor-design},
 | 
	
		
			
				|  |  |  volunteers could configure their Tor clients
 | 
	
		
			
				|  |  | -to generate TR descriptors and send them to a special directory
 | 
	
		
			
				|  |  | +to generate node descriptors and send them to a special directory
 | 
	
		
			
				|  |  |  server that gives them out to dissidents who need to get around blocks.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Of course, this still doesn't prevent the adversary
 | 
	
	
		
			
				|  | @@ -1441,13 +1460,13 @@ it does not necessarily have the same implications as splitting a mixnet.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  Alternatively, we can try to scale a single Tor network.  Some issues for
 | 
	
		
			
				|  |  |  scaling include restricting the number of sockets and the amount of bandwidth
 | 
	
		
			
				|  |  | -used by each TR\@.  The number of sockets is determined by the network's
 | 
	
		
			
				|  |  | +used by each node.  The number of sockets is determined by the network's
 | 
	
		
			
				|  |  |  connectivity and the number of users, while bandwidth capacity is determined
 | 
	
		
			
				|  |  | -by the total bandwidth of TRs on the network.  The simplest solution to
 | 
	
		
			
				|  |  | -bandwidth capacity is to add more TRs, since adding a tor node of any
 | 
	
		
			
				|  |  | +by the total bandwidth of nodes on the network.  The simplest solution to
 | 
	
		
			
				|  |  | +bandwidth capacity is to add more nodes, since adding a tor node of any
 | 
	
		
			
				|  |  |  feasible bandwidth will increase the traffic capacity of the network.  So as
 | 
	
		
			
				|  |  |  a first step to scaling, we should focus on making the network tolerate more
 | 
	
		
			
				|  |  | -TRs, by reducing the interconnectivity of the nodes; later we can reduce
 | 
	
		
			
				|  |  | +nodes, by reducing the interconnectivity of the nodes; later we can reduce
 | 
	
		
			
				|  |  |  overhead associated with directories, discovery, and so on.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  By reducing the connectivity of the network we increase the total number of
 | 
	
	
		
			
				|  | @@ -1518,9 +1537,9 @@ network at all."
 | 
	
		
			
				|  |  |  %\put(3,1){\makebox(0,0)[c]{\epsfig{figure=graphnodes,width=6in}}}
 | 
	
		
			
				|  |  |  %\end{picture}
 | 
	
		
			
				|  |  |  \mbox{\epsfig{figure=graphnodes,width=5in}}
 | 
	
		
			
				|  |  | -\caption{Number of TRs over time. Lowest line is number of exit
 | 
	
		
			
				|  |  | +\caption{Number of Tor nodes over time. Lowest line is number of exit
 | 
	
		
			
				|  |  |  nodes that allow connections to port 80. Middle line is total number of
 | 
	
		
			
				|  |  | -verified (registered) TRs. The line above that represents TRs
 | 
	
		
			
				|  |  | +verified (registered) Tor nodes. The line above that represents nodes
 | 
	
		
			
				|  |  |  that are not yet registered.}
 | 
	
		
			
				|  |  |  \label{fig:graphnodes}
 | 
	
		
			
				|  |  |  \end{figure}
 | 
	
	
		
			
				|  | @@ -1528,7 +1547,7 @@ that are not yet registered.}
 | 
	
		
			
				|  |  |  \begin{figure}[t]
 | 
	
		
			
				|  |  |  \centering
 | 
	
		
			
				|  |  |  \mbox{\epsfig{figure=graphtraffic,width=5in}}
 | 
	
		
			
				|  |  | -\caption{The sum of traffic reported by each TR over time. The bottom
 | 
	
		
			
				|  |  | +\caption{The sum of traffic reported by each node over time. The bottom
 | 
	
		
			
				|  |  |  pair show average throughput, and the top pair represent the largest 15
 | 
	
		
			
				|  |  |  minute burst in each 4 hour period.}
 | 
	
		
			
				|  |  |  \label{fig:graphtraffic}
 | 
	
	
		
			
				|  | @@ -1541,14 +1560,14 @@ minute burst in each 4 hour period.}
 | 
	
		
			
				|  |  |  [leave this section for now, and make sure things here are covered
 | 
	
		
			
				|  |  |  elsewhere. then remove it.]
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Making use of TRs with little bandwidth. How to handle hammering by
 | 
	
		
			
				|  |  | +Making use of nodes with little bandwidth. How to handle hammering by
 | 
	
		
			
				|  |  |  certain applications.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Handling TRs that are far away from the rest of the network, e.g. on
 | 
	
		
			
				|  |  | +Handling nodes that are far away from the rest of the network, e.g. on
 | 
	
		
			
				|  |  |  the continents that aren't North America and Europe. High latency,
 | 
	
		
			
				|  |  |  often high packet loss.
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -Running Tor routers behind NATs, behind great-firewalls-of-China, etc.
 | 
	
		
			
				|  |  | +Running Tor nodes behind NATs, behind great-firewalls-of-China, etc.
 | 
	
		
			
				|  |  |  Restricted routes. How to propagate to everybody the topology? BGP
 | 
	
		
			
				|  |  |  style doesn't work because we don't want just *one* path. Point to
 | 
	
		
			
				|  |  |  Geoff's stuff.
 |