File sharing
File sharing is the practice of making files available for other users to download over the Internet and smaller networks. Usually file sharing follows the peer-to-peer (P2P) model, where the files are stored on and served by personal computers of the users. Most people who engage in file sharing are also downloading files that other users share. Sometimes these two activities are linked together. P2P file sharing is distinct from file trading in that downloading files from a P2P network does not require uploading, although some networks either provide incentives for uploading such as credits or force the sharing of files being currently downloaded.
The first P2P-generation: Server-client
The first generation of peer-to-peer file sharing networks had a centralized file list. Ultimately, Napster was held liable even if it used the most advanced technology available to identify works copyright holders had asked it to block, because no technology that can identify works with 100% certainty exists. Napster still exists today, but as a subsidiary of Roxio after they bought the name during the original Napster's bankruptcy phase, continues to operate today, and is now legally distributing music under a subscription-based model.
In the centralized peer-to-peer model, a user would send a search to the centralized server of what they were looking for, that is, a song, video, or movie. The server then sends back a list of which peers have the data and facilitates the connection and download.
The first file sharing programs marked themselves by inquiries to a server, either the data to the Download held ready or in appropriate different Peers and so-called Nodes further-obtained, so that one could download there. Best example was Napster (today a Payment offerer) or eDonkey2000 in the server version (today likewise with Overnet and KAD - network decentralized).
Web based sharing
You must add a |reason=
parameter to this Cleanup template – replace it with {{Cleanup|section|reason=<Fill reason here>}}
, or remove the Cleanup template.
Webhosting for file sharing is also used. Since it is possible to exchange privately and in small communities popular files can be distributed very quickly and efficiently. Web hosters are independent from each other, therefore contents are not distributed further. Other terms for this are one-click hosting and web based sharing.
Server-client-protocols
- Audiogalaxy - Service ended in the middle of 2002.
- Direct Connect
- Napster - Closed in its original form in July 2001, since changed to a fee-based service.
- Scour Exchange - The second exchange network after Napster. No longer exists.
- Soulseek - Still popular today despite being relatively old, with more than 120,000 users online at any time.
- TinyP2P - 15 lines Python - SOURCE code
- WinMX - The original servers were switched off in September 2005, but servers from other companies have taken over. Version 3.54 beta 4 was available from http://www.winmxgroup.com/ however was shut down June 29,2007. How this will affect the future of WinMX is unknown at this time.
The second P2P-Generation: Decentralization
After Napster encountered legal troubles, Justin Frankel of Nullsoft set out to create a network without a central index server, and Gnutella was the result. Unfortunately, the Gnutella model of all nodes being equal quickly died from bottlenecks as the network grew from incoming Napster refugees. FastTrack solved this problem by having some nodes be 'more equal than others'.
By electing some higher capacity nodes to be indexing nodes, with lower capacity nodes branching off from them, FastTrack allowed for a network that could scale to a much larger size. Gnutella quickly adopted this model, and most current peer-to-peer networks implement this design, as it allows for large and efficient networks without central servers.
Also included in the second generation are distributed hash tables (DHTs), which help solve the scalability problem by electing various nodes to index certain hashes (which are used to identify files), allowing for fast and efficient searching for any instances of a file on the network. This is not without drawbacks; perhaps most significantly, DHTs do not directly support keyword searching (as opposed to exact-match searching).
The best examples are Gnutella, Kazaa or eMule with Kademlia, whereby Kazaa has still a central server for logging in. eDonkey2000/Overnet, Gnutella, FastTrack and Ares Galaxy have summed up approx. 10.3 million users (as of April 2006, according to slyck.com). This number not necessarily corresponds to the actual number of persons who use these networks; it must be assumed that some use multiple clients for different networks. The number of BitTorrent users cannot be measured directly, however, there should be more users than of eDonkey2000 and that's why providers try to restrict the BitTorrent traffic first. One must also understand that number of users indicated by software applies only to users which are active at this moment.
Multi-Network-Clients
eDonkey2000 - Network
Gnutella - Network
- Acquisition - Mac OS X, closed source (Shareware)
- BearShare - Microsoft Windows, closed source, development stopped in 2005,
- Cabos - Mac OS X and Microsoft Windows, based on LimeWire and Acquisition
- FileScope - .NET, open source (GPL), C#, also supports other networks
- FrostWire - open source (GPL), Java, based on LimeWire
- Gnotella - development stopped in 2001
- Gnucleus - Microsoft Windows, open source (GPL), C++, supports also Gnutella2
- Gtk-gnutella - Unix, open source (GPL), C
- I2Phex
- LimeWire - open source (GPL), Java
- MLDonkey - open source (GPL), Objective Caml, also supports other networks
- Morpheus - Microsoft Windows, closed source, also supports other networks
- Mutella - open source
- Phex - open source (GPL), Java
- Qtella - open source (GPL), development stopped in May 2004
- Shareaza - Microsoft Windows, open source, also supports other networks
- Symella - Symbian S60 v3, open source implementation for mobile platforms
- Swapper.NET - .NET, closed source, C#, development stopped in July 2004
- XoloX - contains adware/spyware
BitTorrent - Network
- Azureus - Multi-Platform Popular Client, pioneering the Zudeo service.
- BitComet - Windows, closed source, C++
- BitLord -
- Shareaza - Windows, open source (GPL), C++, also supports Gnutella2, Gnutella1, eDonkey2000/eMule
- µTorrent - Windows, closed source, C++, light-weight client
- ABC - Windows, open source (GPL), Python
- Deluge (gTorrent) - GTK+, open source, Python
- eXeem - Stopped development in August 2005, contains adware
- KTorrent - KDE, open source (GPL)
- MLDonkey - platform-independent, open source (GPL), Objective Caml, also supports eDonkey2000/eMule, Overnet, Emule Kademlia, FTP, Gnutella1, Gnutella2
- Opera starting from version 9.0
- Rufus - Windows, open source, Python
- Tomato Torrent - Mac OS X, open source, BSD license
- Xtorrent - Mac OS X
- Transmission - GTK+, platform-independent, open source (MIT License)
- Star Torrent - .NET, C#
- SymTorrent - open source implementation for mobile platforms
- Tribler - platform-independent, open source (LGPL), Python
- BitRocket - Mac OS X (native), open source (BSD license
- BitZip - Windows, closed source, works with torrent & .bt files.
See also: Comparison of BitTorrent software
FastTrack - Network
- Apollon - KDE, open source (GPL), based on Poisoned, also supports other networks
- Grokster - development stopped in June 2005
- Kazaa - official client, contains adware/spyware
- Kazaa Lite - derivative of Kazaa, contain no or less adware/spyware
- Mammoth - open source, development stopped in January 2004
- MLDonkey
Further networks or clients
- aimini
- Applejuice
- Ares Galaxy - nearly TRACKs - similar network
- Coral Content Distribution Network
- Darknet
- DC++ - Direct Connect client
- Dijjer
- Direct Connect
- Drumbeat - Mac OS X, OpenNAP client
- iMesh - since October of 2005 Payment offerers
- izimi - peer to browser file sharing
- Jubster - client, supported networks: EDonkey2000, Gnutella, nearly TRACKs and further, contains adware
- JXTA
- Lopster - OpenNAP client
- Nicotine - Soulseek client
- OpenNap - Napster clone
- Peanuts - client, supported networks: Ares Galaxy, nearly TRACKs, Gnutella and further
- PowerFolder - An easy, secure and private file sharing program
- Piolet - client, successor of Blubster, network: MANOLITO P2P network (MP2PN)
- RevConnect - Enhanced DC++
- SlavaNap - Napster clone
- TekNap - OpenNAP client
- XDCC
The third P2P-Generation: indirect and encrypted
This January 2007 may be confusing or unclear to readers. |
The third generation of peer-to-peer networks are those that have anonymity features built in. Examples of anonymous networks are ANts P2P, RShare, Freenet, I2P, GNUnet and Entropy.
A degree of anonymity is realized by routing traffic through other users clients, which have the function of network nodes.This makes it harder for someone to identify who is downloading or who is offering files. Most of these programs also have strong encryption to resist traffic sniffing.
Friend-to-friend networks only allow already known users (also known as "friends") to connect to your computer, then each node can forward requests and files anonymously between its own "friends" nodes.
Third generation networks have not reached mass usage for file sharing because most current implementations incur too much overhead in their anonymity features, making them slow or hard to use.
An example might be: Petra gives a file to Oliver, then Oliver gives the file to Anna. Petra and Anna thus never become acquainted and thus are protected. Virtual IP addresses are also often used, further obfuscating the user's network location. Additionally all transfers are encrypted, so that even the network administrators cannot see what was sent to whom. Example software includes WASTE, JetiANts, Tor and I2P. These clients differ greatly in their goals and implementation. WASTE is designed only for small groups and may therefore be considered Darknet, ANts and I2P are public Peer to Peer systems, with anonymization provided exclusively by routing reach.
Waste network
Ants network
Mute network
I2P network
- Retroshare Instant Messenger - Retroshare Chat Messenger for privacy of filesharing
other networks or clients
- Freenet
- GNUnet
- Nodezilla
- OFF System - so-called Brightnet [1]
- PowerFolder - An easy, secure and private file sharing program
- Proxyshare - ISP cache/proxyserver
- RShare
- Share - successor of WinNY
- Tor
- WinNY - development stopped in November 2003
- Zultrax - Client, supported networks: ZEPP and Gnutella
The fourth P2P-Generation: Streams over P2P
Apart from the traditional file sharing there are services that send streams instead of files over a P2P network. Thus one can hear radio and watch television without any server involved -- the streaming media is distributed over a P2P network. It is important that instead of a treelike network structure, a swarming technology known from BitTorrent is used. Best examples are Peercast, Cybersky and demo TV.
General
Tree structure
Swarm structure such as Bittorrent
Legal and copyright issues
File sharing grew in popularity with the proliferation of high speed Internet connections, relatively small file size and high-quality MP3 audio format. Although file sharing is a legal technology with legal uses, many users use it to download and upload copyrighted materials without permission, which can be copyright infringement if done without authorization for improper purposes. Despite the existance of various international treaties, there are still sufficient variations between countries to cause significant difficulties in the protection of intellectual property. This has led to attacks against file sharing in general from many copyright owners and litigation by industry bodies against private individual sharers.
The challenges facing copyright holders in the face of file sharing systems are quite novel historically and have highlighted many new challenges in both theory and practice:
- Ambiguities in the interpretation of copyright law
- The new challenges posed by international communications and varying legislations
- Mass litigation and the development of processes for evidence and discovery
- Rapidly developing new technologies and uses
- Low barriers to entry by would-be sharers and the development of a mass usage of the technologies
- File sharing approaches developed in response to litigation against sharers, which obfusticate or hide the fact that sharing is happening, or the identities of those involved. For example: encryption and darknets.
Further challenges have arisen because of the need to balance self-protection against fair use. A perceived overbalance towards protection (in the form of media that cannot be backed-up, cannot be played on multiple systems by the owner, or contains rootkits[1] or irksome security systems inserted by manufacturers) has led to a backlash against protection systems in some quarters. For example, the first crack of AACS was inspired by a perceived unfair restriction on owner usage.[2]
Attacks on peer-to-peer networks
Many peer-to-peer networks are under constant attack by people with a variety of motives.
Examples include:
- poisoning attacks (e.g. providing files whose contents are different from the description, aka "spoofing")
- polluting attacks (e.g. inserting "bad" chunks/packets into an otherwise valid file on the network)
- defection attacks (users or software that make use of the network without contributing resources to it)
- insertion of viruses to carried data (e.g. downloaded or carried files may be infected with viruses or other malware)
- malware in the peer-to-peer network software itself (e.g. distributed software may contain spyware)
- denial of service attacks (attacks that may make the network run very slowly or break completely)
- filtering (network operators may attempt to prevent peer-to-peer network data from being carried)
- identity attacks (e.g. tracking down the users of the network and harassing or legally attacking them)
- spamming (e.g. sending unsolicited information across the network- not necessarily as a denial of service attack)
Risks
Some file sharing software comes bundled with malware such as spyware or adware. Sometimes this malware remains installed on the system even if the original file sharing software is removed, and can be very difficult to eliminate. In many cases such malware can interfere with the correct operation of web browsers, anti-virus software, anti-spyware and software firewalls, and can cause degraded performance on affected systems. Such malware is typically bundled with proprietary software, and not those in open source. In most cases it is possible to easily remove adware and spyware by running spyware removal programs. Such programs can often remove malware without influencing the functionality of the file sharing software.
Some are also concerned about the use of file sharing systems to distribute child pornography, inflammatory literature, and illegal or unpopular material. Novice users may find it difficult to obtain information on which networks are "safe" for them to use. However, experienced users know that there is only one way to get in contact with such material: You have to actively search for it.[3] Therefore they recommend not to search for illegal material.
See also
- Disk sharing
- Ethics of file sharing
- File sharing timeline
- Comparison of one-click hosters
- File-sharing program
- Privacy in file sharing networks
- Privacy of the Gnutella Protocol
- Comparison of file sharing applications
- Compulsory license
- Open Music Model
- FairShare
- Spyware
- File sharing in Canada
- P2P
- BitTorrent
- MP3 Newswire
References
- ^ See 2005 Sony BMG CD copy protection scandal.
- ^ By "Muslix64", written on doom9's forum. See original post and the ensuing AACS encryption key controversy.
- ^ Morris, Alan (2003-08-22). "Testimony of Mr. Alan Morris about Pornography, Technology and Process: Problems and Solutions on Peer-to-Peer Networks". United States Senate, Committee on the Judiciary, Washington, DC. Retrieved 2006-11-20.
Further reading
- Stephanos Androutsellis-Theotokis and Diomidis Spinellis. A survey of peer-to-peer content distribution technologies. ACM Computing Surveys, 36(4):335–371, December 2004. doi:10.1145/1041680.1041681.
- Stefan Saroiu, P. Krishna Gummadi, and Steven D. Gribble. A Measurement Study of Peer-to-Peer File Sharing Systems. Technical Report # UW-CSE-01-06-02. Department of Computer Science & Engineering. University of Washington. Seattle, WA, USA.
- Ralf Steinmetz, Klaus Wehrle (Eds). Peer-to-Peer Systems and Applications. ISBN 3-540-29192-X, Lecture Notes in Computer Science, Volume 3485, Sep 2005
- Ghosemajumder, Shuman. Advanced Peer-Based Technology Business Models. MIT Sloan School of Management, 2002.
- Silverthorne, Sean. Music Downloads: Pirates- or Customers?. Harvard Business School Working Knowledge, 2004.
- Selected Papers — A collection of academic papers