Recent Articles



































FastTrack



         


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.

[Top]

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 2001, 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.

[Top]

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 HTTP.

To allow downloading from multiple sources, FastTrack employs the UUHash hashing algorithm. While UUHash allows very large files to be checksummed in a short time, even on slow computers, it also allows for massive corruption of a file to go unnoticed. Many people, as well as the RIAA, have exploited this vulnerability to spread corrupt and fake files on the network.

[Top]

Reverse Engineering

The FastTrack protocol uses encryption and was not documented by its creators, and the first clients were all closed source software. Open source programmers have 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, and so reverse engineering was made comparatively easy.

The following open source clients have been written:

[Top]




  View Live Article   This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License