02.06.2013 Views

The current state of anonymous file-sharing - Marc's Blog

The current state of anonymous file-sharing - Marc's Blog

The current state of anonymous file-sharing - Marc's Blog

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.3.4 Downloading<br />

<strong>The</strong> downloading process itself is based on the Multisource File Transfer Protocol (MFTP)<br />

and has slight differences between the different clients on the network. I will not discuss<br />

the handshake procedure and other protocol specific details, but rather the things that<br />

make the protocol interesting when compared to its competitors.<br />

<strong>The</strong> protocol has the concept <strong>of</strong> an upload queue which clients have to wait in when<br />

requesting a chunk <strong>of</strong> data and other transfers are already in progress.<br />

Something else noteworthy is the possibility to share metadata about a given <strong>file</strong> within<br />

the network (such as: this <strong>file</strong> is good, this <strong>file</strong> is corrupted, this <strong>file</strong> isn’t what the name<br />

may indicate); in this case, the <strong>file</strong>s are identified with their ed2k hash numbers rather<br />

than their <strong>file</strong>names (which might vary between nodes).<br />

<strong>The</strong>re are several unique forks <strong>of</strong> the protocol:<br />

eDonkey2000 implemented a feature called "hording" <strong>of</strong> sources. This allows the user<br />

to define one download which has top priority. Several nodes which have set the<br />

same <strong>file</strong> as a top priority one will try to maximize the upload between each other<br />

and e.g. skip waiting queues.<br />

eMule uses a credit system to reward users that maintained a positive upload/download<br />

ratio towards the client in question. This will shorten the time a client has to wait<br />

in the upload queue.<br />

xMule has extended the credit system to help in the transfer <strong>of</strong> rare <strong>file</strong>s<br />

4.4 Gnutella<br />

<strong>The</strong> Gnutella Protocol is one <strong>of</strong> the most widespread Peer to Peer <strong>file</strong>-<strong>sharing</strong> protocols.<br />

It is implemented in many clients such as Frostwire/Limewire, Bearshare, Shareaza,<br />

Phex, MLDonkey and others. <strong>The</strong> development history is kind <strong>of</strong> special. It was devel-<br />

oped by Nulls<strong>of</strong>t (the makers <strong>of</strong> the popular MP3 Player Winamp) and acquisitioned<br />

by AOL. After the binary version <strong>of</strong> the application was available for only one day,<br />

AOL stopped the distribution due to legal concerns. <strong>The</strong>se concerns also prohibited the<br />

planned release <strong>of</strong> the source code. Luckily for the open-source community, the binary<br />

version <strong>of</strong> the application had been downloaded thousands <strong>of</strong> times and allowed the pro-<br />

tocol to be reverse engineered.<br />

Gnutella is part <strong>of</strong> the second big generation <strong>of</strong> decentralized peer to peer applications.<br />

<strong>The</strong> gnutella network is based on a "Friend <strong>of</strong> a Friend" principle. This principle is<br />

17

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!