I'm sure some of you have already seen the bandwidth-as-currency article making the rounds (http://pressesc.com/news/1220/29082007/internet-bandwidth-become-global-currency). Nothing in the press article summary seems terribly new, but I hadn't seen the Give-to-Get paper (http://tv.seas.harvard.edu/give-to-get_algorithm_for_P2P_Video_on_Demand.pdf) yet, and it certainly seems interesting.
I'm a bit leery of the web-of-trust in the former and the forwarding of bw currency in Give-to-Get -- mostly on principle. It has always seemed like trusting 2nd-hand information opens up too many opportunities for gaming these types of systems. I'd love to be convinced that this isn't the case, since trust-webs, rumors, epidemic algorithms, et. al. are very appealing technically. But in an untrusted environment where nodes can be modified and collude, they seem pretty shaky. I've yet to see any claims that they are resistant to cheating in theory, or even a good discussion of how such exploits can be reduced to a negligible level in practice (anyone have pointers?). Enough of my hand-waving, here's a specific example of what I'm talking about: At the end of Section 4.2, the Give-to-Get paper describes how a node Alice finds out if a neighbor Bob is forwarding data to its neigbors Carol-through-Zach. Since Bob could lie about how much data it is sharing, Alice asks Carol-Zach directly. Good, we've prevented Bob from lying... except... Bob gets to choose Carol-Zach and can simply create some sybil nodes that fulfill this role without doing any legitimate work or contributing any resources. Or, Bob could collude with real nodes Carol-Zach where they all promise to do I-scratch-your-back,-you-scratch-mine lies to all other nodes, with the same results. The Give-to-Get authors admit this problem at the conclusion of the paper. I don't know of *any* solution (other than removing 2nd-hand information from the system altogether), but I'm often ignorant of such things and thought it might be something p2p-hackers would be thinking about, or at least know of some research that could be fruitful in this area. Since there are lots of cool algorithms for doing this type of thing among *trusted* nodes, it seems like being able to leverage these into *untrusted* networks would be a major addition to the field. The lack of a workable solution in this area is one reason that all trust in flŭd is localized (http://www.flud.org/wiki/LocalizedTrust) and why all flŭd 'currency' is symmetric and not forwardable (http://www.flud.org/wiki/Fairness). BTW, other aspects of Give-to-Get are really cool, such as its tolerance for free-loaders to a given level, and then swift punishment thereafter, similar to Grothoff's excess-based economic model (http://grothoff.org/christian/ebe.pdf). Alen http://flud.org _______________________________________________ p2p-hackers mailing list [email protected] http://lists.zooko.com/mailman/listinfo/p2p-hackers
