[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] more things to think about; and the details of two incentiv...



Update of /home2/or/cvsroot/tor/doc
In directory moria:/home/arma/work/onion/cvs/tor/doc

Modified Files:
	incentives.txt 
Log Message:
more things to think about; and the details of two incentive schemes.


Index: incentives.txt
===================================================================
RCS file: /home2/or/cvsroot/tor/doc/incentives.txt,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -d -r1.2 -r1.3
--- incentives.txt	1 Feb 2006 06:45:15 -0000	1.2
+++ incentives.txt	1 Feb 2006 10:50:23 -0000	1.3
@@ -95,11 +95,26 @@
 
 3.4. Restricted topology: benefits and roadmap.
 
-   As the Tor network continues to grow, we will make design changes
-   to the network topology so that each node does not need to maintain
-   connections to an unbounded number of other nodes.
+   As the Tor network continues to grow, we will need to make design
+   changes to the network topology so that each node does not need
+   to maintain connections to an unbounded number of other nodes. For
+   anonymity's sake, we're going to partition the network such that all
+   the nodes have the same belief about the divisions and each node is
+   in only one partition. (The alternative is that every user fetches
+   his own random subset of the overall node list -- this is bad because
+   of intersection attacks.)
 
-   A special case here is the social network.
+   Therefore the "network horizon" for each user will stay bounded,
+   which helps against the above issues in 3.2 and 3.3.
+
+   It could be that the core of long-lived servers will all get to know
+   each other, and so the critical point that decides whether you get
+   good service is whether the core likes you. Or perhaps it will turn
+   out to work some other way.
+
+   A special case here is the social network, where the network isn't
+   partitioned randomly but instead based on some external properties.
+   More on this later.
 
 3.5. Profit-maximizing vs. Altruism.
 
@@ -118,6 +133,25 @@
    for an incentive scheme so effective that it produces thousands of
    new servers.
 
+3.6. What part of the node's performance do you measure?
+
+   We keep referring to having a node measure how well the other nodes
+   receive bytes. But many transactions in Tor involve fetching lots of
+   bytes and not sending very many. So it seems that we want to turn
+   things around: we need to measure how quickly a node can _send_
+   us bytes, and then only send it bytes in proportion to that.
+
+   There's an obvious attack though: a sneaky user could simply connect
+   to a node and send some traffic through it. Voila, he has performed
+   for the network. This is no good. The first fix is that we only count
+   if you're sending bytes "backwards" in the circuit. Now the sneaky
+   user needs to construct a circuit such that his node appears later
+   in the circuit, and then send some bytes back quickly.
+
+   Maybe that complexity is sufficient to deter most lazy users. Or
+   maybe it's an argument in favor of a more penny-counting reputation
+   approach.
+
 4. Sample designs.
 
 4.1. Two classes of service for circuits.
@@ -128,8 +162,64 @@
 4.3. Treat all the traffic from the node with the same service;
      soft reputation system.
 
+   Rather than a guaranteed system with accounting (as 4.1 and 4.2),
+   we instead try for a best-effort system. All bytes are in the same
+   class of service. You keep track of other Tors by key, and give them
+   service proportional to the service they have given you. That is, in
+   the past when you have tried to push bytes through them, you track the
+   number of bytes and the average bandwidth, and use that to weight the
+   priority of their connections if they try to push bytes through you.
+
+   Now you're going to get minimum service if you don't ever push bytes
+   for other people, and you get increasingly improved service the more
+   active you are. We should have memories fade over time (we'll have
+   to tune that, which could be quite hard).
+
+   Pro: Sybil attacks are pointless because new identities get lowest
+   priority.
+
+   Pro: Smoothly handles periods of both low and high network load. Rather
+   than keeping track of the ratio/difference between what he's done for
+   you and what you've done for him, simply keep track of what he's done
+   for you, and give him priority based on that.
+
+   Based on 3.3 above, it seems we should reward all the nodes in our
+   path, not just the first one -- otherwise the node can provide good
+   service only to its guards. On the other hand, there might be a
+   second-order effect where you want nodes to like you so that *when*
+   your guards choose you for a circuit, they'll be able to get good
+   performance. This tradeoff needs more simulation/analysis.
+
+   This approach focuses on incenting people to relay traffic, but it
+   doesn't do much for incenting them to allow exits. It may help in
+   one way through: if there are few exits, then they will attract a
+   lot of use, so lots of people will like them, so when they try to
+   use the network they will find their first hop to be particularly
+   pleasant. After that they're like the rest of the world though.
+
+   Pro: this is a pretty easy design to add; and it can be phased in
+   incrementally simply by having new nodes behave differently.
+
 4.4. Centralized opinions from the reputation servers.
 
+   Have a set of official measurers who spot-check servers from the
+   directory to see if they really do offer roughly the bandwidth
+   they advertise. Include these observations in the directory. (For
+   simplicity, the directory servers could be the measurers.) Then Tor
+   servers weight priority for other servers depending on advertised
+   bandwidth, giving particularly low priority to connections not
+   listed or that failed their spot-checks. The spot-checking can be
+   done anonymously, because hey, we have an anonymity network.
+
+   We could also reward exit nodes by giving them better priority, but
+   like above this only will affect their first hop. Another problem
+   is that it's darn hard to spot-check whether a server allows exits
+   to all the pieces of the Internet that it claims to. A last problem
+   is that since directory servers will be doing their tests directly
+   (easy to detect) or indirectly (through other Tor servers), then
+   we know that we can get away with poor performance for people that
+   aren't listed in the directory.
+
 5. Types of attacks.
 
 5.1. Anonymity attacks: