Pull to refresh

Простота в дизайне. Эпизод 3. Борьба с фрирайдерством

Reading time2 min
Views1.2K
Simplicity does not precede complexity, but follows it. /Alan J. Perlis/

История эта началась в начале 2000-х, когда все поняли на примере Gnutella, что пиринговую сеть убивает фрирайдерство — масса пользователей-паразитов, только скачивающих, но не раздающих. Была написана масса статей про доверие и учёт траффика в пиринговых сетях. Например, «The EigenTrust Algorithm for Reputation Management in P2P Networks», одна из самых популярных и цитируемых статей этого направления, где в соавторах был сам Гарсия-Молина, была представлена на WWW'2003. Как говорится, всё по классу «А». Статья подразумевала, что пиры будут совместно высчитывать PageRank-подобную метрику, передавая друг другу векторы размером N, где N-количество участников. Я знаю несчастных, которые даже сегодня продолжают заниматься такими метриками, с O(N) данных на узел и сложными правилами вывода. А в реальной жизни «победил» BitTorrent, в котором некоторый репутационный элемент конечно был — алгоритм tit-for-tat, «ты мне — я тебе», но всё это было сильно проще репутационно-учётных систем на основе DHT и прочего подобного. Просто каждый пир пытается отвечать взамностью и слать траффик (интересное в мелочах) трём пирам, которые закачали ему больше всего в последние 20 секунд и ещё одному, случайно выбранному. Конечно, следует признать, что простые репутационные системы тоже в ходу. Пóфиксы, как я их называю, или затычки. Sharing ratio enforcement есть на том же torrents.ru, tvtorrents.com и где только его нет. Но с моей точки зрения, это доказывает следующее: траффика будет море, если только есть какое-то, пусть даже самое символическое вознаграждение. Если вознаграждения нет совсем, то траффик будет. Но не море. Как на thepiratebay.com.

В каком же направлении эта область развивается сейчас? По-видимому, в сторону упрощения. Дело в том, что алгоритм tit-for-tat потребовал разделения файла на мелкие кусочки и затем обмена ими по алгоритму rarest-first (о чём также было написано море забавных статей). Плюс ещё «рейтинги». Всё это довольно сложно. А что если убрать коренную причину конфликта — тот мотив, из-за которого пользователи прекращают сидить? Конкретнее, проблема в том, что лазить по интернету при работающем BitTorrent становится сильно неудобно. Это вызвано тем, что все 50 соединений, открываемых BitTorrent'ом, получают свои доли траффика на равных с теми робкими 4 TCP-соединениями, которые открывает браузер. В результате, браузер тормозит. А если отказаться от TCP и использовать для P2P более робкий транспорт, загружающий аплинк, когда тот свободен и быстро уступающий всплескам TCP-траффика? Многие читали новости про такой транспорт (uTP) в µTorrent. Его разработкой в BitTorrent Inc занимается Станислав Шалунов. Если uTP хорошо пойдёт, возможно удастся искупать пользователей в халявном траффике.

От себя добавлю. Тогда станет возможным забить и на tit-for-tat и на rarest-first и наконец-то, скачивать файлы по порядку и смотреть кино «по клику», как в YouTube. Возможно, для этого понадобится ещё пара пóфиксов, но фундаментально уравнение таково: пользователи не могут скачивать кино 24 часа в сутки. А сидить 24 часа в сутки могут. Если только это не создаёт неудобств.
Tags:
Hubs:
Total votes 6: ↑6 and ↓0+6
Comments14

Articles