Main Page | See live article | Alphabetical index

FastTrack

FastTrack is a peer-to-peer protocol, used by the KaZaA, Grokster, and iMesh file sharing programs. As of early 2003, the FastTrack was the most popular file sharing network, being mainly used for the exchange of music mp3 files. It has more users than Napster had at its peak. Popular features of FastTrack are the ability to resume interrupted downloads and to simultaneously download segments of one file from multiple peers.

Table of contents
1 History
2 Technology
3 Reverse Engineering
4 External links

History

FastTrack, together with its first client KaZaA, was created in March 2001 by programmers of the Dutch company Kazaa BV, as the brainchild of the Swede Niklas Zennström. This was shortly before Napster was shut down by lawsuits. In April of the same year, the MusicCity network was also shut down; the users of MusicCity were moved over to the Morpheus program which used the FastTrack network.

The owners of FastTrack/KaZaA lost a lawsuit in the Netherlands in November 2001, and subsequently transferred ownership to a complicated mesh of offshore companies, with Sharman Networks being the most prominent one. In March 2002, a Dutch appeals court ruled that FastTrack/KaZaA was legal however, as the owners of the network were not responsible for possibly infringing actions of the users.

In late February 2002, Morpheus was shut out by a protocol change, as the owners of Morpheus had failed to pay license fees to the owners of FastTrack technology. The open source program giFT used the FastTrack network for a short period of time until it was shut out by a series of protocol changes (the proprietary FastTrack clients are configured to automatically download software updates, making it easy to change the protocol).

In April 2002, it was revealed that KaZaA also connected to another private network called Altnet, with features some considered undesirable. The KaZaA software also contained spyware and adware. Because of these sometimes hidden features, CNet's Download.com site stopped the distribution of KaZaA. In the same month, a free unauthorized third-party version of KaZaA called Kazaa Lite was released, with these features being removed. The situation with Grokster and Clean Grokster was similar. Reverse engineering of the protocol and the creation of multi-platform open source clients was accomplished in 2003.

See KaZaA for more information about the various lawsuits surrounding KaZaA, FastTrack and Sharman Networks.

Technology

FastTrack is a so-called second generation P2P protocol. It is based on the Gnutella protocol and extends it with the addition of supernodes to improve scalability. The supernode functionality is built into the client; if a powerful computer with a fast network connection runs the client software, it will automatically become a supernode, effectively acting as a temporary indexing server for other, slower clients.

In order to be able to initially connect to the network, a list of supernode IP numbers is hardcoded in the program. The client attempts to contact these, and as soon as it finds a working supernode, it requests a list of currently active supernodes, to be used for future connection attempts. The client picks one supernode as its "upstream" and uploads a list of files it intends to share to that supernode. It also sends search requests to this supernode. The supernode communicates with other supernodes in order to satisfy search requests. The client then connects directly to a peer to download the file; this transfer is done using the HTTP protocol.

Reverse Engineering

The FastTrack protocol uses encryption, was not documented by its creators, and the first clients were all closed source software. Open source programmers have since reverse engineered the portion of the protocol dealing with client-supernode communication; the supernode-supernode communication protocol remains largely unknown. Initialization data for the encryption algorithms is sent in the clear and no public key encryption is used, so that reverse engineering was made comparatively easy.

The following open source clients have been written:

External links