Browse Source

incentives section edit and other minor edits

svn:r3570
Paul Syverson 20 years ago
parent
commit
c76189d4b2
1 changed files with 47 additions and 39 deletions
  1. 47 39
      doc/design-paper/challenges.tex

+ 47 - 39
doc/design-paper/challenges.tex

@@ -49,7 +49,7 @@ purpose communication system. We will discuss some of the difficulties
 we have experienced, how we have met them or, when we have some idea,
 we have experienced, how we have met them or, when we have some idea,
 how we plan to meet them. We will also discuss some tough open
 how we plan to meet them. We will also discuss some tough open
 problems that have not given us any trouble in our current deployment.
 problems that have not given us any trouble in our current deployment.
-We will describe both those future challenges that we intend to and
+We will describe both those future challenges that we intend to explore and
 those that we have decided not to explore and why.
 those that we have decided not to explore and why.
 
 
 Tor is an overlay network, designed
 Tor is an overlay network, designed
@@ -927,6 +927,8 @@ requests to Tor so that applications can simply point their DNS resolvers at
 localhost and continue to use SOCKS for data only.
 localhost and continue to use SOCKS for data only.
 
 
 \subsection{Measuring performance and capacity}
 \subsection{Measuring performance and capacity}
+\label{subsec:performance}
+
 One of the paradoxes with engineering an anonymity network is that we'd like
 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
 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
 network, but we want to prevent others from learning how traffic flows in
@@ -940,7 +942,7 @@ They also try to deduce their own available bandwidth, on the basis of how
 much traffic they have been able to transfer recently, and upload this
 much traffic they have been able to transfer recently, and upload this
 information as well.
 information as well.
 
 
-This is, of course, eminantly cheatable.  A malicious server can get a
+This is, of course, eminently cheatable.  A malicious server can get a
 disproportionate amount of traffic simply by claiming to have more bandiwdth
 disproportionate amount of traffic simply by claiming to have more bandiwdth
 than it does.  But better mechanisms have their problems.  If bandwidth data
 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
 is to be measured rather than self-reported, it is usually possible for
@@ -1131,6 +1133,7 @@ a way for their users, using unmodified software, to get end-to-end
 encryption and end-to-end authentication to their website.
 encryption and end-to-end authentication to their website.
 
 
 \subsection{Trust and discovery}
 \subsection{Trust and discovery}
+\label{subsec:trust-and-discovery}
 
 
 [arma will edit this and expand/retract it]
 [arma will edit this and expand/retract it]
 
 
@@ -1199,7 +1202,7 @@ trust decisions than the Tor developers.
 %on what threats we have in mind. Really decentralized if your threat is
 %on what threats we have in mind. Really decentralized if your threat is
 %RIAA; less so if threat is to application data or individuals or...
 %RIAA; less so if threat is to application data or individuals or...
 
 
-\section{Crossroads: Scaling}
+\section{Scaling}
 %\label{sec:crossroads-scaling}
 %\label{sec:crossroads-scaling}
 %P2P + anonymity issues:
 %P2P + anonymity issues:
 
 
@@ -1210,9 +1213,9 @@ Scaling Tor involves three main challenges.  First is safe server
 discovery, both bootstrapping -- how a Tor client can robustly find an
 discovery, both bootstrapping -- how a Tor client can robustly find an
 initial server list -- and ongoing -- how a Tor client can learn about
 initial server list -- and ongoing -- how a Tor client can learn about
 a fair sample of honest servers and not let the adversary control his
 a fair sample of honest servers and not let the adversary control his
-circuits (see Section~\ref{}).  Second is detecting and handling the speed
+circuits (see Section~\ref{subsec:trust-and-discovery}).  Second is detecting and handling the speed
 and reliability of the variety of servers we must use if we want to
 and reliability of the variety of servers we must use if we want to
-accept many servers (see Section~\ref{}).
+accept many servers (see Section~\ref{subsec:performance}).
 Since the speed and reliability of a circuit is limited by its worst link,
 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
 we must learn to track and predict performance.  Finally, in order to get
 a large set of servers in the first place, we must address incentives
 a large set of servers in the first place, we must address incentives
@@ -1220,35 +1223,33 @@ for users to carry traffic for others (see Section incentives).
 
 
 \subsection{Incentives by Design}
 \subsection{Incentives by Design}
 
 
-[nick will try to make this section shorter and more to the point.]
-
-[most of the technical incentive schemes in the literature introduce
-anonymity issues which we don't understand yet, and we seem to be doing
-ok without them]
-
 There are three behaviors we need to encourage for each server: relaying
 There are three behaviors we need to encourage for each server: relaying
 traffic; providing good throughput and reliability while doing it;
 traffic; providing good throughput and reliability while doing it;
 and allowing traffic to exit the network from that server.
 and allowing traffic to exit the network from that server.
 
 
 We encourage these behaviors through \emph{indirect} incentives, that
 We encourage these behaviors through \emph{indirect} incentives, that
 is, designing the system and educating users in such a way that users
 is, designing the system and educating users in such a way that users
-with certain goals will choose to relay traffic.  In practice, the
+with certain goals will choose to relay traffic.  One
 main incentive for running a Tor server is social benefit: volunteers
 main incentive for running a Tor server is social benefit: volunteers
 altruistically donate their bandwidth and time.  We also keep public
 altruistically donate their bandwidth and time.  We also keep public
 rankings of the throughput and reliability of servers, much like
 rankings of the throughput and reliability of servers, much like
-seti@home.  We further explain to users that they can get \emph{better
+seti@home.  We further explain to users that they can get plausible
-security} by operating a server, because they get plausible deniability
+deniability for any traffic emerging from the same address as a Tor
-(indeed, they may not need to route their own traffic through Tor at all
+exit node, and they can use their own Tor server
--- blending directly with other traffic exiting Tor may be sufficient
-protection for them), and because they can use their own Tor server
 as entry or exit point and be confident it's not run by the adversary.
 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 server 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:
 Finally, we can improve the usability and feature set of the software:
 rate limiting support and easy packaging decrease the hassle of
 rate limiting support and easy packaging decrease the hassle of
 maintaining a server, and our configurable exit policies allow each
 maintaining a server, and our configurable exit policies allow each
 operator to advertise a policy describing the hosts and ports to which
 operator to advertise a policy describing the hosts and ports to which
 he feels comfortable connecting.
 he feels comfortable connecting.
 
 
-Beyond these, however, there is also a need for \emph{direct} incentives:
+To date these appear to have been adequate. As the system scales or as
+new issues emerge, however, we may also need to provide
+ \emph{direct} incentives:
 providing payment or other resources in return for high-quality service.
 providing payment or other resources in return for high-quality service.
 Paying actual money is problematic: decentralized e-cash systems are
 Paying actual money is problematic: decentralized e-cash systems are
 not yet practical, and a centralized collection system not only reduces
 not yet practical, and a centralized collection system not only reduces
@@ -1258,28 +1259,35 @@ option is to use a tit-for-tat incentive scheme: provide better service
 to nodes that have provided good service to you.
 to nodes that have provided good service to you.
 
 
 Unfortunately, such an approach introduces new anonymity problems.
 Unfortunately, such an approach introduces new anonymity problems.
-Does the incentive system enable the adversary to attract more traffic by
+There are many surprising ways for servers to game the incentive and
-performing well? Typically a user who chooses evenly from all options is
+reputation system to undermine anonymity because such systems are
-most resistant to an adversary targetting him, but that approach prevents
+designed to encourage fairness in storage or bandwidth usage not
-us from handling heterogeneous servers \cite{casc-rep}.
+fairness of provided anonymity. An adversary can attract more traffic
-When a server (call him Steve) performs well for Alice, does Steve gain
+by performing well or can provide targeted differential performance to
-reputation with the entire system, or just with Alice? If the entire
+individual users to undermine their anonymity. Typically a user who
-system, how does Alice tell everybody about her experience in a way that
+chooses evenly from all options is most resistant to an adversary
-prevents her from lying about it yet still protects her identity? If
+targeting him, but that approach prevents from handling heterogeneous
-Steve's behavior only affects Alice's behavior, does this allow Steve to
+servers.
-selectively perform only for Alice, and then break her anonymity later
+
-when somebody (presumably Alice) routes through his node?
+%When a server (call him Steve) performs well for Alice, does Steve gain
-
+%reputation with the entire system, or just with Alice? If the entire
-These are difficult and open questions, yet choosing not to scale means
+%system, how does Alice tell everybody about her experience in a way that
-leaving most users to a less secure network or no anonymizing network
+%prevents her from lying about it yet still protects her identity? If
-at all.  We will start with a simplified approach to the tit-for-tat
+%Steve's behavior only affects Alice's behavior, does this allow Steve to
+%selectively perform only for Alice, and then break her anonymity later
+%when somebody (presumably Alice) routes through his node?
+
+A possible solution is a simplified approach to the tit-for-tat
 incentive scheme based on two rules: (1) each node should measure the
 incentive scheme based on two rules: (1) each node should measure the
-service it receives from adjacent nodes, and provide service relative to
+service it receives from adjacent nodes, and provide service relative
-the received service, but (2) when a node is making decisions that affect
+to the received service, but (2) when a node is making decisions that
-its own security (e.g. when building a circuit for its own application
+affect its own security (e.g. when building a circuit for its own
-connections), it should choose evenly from a sufficiently large set of
+application connections), it should choose evenly from a sufficiently
-nodes that meet some minimum service threshold.  This approach allows us
+large set of nodes that meet some minimum service threshold
-to discourage bad service without opening Alice up as much to attacks.
+\cite{casc-rep}.  This approach allows us to discourage bad service
+without opening Alice up as much to attacks.  All of this requires
+further study.
+
 
 
 %XXX rewrite the above so it sounds less like a grant proposal and
 %XXX rewrite the above so it sounds less like a grant proposal and
 %more like a "if somebody were to try to solve this, maybe this is a
 %more like a "if somebody were to try to solve this, maybe this is a