Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Truly Decentralized BitTorrent Downloading Has Finally Arrived (torrentfreak.com)
58 points by eugenejen on Dec 9, 2010 | hide | past | favorite | 16 comments



How does this actually discover peers without any centralization?


You can bootstrap as soon as you have one peer. The software is distributed with the addresses of 4 existing servers which are run by the Tribler guys to make this easier but even if they go down people can still send invitations to their friends.


Word of mouth? (This could work well in environs like a university.) Twitter? All one would need is one peer to bootstrap.


It could be using the http://en.wikipedia.org/wiki/Kademlia distributed hash table. I don't know know if it is or isn't, but it's one way to do it.


87Kb (more than 1800 lines) of license agreement. I prefer just to click Cancel during installation.


It looks like it's only aspirationally multiplatform, not Win/Mac/Lin like the article says.


I've used it on both Windows 7 and Ubuntu. The Ubuntu version is a little fiddly to get working because Ubuntu ships with a crippled ECC library.


How is it different from DC++ application wise?


From the other thread:

The core principle is similar. DC has centralized hubs which handle searches and upload files directly to users. Tribler has a distributed search engine which runs on every peer and uses bittorrent to share files. Effectively every single Tribler node behaves like a DC hub. As a result it is much harder to take down.


Sounds like an interesting application.

Anyone have any idea what protocol this uses?

The only thing I could figure was that it's written in python.

I'm sure there are plenty of efforts similar to this. Any others deserving of mention?


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.


That's pretty amazing, actually.

How hard would it be put this algorithm into a general-purpose library accessible by multiple applications?


I think that if you just want to use the same setup as Tribler you can just directly use their code. What I'm interested in is separating and generalizing the various protocols involved rather than having them all knotted together.


Me too,

It seems like a logical part of that would be to have each protocol documented and encapsulated in a library.

Also, I'm working on a multi-protocol client which would aggregate a number of sources, so it would be especially nice to the have a library to call so that I could add one more source.

In any case, your work looks fabulous and I will spend some time digesting your links.


> Any others deserving of mention?

OneSwarm is interesting in that it attempts to preserve user privacy.

http://oneswarm.cs.washington.edu/




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: