eDonkey2000
eDonkey2000, commonly known as eDonkey or eD2k, was a proprietary peer-to-peer file-sharing client software and network protocol developed by the U.S.-based company MetaMachine, Inc., and released in 2000.[1] The application operated on a hybrid architecture that combined centralized servers for indexing and search functions with decentralized peer-to-peer connections for file transfers, enabling users to download files from multiple sources simultaneously for improved speed and reliability.[2] It rapidly gained widespread adoption in the early 2000s as one of the dominant platforms for distributing digital media, including music, films, and software, often involving copyrighted content without permission.[3] The network's popularity stemmed from its resilience against single points of failure and support for large file sizes, but it faced intense scrutiny for enabling mass copyright infringement, culminating in MetaMachine's agreement in September 2006 to pay $30 million to the Recording Industry Association of America (RIAA) and other music industry plaintiffs, after which the company ceased development and distribution of eDonkey2000, Overnet, and related software, effectively shutting down the official network.[4][5]History
Origins and Development
MetaMachine Inc. was established in 2000 by Jed McCaleb to create a peer-to-peer file-sharing platform capable of handling large files through a decentralized architecture lacking a central server.[6] McCaleb partnered with Sam Yagan in developing the eDonkey network and its flagship client, eDonkey2000.[6] The initial release of the eDonkey2000 software occurred on September 6, 2000, introducing a semi-centralized model where users could operate their own index servers to facilitate searches and connections.[7] Early iterations emphasized scalability over Napster's single-point failure risks, enabling file discovery across interconnected servers while supporting direct peer transfers for efficiency.[7] Development progressed with version updates addressing stability and user experience; for instance, by mid-2001, releases like version 0.56 incorporated refinements to queuing and credit systems for fairer bandwidth allocation among participants.[8] Subsequent advancements included the launch of "Flock" in May 2002, a beta initiative rebranded as Overnet to pursue greater decentralization via peer routing, reducing server dependency.[7] By early 2004, integration of the Kademlia distributed hash table protocol enabled serverless searching, and in August 2004, Overnet functionality merged into the core eDonkey2000 client, enhancing resilience against targeted shutdowns.[7] These evolutions positioned the network as a robust alternative amid growing legal pressures on P2P systems.Rise to Prominence
eDonkey2000 was publicly released in September 2000 by MetaMachine Inc., a company founded earlier that year by programmer Jed McCaleb, amid the burgeoning peer-to-peer file sharing landscape sparked by Napster's rapid ascent. Unlike Napster's centralized indexing model, which proved vulnerable to legal injunctions, eDonkey2000 employed a hybrid architecture: dedicated servers handled search queries for efficiency, while actual file transfers occurred directly between peers, reducing single points of failure. This design addressed early P2P limitations, such as slow searches in fully decentralized systems like Gnutella, positioning eDonkey2000 as a more practical alternative as Napster faced mounting lawsuits and operational restrictions by late 2000.[9][10] A key innovation driving adoption was the Multisource File Transfer Protocol (MFTP), which allowed clients to download distinct chunks of a file from multiple sources concurrently, aggregating pieces for faster completion and greater fault tolerance—even if individual peers disconnected mid-transfer. This swarming approach proved particularly effective for larger files, including music albums, software, and videos, which were increasingly shared amid broadband expansion and Napster's fallout; following Napster's court-mandated blocking of copyrighted material in July 2001, users migrated en masse to resilient networks like eDonkey, boosting its visibility and user base.[10][9] User growth accelerated in the ensuing years, with estimates placing the network at around 1 million users by early 2003, expanding to approximately 2 million active on the core eD2k server protocol by mid-2004. The May 13, 2002, launch of eMule—an open-source client compatible with the eDonkey network—amplified this trajectory by introducing enhancements like a credits-based sharing incentive system to discourage free-riding and better handling of rare files, quickly surpassing the proprietary eDonkey2000 client in popularity. By its peak in the mid-2000s, the combined eDonkey ecosystem, including the Overnet decentralized overlay introduced in 2002, supported roughly 5 million users, making it one of the largest P2P networks globally before legal pressures intensified.[11][12][13]Shutdown and Immediate Aftermath
On September 12, 2006, MetaMachine Inc., the developer of eDonkey2000, reached a settlement with the Recording Industry Association of America (RIAA) and major record labels, agreeing to pay $30 million to resolve copyright infringement claims.[5] [4] As part of the consent judgment, MetaMachine, along with founders Sam Yagan and Jed McCaleb, committed to ceasing distribution of eDonkey2000, Overnet, and related peer-to-peer software, and to disabling the network's central infrastructure under their control.[14] This action followed intensified legal pressures post the U.S. Supreme Court's MGM Studios v. Grokster ruling, which held distributors liable for inducing copyright infringement.[15] The immediate shutdown rendered the official eDonkey2000 client and website inoperable, with the site displaying a notice regarding the RIAA enforcement.[16] MetaMachine's servers, which facilitated much of the network's operations, were taken offline, significantly disrupting connectivity for users reliant on them.[17] However, the eDonkey network's decentralized architecture, supported by third-party servers and open-source clients like eMule, allowed residual activity to persist in the short term.[16] In the ensuing weeks, many users migrated to alternatives such as eMule, which maintained compatibility with the eD2k protocol via community-hosted servers, or to more robust networks like BitTorrent, accelerating a broader shift away from server-dependent P2P systems.[16] Network traffic for eDonkey declined sharply without official support, though unofficial forks and servers prolonged limited functionality until further legal actions targeted remaining infrastructure in subsequent years.[18] The settlement underscored the vulnerability of centralized elements in P2P networks to legal enforcement, prompting developers and users toward fully decentralized or licensed models.[19]Technical Design and Features
Network Architecture
The eDonkey2000 network utilized a hybrid peer-to-peer architecture that integrated centralized server components with direct client-to-client interactions. Servers operated as distributed indexing hubs, maintaining metadata on available files and connected clients without storing actual file content. Clients registered their shared files with servers by submitting unique file identifiers, enabling efficient search and discovery. This structure relied on TCP connections for primary communication, with clients typically connecting to servers on port 4661 and using port 4662 for direct peer transfers.[3][2] File identification and integrity verification employed 128-bit MD4 hashes, known as eD2K hashes, computed from file chunks to ensure uniqueness regardless of filename variations. Files were segmented into fixed-size chunks, with each chunk hashed individually before deriving the overall file hash. Searches initiated by clients involved keyword queries to connected servers, which returned matching file hashes and initial source lists. Subsequent source queries for specific hashes expanded the pool of available peers, facilitating decentralized file location across the network. Servers interconnected to propagate index updates, mitigating single points of failure while preserving semi-centralized efficiency.[3][2] File transfers adhered to the Multisource File Transfer Protocol (MFTP), allowing downloads from multiple peers simultaneously to enhance speed and resilience. Peers established direct TCP connections to request and receive specific file chunks, reassembling them locally after verification against chunk hashes. UDP packets supported auxiliary functions like search queries, comprising a minority of traffic compared to TCP-dominated transfers. This multisource approach distributed load and reduced dependency on individual hosts.[20][3] To address server vulnerabilities, the architecture evolved with the integration of Overnet, a decentralized overlay network based on the Kademlia distributed hash table (DHT) protocol. Overnet enabled serverless indexing and peer discovery, with clients publishing and retrieving file metadata directly via DHT lookups. Introduced in eDonkey2000 versions supporting Overnet interoperability, this component aimed to phase out reliance on traditional servers, enhancing resilience against targeted shutdowns. Despite the official eDonkey2000 discontinuation in September 2005, Overnet and subsequent Kademlia implementations in clients like eMule sustained decentralized operations.[1]Core Protocol Innovations
The eDonkey2000 protocol employed a hybrid peer-to-peer architecture that combined decentralized servers for metadata indexing and search with direct client-to-client file transfers, distinguishing it from purely decentralized systems like Gnutella and centralized ones like Napster. Servers, typically operated by users on TCP port 4661 and UDP for inter-server communication, maintained indexes of shared files and connected clients without storing actual content, enabling efficient peer discovery while avoiding single points of failure. This design supported scalability, as clients queried servers for sources matching file hashes, then established TCP connections on port 4662 for transfers, reducing network flooding compared to query broadcasts in Gnutella.[21][2] Files were uniquely identified using a 128-bit MD4 hash of their entire contents, independent of filenames or metadata, which facilitated integrity verification and compatibility across clients during multi-source downloads. This hashing mechanism underpinned the ed2k URI scheme (e.g.,ed2k://|file|name|size|hash|/|/), allowing users to share precise file references via hyperlinks that included name, size, and hash for quick initiation of searches or downloads. Searches on servers supported substring matching on filenames and attributes like size or type, using a tag-based message format that enhanced protocol extensibility without breaking backward compatibility.[21][2][3]
A key innovation for handling large files was chunked transfer support, where files were divided into verifiable parts—typically fixed-size segments hashed individually for corruption detection—enabling partial sharing and resumption from multiple peers simultaneously. Clients could aggregate data from diverse sources, improving reliability and bandwidth utilization, with average throughputs reaching 30-45 kB/s in observed networks. To accommodate firewalled clients, the protocol included "push" requests, where uploaders initiated connections to downloaders, bypassing NAT restrictions. These features collectively prioritized efficiency and resilience for content distribution, though the core protocol lacked built-in upload incentives like credits, which were later added via extensions in clients such as eMule.[21][3][2]