In a recent conversation about piracy and whether it could win, we
concluded the primary vulnerability of BitTorrent was its susceptibility to
copyright enforcers just connecting to everybody in a swarm, downloading
one block, and automatically sending out a takedown notice to the owner of
that IP.  This in theory could be "scaled up" incredibly easily to
effectively monitor and police all the top torrents out there.  The only
defense Bittorrent has is the "blocklist", which if I understand correctly,
is just a list of IPs to block entirely.  So my first question:

1) How are these blocklists created?

Whatever the method, it seems like it must be pretty manual because a quick
search on the topic turns up a bunch of out of date links that seem rarely
updated (even though I assume this list would need to update daily).
 Accordingly, my second question:

2) Would it be possible to create a "big data" automated blocklist service?

At the end of the day, CPU, storage, even bandwidth is pretty cheap.  Any
identity tied to the scarcity of those (eg, a cryptographic "proof of
work") is pretty easily forged by a determined attacker.  But the one thing
that is actually very hard to forge -- or even obtain in mass -- is a large
number of IP addresses.

Given this, I'm curious if anybody has built an automatic blocklist
generator that basically accumulates a list of every "leacher" -- someone
that connects to you and downloads, but never uploads.  If so, it would
seem that at the end of your download you could upload this list of IPs to
the tracker, and then it could generate a list of leachers -- and this list
would be downloaded and merged with your local list before connecting to
any peers.  Then when downloading, simply refuse to take connections from
any IPs on that list.

This list would have a couple effects.  First, it'd identify regular
leachers and penalize them by refusing to share.  But if the assumption
that IPs are hard to come by, then any copyright enforcer would quickly get
blocked out -- especially because they would probably refuse to pirate any
content whose copyright they are enforcing (and thus once on the list,
nobody would ever send them data).  Admittedly, they could still connect to
you, but you wouldn't send them any data and thus they wouldn't have much
of a case.

Some problems and potential solutions:

Q: What if you are leaching merely because there are so many seeders?
A: Rather than fully blocking incoming connections from leachers on the
list, just require that they share data with you first before sharing any
with them.  Because they only way you get onto the list in the first place
is to have first downloaded some data, you should always have some data to
share.

Q: What if your IP (or the IP of your NAT) gets added to the list before
you get any data; are you screwed forever?
A: The trackers/clients might expire any IP that hasn't had a report of it
leaching for some period of time.  It might also require multiple reports
from different IPs before broadcasting that you're a leacher, to avoid
blocking capriciously.

Q: What's to prevent someone from DoSing the swarm by uploading a list of
every participant's IP and claiming it's a leacher?
A: This is a tricky one.  But I imagine this could be addressed with some
combination of limiting the number of leachers any given IP can report --
and how often they can report them.  This would require that an attacker
have enough distinct IPs to make up a significant fraction of the swarm to
wage an effective attack.  But if this system were to combine state from
across many swarms (eg, all torrents tracked by that tracker), I imagine
the number of valid peers would dwarf the number of attacker peers very
quickly.

Q: What's to prevent this service from being blocked?
A: This would be a service built into the tracker itself.  Every swarm can
have many trackers, and of course there are many swarms.  To fully block
this service would require blocking all trackers -- which if that were
possible, would already be done.

Q: Can this be built into the decentralized tracker?
A: Probably, though it might become easier to attack -- not only can you
attack the blocklist just like before, but now you can *also* attack the
DHT.  Anybody who takes over the necessary DHT nodes can take over the
blocklist itself.  But if the DHT is sufficiently hardened (eg, if it
prevents people from arbitrarily choosing their hash, and maybe even
factors in their IP for good measure), this could be an incredibly powerful
anti-leacher deterrent.


Anyway, just sorta spitballing here.  Thoughts?  I imagine this is already
a very well studied topic; who else is doing something like this?

-david
_______________________________________________
p2p-hackers mailing list
[email protected]
http://lists.zooko.com/mailman/listinfo/p2p-hackers

Reply via email to