Truly decentralized bittorrent
torrentfreak.com
torrentfreak.com
* Promoting seeding
* Basic invite-only protection from IP gathering oponents
Decentralized alternatives don't provide that. Think about the Wikileaks "insurance" torrent, there are plenty of government agencies sniffing. Even with peer blockers they can gather client IPs with the tracker, through DHT or peer exchange.It's very interesting how this will shape the future of Internet and the Web.
Tribler promotes seeding by gossiping upload/download totals between peers and is experimenting with various methods of calculating reputation based on these statistics.
Most of the underlying protocols are described here, though it is a bit out of date:
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.78....
Essentially the core protocol is a gossip overlay. This generates random connections between peers in the overlay. Over these connections peers transmit information like recently seen torrents, recommendation lists, download/upload totals for other peers etc. Each peer proactively distributes known torrent files so that every peer builds up a database of torrents. Then search just works by broadcasting queries to nearby peers.
The algorithms used have dozens of applications outside of filesharing. I wrote my MSc dissertation on a similar subject:
http://scattered-thoughts.net/one/1283/644001/538941
The code for Tribler is naturally very specialised to their purpose. At some point I want to sit down and reimplement them in such a way that they can easily be reused and recombined for other applications. I have some vague ideas about building a prototype trust-based distributed database for dot-p2p.org based on similar principles.
Is this a broadly similar idea to NNTP 'flood fill', where once you have a peer (discovered in some way), you exchange articles (or in this case torrents) you each have - so they propogate to all connected nodes in the graph?
If so, doesn't this have problems scaling? (All nodes receive all torrents)?
Each node has a subset of all torrents. You flood searches as well. There is also a second overlay on top of the first which groups peers by their similarity in taste, with the aim of reducing the number of hops necessary to find what you're looking for. The taste similarity is also used to actively propagate recommendations so that stuff you're interested in is more likely to move towards your immediate vicinity.
I would recommend scanning through the paper to get a more accurate idea of how it works. My knowledge of Tribler is pretty out of date.