[Tech] Tit for tat is difficult was Re: Distributed file sys…

Top Page
Author: Matthew Toseland
Date:  
To: tech
Old-Topics: Re: [Tech] Distributed file system using routing inspired by Freenet
Subject: [Tech] Tit for tat is difficult was Re: Distributed file system using routing inspired by Freenet
Delete this message
Reply to this message
gpg: Signature made Thu Apr 10 18:35:34 2008 UTC using DSA key ID E43DA450
gpg: Good signature from "Matthew John Toseland <toad@amphibian.dyndns.org>"
On Thursday 10 April 2008 19:14, Michael Rogers wrote:
> Colin Davis wrote:
> > It seems like some sort of "in network" solution, such as a variation of
> > a tit-for-tat measurement.. Inserting file A with 100X redundancy is
> > approximately the same as inserting file B which is 100X the size.. If
> > we enforce fairness on accepting traffic unless they've "earned" it, a
> > user can then decide how to "spend" that bandwidth.. One mostly lossy
> > 10M file, or 10X redundancy on your 1M file.
>
> In principle I think this is a great idea. In practice I've spent a lot
> of time working on tit-for-tat-ish incentive mechanisms for multi-hop
> networks, without much success. That probably just means I should find
> another line of work, but it might also mean the problem is harder than
> it looks.


This is interesting. We will eventually need some form of tit for tat, won't
we? Not necessarily in inserts, IIRC we talked about it as a way to prevent
an attacker flooding opennet with spam requests/inserts? It's something we've
talked about for a long time anyway...
>
> In a single-hop network such as BitTorrent, the value provided by a
> neighbouring node is directly related to how much it spends on you: if
> it spends 1MB of bandwidth uploading to you, you receive 1MB of data (or
> some fixed fraction of 1MB, allowing for overhead), all of which is
> directly useful to you. That makes it easy to design strategies that
> reward cooperative neighbours and punish uncooperative neighbours. (It
> turns out that TFT isn't actually a very good strategy in this context,
> but the point is that good strategies can be found.)
>
> But in a multi-hop network the relationship between cost and benefit is
> more complicated: assuming all nodes allocate bandwidth to cooperative
> neighbours, if you receive a request from neighbour A, should you
> forward it to neighbour B? First, will you get a response or will you
> spend the bandwidth and have nothing to show for it? Second, if you get
> a response and return it to A, will the cooperation you earn from A be
> worth more than the cooperation previously earned from B and spent on
> A's request?
>
> I've been banging my head against this problem for a while, and I can't
> come up with a model where it makes sense for selfish nodes to forward
> requests. It makes sense to answer requests locally if you can, to earn
> cooperation from your neighbours, but it doesn't make sense to forward
> them. Unfortunately if everyone behaves like that, the network doesn't
> function.
>
> Doubtless someone else can solve this problem, but at this stage I'm
> just hoping they won't solve it before my thesis is written up. ;-)
>
> Cheers,
> Michael