13 мая 2012 года прогрессивная интернет-общественность отметила десять лет с момента выхода eMule — клиента для файлообменной сети eDonkey2000.
Вообще, первым приложением для P2P-файлообмена стал Napster в 1999 году с полностью централизованной архитектурой на единственной центральном сервере, где хранилась вся информация о файлах и инициировалась каждая сессия передачи файлов между пирами. Из-за такой архитектуры сервис было легко закрыть, что вскоре и сделали власти по требованию RIAA.
Программы файлоообмена нового поколения извлекли урок из примера Napster и реализовали различные принципы децентрализации. С одной стороны, была полностью децентрализованная сеть Gnutella, где поисковые запросы распространялись от клиента к клиенту, так что поиск файла в сети пиров мог продолжаться несколько минут. С другой стороны, появилась сеть eDonkey2000 (первый релиз 6 сентября 2000 года). В ней были серверы, но поднять свой сервер мог каждый пользователь, так что такую систему нельзя было просто вывести из строя. Недостатком eDonkey2000 было то, что вы не могли провести поиск по всей сети, а только среди клиентов, подключённых к определённому серверу.
В некотором смысле eDonkey2000 напоминает архитектуру BitTorrent (запущен в 2001 году), ведь здесь тоже для поиска пиров используются конкретные серверы — торрент-трекеры.
Сеть eDonkey2000 Network (ed2k) задумывалась как полностью децентрализованная, но масштабируемая система. В мае 2002 года началась разработка продвинутого клиента под названием Flock, который после бета-тестирования переименовали в Overnet и объединили с основным клиентом eDonkey2000 в августе 2004 года. Но настоящим прорывом стало событие 13 мая 2002 года — в этот день вышла первая версия open source клиента eMule для сети ed2k, того самого, чей день рождения сейчас отмечают.
К июню 2004 года в сети ed2k насчитывалось около 2 миллионов пользователей, а в сети eDonkey2000 Overnet — всего около 800 тыс. Таким образом, eMule был самым популярным файлообменным клиентом, и вместе с BitTorrent он доминировал в следующие годы развития файлоообмена. На SourceForge программа eMule до сих пор занимает первое место по количеству скачиваний (более 647 миллионов), хотя пик уже давно позади.
Обе сети — BitTorrent и eMule — медленно эволюционировали к более децентрализованной архитектуре. Так, в BitTorrent появилась технология обмена сетевой информацией между пирами, а eMule добавил поиск по всем серверам через UDP-запросы и обмен информацией между клиентами по TCP о списке мест, где имеется определённый файл.
В начале 2004 года в eMule реализовали распределённую хеш-таблицу Kademlia для поиска пиров и запросов по ключевым словам, что сделало серверы необязательными для работы. BitTorrent внедрил аналогичную систему DHT в 2005 году.
DHT знаменует собой революционный этап в развитии файлообмена. Не только потому что появилась возможность скачать файл, просто зная его хеш (и пару адресов нодов для установления первоначального коннекта), а потому что появилась истинно децентрализованная и масштабируемая система файлоообмена. Если та же Gnutella проводила поиск файла в сети с количеством запросов O(n), то DHT находит информацию за O(log2(n)). Это означает, что при удвоении размеров сети требуется в среднем один дополнительный запрос. Для примера, в сети из 2 миллионов узлов требуется максимум 21 запрос (log2(2000000))), чтобы получить информацию о наличии определённого файла на всех узлах сети. В реальности практически любой файл находится за 3-4 запроса.
Сейчас развитие файлообмена продолжается в сторону дальнейшей децентрализации. В будущем торрент-клиенты должны научиться проводить полноценный поиск файлов среди пиров, а контент торрент-трекеров тоже можно распределить по P2P-сети. К сожалению, предыдущие попытки окончательной децентрализации не увенчались успехом, в том числе по причине большого количества спама в поисковых результатах. Выход из этого можно найти в использовании криптографических подписей, которыми будут заверяться «достоверные» торренты, проверенные тем или иным сайтом. При осуществлении поиска пользователь может просто указать, каким подписям он доверяет, и искать только среди них, фильтруя таким образом спам. В этой системе функция «трекера» типа The Pirate Bay будет заключаться только в том, чтобы изредка выходить в Сеть, проверять новые торренты и подписывать их своим закрытым ключом.
Сейчас идёт работа над клиентом, в котором будут реализованы данные возможности. Проект носит предварительное название NeoLoader и пока что находится в стадии альфа-тестирования. По имеющейся информации, он сможет скачивать файлы из сетей BitTorrent, eMule, а также с файлохостингов.
via TorrentFreak