О хэшах и проблеме распространения в торрентах

    Наверняка многие из вас в процессе пользования торрентами сталкивались с такой досадной проблемой, когда торренты одного и того же контента имеют разные хэши, что не позволяет объединить в одной раздаче несколько с разных трекеров, сделав тем самым мультитрекерную раздачу.

    Что же является причиной различия хэшей?

    Как известно, хэш торрента или info_hash — это хэш SHA-1 от секции info в торрент-файле. В этой секции обычно находится размер раздачи, список файлов и другая информация о раздаваемом контенте. Например, торрент, созданный нашим любимым uTorrent, изнутри выглядит примерно вот так:

    image

    Действительно, ничего лишнего. А теперь посмотрим, что даст нам второй третий по популярности в мире битторрент-клиент Azureus от того же самого файла:

    image

    Ага… И нас уже преследуют неприятности. Как видно, секция info пополнилась фирменными азуреусовскими штучками в виде пункта name.utf-8, дублирующего не понятно для чего предыдущий пункт name. Действительно, стоит глянуть в спецификацию протокола, где ясно сказано, что метаинформация и так в utf-8. Еще один пункт, испортивший нам праздник хэш, это private=0. Замечу, что uTorrent в случае указания публичности торрента пункт private вообще не добавляет и правильно делает, ибо private=0 равнозначно его отсутствию. Также разнится и размер кусков.

    В итоге мы получили два разных хэша от одного и того же файла еще на этапе лишь создания торрента. Дальше больше.

    После загрузки торрента на трекер ситуация обычно усугубляется. Многие трекеры принудительно делают торренты приватными, т.е. добавляют private=1 в секцию info, тем самым портя хэш (кстати, на torrents.ru эта конструкция долгое время, видимо, по ошибке вставлялась вне секции info). Но это полбеды. Очень многие трекеры добавляют в эту архиважную секцию всякую дрянь вроде указания принадлежности торрента именно себе: tracker=***.ru и прочее, что опять же делает торрент уникальным.

    Чем же губительно отличие хэшей?

    Тем, что распространение контента в битторрент-сетях сильно тормозится различием хэшей в то время, как файлы раздачи идентичны, и можно было существенно оптимизировать весь процесс, унифицируя принцип создания торрентов. Такая картина не только портит распространение раздачи по DHT, но и не позволяет вам оптимально качать одну и ту же раздачу с нескольких трекеров, добавив новые адреса для анонсов. Получается, что раздавать один и тот же файл на несколько трекеров можно, а вот качать — нет.

    Сегодня многие трекеры, включая torrents.ru, отказались от практики «опривачивания» торрентов, что очень радует, но вышеназванная дрянь tracker=torrents.ru в секции info все усилия сводит на нет, потому как хэши торрентов с того же торрентс уникальны.

    К слову также хотелось бы упомянуть проблему самого протокола битторрент, заключающуюся в том, что имена раздаваемых файлов (не говоря уж об их относительном расположении в раздаче) оказывают самое непосредственное влияние на хэш. Это на мой взгляд очень большая прореха во всем этом гениальном протоколе. Если не ошибаюсь, даже ed2k ее лишен.

    Что делать?

    Несомненно, с такой проблемой вселенского масштаба нужно бороться. Какие же способы для этого есть.
    1. Трекерам на стадии загрузки торрента автоматически приводить его к стандартному виду, очищая секцию info от конструкций вроде name.utf-8 и не добавлять туда ничего лишнего от себя. И, если это не противоречит идеологии ресурса, не делать торрент приватным. Впрочем, даже приватные торренты с разных трекеров могут быть объединены в мультитрекерную раздачу, что уже хорошо.
    2. Разработчикам битторрент-клиентов придти к единому стандарту генерации торрентов.
    3. Нам с вами — рядовым пользователям — создавать торрент-файлы по возможности в едином клиенте, на роль которого лучше всего выбрать именно uTorrent как самого распространенного.
    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 104
    • +12
      >uTorrent
      я конечно ничего против него не имею, да и у меня он стоит, но как же линуксоиды?
      • +54
        Линуксоиды, как обычно, сами что-то смастерят!
        • +18
          Очевидно, минусуют мой коммент выше те, кто является линуксоидом, но ошибочно думает, что я не линуксоид и похабно к ним отзываюсь!..
          • +2
            Дело рук новичков, полагаю. Они всегда такие горячие.
          • НЛО прилетело и опубликовало эту надпись здесь
          • +1
            Вот-вот. Сам линуксоид. В последнее время торренты создаю исключительно в uTorrent под вайном, потому что в азуреусе никаких опций создания торрентов по очистке от «мусора» просто не нашел.
            • +9
              Deluge?
              И проблема «мусора» в торрент-файлах надумана, кмк.
              • +2
                а что с KTorrent?
                • 0
                  Давно им пользуюсь под убунтой, никаких проблем не замечал.
                • +1
                  Хм. Я всегда торенты собираю с помощью btmakemetafile.
                  Кстати а чем так структуру файла то смотреть как на скринах?
                • +2
                  ну вы конечно мудрите с utorrent'ом под вайном (-: в линуксах соих клиентов огого
                  тот же qBittorrent (-:
                  с версии v2.1.0rc1 у них появились такие штуки относящиеся к uTorrent:

                  FEATURE: uTorrent compatible tracker list support (use torrentz.com url as a default)
                  FEATURE: qBittorrent can identify itself as uTorrent, Vuze or KTorrent (Any stable version)

                  выглядит все это дело от так: rghost.ru/788201/image.png

                  кстати, в qBittorrent лично для меня есть одна киллерфича, он умеет качать файл «ровно», т.е. ставлю на закачку фильм и тут же начинаю и его смотреть (скорость интернетов позволяет)

                  • 0
                    кстати, в qBittorrent лично для меня есть одна киллерфича, он умеет качать файл «ровно», т.е. ставлю на закачку фильм и тут же начинаю и его смотреть (скорость интернетов позволяет)
                    Это не уникальная фича. Ряд других BT-клиентов тоже поддерживают последовательную смотрибельную закачку. Вот статья на Хабре про такую фичу, появившуюся в uTorrent.
                    • 0
                      Я так понимаю, что LeNsTR имел ввиду преимущество qBittorrent по сравнению с другими клиентами под Linux, и не пытался сравнивать его с uTorrent.
                • +1
                  Видели бы вы, что творит Transmission под MacOS…
                  Там только для имени 3 поля.
                  • 0
                    А чем под макосом торенты делать?
                    µTorrent еще не умеет. Как дальше жить?
                    • 0
                      Ну как вариант — еще никто не отменял виртуальную машину(с Windows) или Wine(Crossover).
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • НЛО прилетело и опубликовало эту надпись здесь
                  • +12
                    Вот косяк! Кто же это придумал то а! Всегда считал что хеш у торентов это хеш сумма от самого файла! А тут выходит, что ошибался, что от инфо-данных в торент-файле. Понятное дело, что тогда добиться одинаковых хешей на разных трекерах практически не реально.
                    • +3
                      Да, битторренту еще есть, куда расти. Очевидно, что хэширование по контенту, а не по названию и размеру файла было бы куда правильней.

                      Более того, бывает, что файлы идентичны не на 100%. Такой случай, думаю, вполне можно было бы реализовать на уровне протокола, но это уже довольно революционные нововведения, время которых еще наверно не пришло.
                      • +1
                        «Идет хеширование T4.salvation.720p.mkv, осталось 7 час. 32 мин.»
                        • 0
                          ой!? на чем хешируете, на нетбуке?
                          да, для больших файлов это могло бы быть проблемой. возможно увеличение самого .torrent файла для раздач в которых куча мелких файлов. но зато сколько проблем бы решалось при поиске контента…
                      • 0
                        Вообще-то именно это и стало причиной большей популярности торрентов перед e2k, благодаря тому, что трекеры смогли «приватизировать» раздачи. Ну и хэши от частей файлов в битторренте тоже считаются.
                      • +2
                        Автор, с каких пор метаданные хэшируются? Что за бред? Обратите внимание на Pieces Length у uTorrent'a, потом на Pieces Length у Azureus'a, а теперь читаем выкладку из библии «pieces: string consisting of the concatenation of all 20-byte SHA1 hash values, one per piece (byte string, i.e. not urlencoded)». Соответственно и хэши будут разные, т.к. первый же кусок (в силу разницы длины) уже имеет иную контрольную сумму.

                        Собственно тут и собака зарыта, имхо.

                        Я с торрентами слабо связан, но чую, что не дебилы в BitComet'e надо спецификацией работали.
                        • +4
                          А метаданные кто хочет так и накручивает — на то они и метаданные.

                          Если вдруг не прав — ткните меня носом, где вообще говориться о калькуляции контрольной суммы метаданных внутри .torrent файла и как это влияет на потерю.

                          Отличия Azureus/uTorrent приведены (pieces lengths), они, вероятно, могут влиять не в лучшую сторону на ситуацию с дубликатами.
                          • +38
                            Я говорю глупости, а вы меня плюсуете. Перечитал трижды автора, речь идет об info_hash, который «urlencoded 20-byte SHA1 hash of the value of the info key from the Metainfo file.»

                            Я больше не буду влазить с «умными» мыслями в тему, в которой не шарю.
                            Я больше не буду влазить с «умными» мыслями в тему, в которой не шарю.
                            Я больше не буду влазить с «умными» мыслями в тему, в которой не шарю.
                            Я больше не буду влазить с «умными» мыслями в тему, в которой не шарю.
                            Я больше не буду влазить с «умными» мыслями в тему, в которой не шарю.
                            Я больше не буду влазить с «умными» мыслями в тему, в которой не шарю.
                            Я больше не буду влазить с «умными» мыслями в тему, в которой не шарю.
                            Я больше не буду влазить с «умными» мыслями в тему, в которой не шарю.
                            • +3
                              Уж, к сожалению, далеко не меньшинство подобных ситуаций на Хабре!..
                              • 0
                                Отчасти хотя был прав, это уже радует, т.к. указанные особенности (pieces length) создания торрент-файлов тоже будут влиять на хэш, т.к. входят в Info Directory. Просто не обратил внимание на то, что речь идет о info_hash со всеми вытекающими и накричал на автора, за что стыдно. Приношу свои извинения.
                              • 0
                                а еще вы зря считаете, что «там» далеко не «дебилы» сидят. Это глупо считать, что любая западная/азиатская компания защищена от дебилов и идиотов.
                            • 0
                              Перенес в Peer-to-Peer.
                              • +1
                                А что размер кусков уже нельзя задать при создании торрента?
                                • +1
                                  Конечно, можно. На это я и не акцентировал. Но по дефолту он во всех клиентах разный, что не гут.
                                  • +1
                                    нормальные клиенты подбирают размер чанков в зависимости от размера раздачи, что вполне себе гут.
                                    • 0
                                      и старые вроде тож подбирали. Только у них критерии разные.
                                • +1
                                  Варианты решения — почти утопические.

                                  1. Вариант возможен, но для его достижения нужен стандарт, которого нет (см. п2)

                                  2. Каждый разработчик торрент клиента видит по своему структуру торрент файла, ибо этот файл мини БД, в которую можно поместить много нужной и ненужной информации. Стандартизация в наш век открытого ПО с уклоном на конкуренцию маловероятна. Например для меня очень удобно видеть в инфе о торренте комментарий с адресом раздачи (как на torrents.ru), ибо быстрее скопировать ссылку, чем найти в поиске.

                                  3. uTorrent пока только для Windows, для макоси в бете. Для линукса его вообще нет (только в wine). А т.к. пользователей noWin систем не мало, то и этот вариант неподходит.

                                  Если бы все было стандартизировано, то мы не увидели бы большого количества замечательных программ, которые появились на свет благодаря тому, хотят отличаться от тех программ, которые уже есть.
                                  • +1
                                    Позвольте с вами не согласиться.
                                    1) Кто знает, может разрабы-таки придут к единому мнению и стандарту.
                                    2) Вне секции info можно безболезнено пихать хоть «Войну и мир», хоть линк на топик раздачи (как это обычно делается), а вот содержание info желательно держать в чистоте.
                                    3) Ну здесь выходов много: от принудительной чистки info трекерами до создания онлайн-сервиса, занимающегося этим, и создания кроссплатформанного генератора торрент-файлов. Думаю, это несложно.

                                    Стандартизация внутреннего механизма отнюдь не лишает разрабов возможности улучшать «внешние» фичи.
                                  • +2
                                    Что делать?

                                    4. Использовать ed2k. Да, там нет такой удобной фишки, как раздача каталогов, но проблем с отличием хеша в метаданных тоже нет :)
                                    • 0
                                      Всецело согласен с Вами, тем более что серьёзные сайты раздачи телесериалов одновременно предоставляют читателям и ed2k-гиперссылки, и торренты. Обратите внимание, скажем, на страницу сериала «Heroes» сайта TV Underground. Несомненное достоинство в том, что по гиперссылкам оттуда приводятся сразу два хэша (ed2k и AICH), что позволяет сделать ed2k-файлообмен ещё комфортнее.
                                      • 0
                                        Да, то что хеши одинаковые- большой плюс. Но вы посмотрите на ужасный механизм рейтинга и очередей в ed2k! В bittorrent'е мне больше всего нравится скорость, но есть причины по которым он мне не нравится: первая проблема была обозначена в статье: два одинаковых файла с разными именами или созданные разными клиентами имеют разные хеши, а вторая- это то, что хеши директорий счищаются для всего каталога, а не для отдельных файлов в нем.
                                        • 0
                                          Рейтинг в ed2k поддерживается только несколькими клиентами, на сколько я знаю. Проблем с очередями никогда не видел. Ну, лет 8 назад да, были. Но и то, на любой активной раздаче через полчаса-час появляется достаточно пиров. Главное что б клиент умел держать несколько тысяч коннектов.
                                          • +1
                                            Простите, если не прав, сужу по ощущениям: один и тот же файл с одинаковым кол-вом раздающих по bittorret'у скачается гараздо быстрее, причем всегда.
                                            • 0
                                              Таки да, я этого не отрицаю. Но вот если торрент вынесли с трекера и раздающих больше нет, то ed2k в этом случае быстрее в бесконечность раз :)
                                              • 0
                                                Согласен, у каждого из протоколов свои достоинства и недостатки. Поэтому вначале и написал, что в bittorrent мне нравится из-за скорость, на этом его преимущества для меня заканчиваются.
                                                • 0
                                                  А как-же DHT? :)
                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                  • 0
                                                    простите, но
                                                    0 * ∞ = 0
                                                    • 0
                                                      Неправда, 0 * ∞ = неопределенность, как и (-1) * (+∞), например.
                                                      • 0
                                                        я бы сказал NaN
                                          • +1
                                            Почему-то мне кажется, что идентификатором одинаковых торрентов должен быть хеш от содержимого раздваемых файлов. Тогда можно будет решить несколько проблем:
                                            — Одинаковые раздачи из разных клиентов.
                                            — Одинаковые раздачи с разными именами и структурой папок и файлов.
                                            • +1
                                              Пусть вы качаете торрент с программой. Есть один торрент, где файлы программы разложены по папкам правильно и другой — где всё лежит неправильно (свалено в одну кучу и с левыми именами). Естественно, что программа из этого второго торрента будет неработоспособной. И с полезностью близкой к нулевой. А хэши-то у торрентов одинаковые, т.е. на уровне клиента и трекера — там одно и то же. Нехорошо? Думаю, да. Так что согласитесь, что использование для хэша ТОЛЬКО содержимого — не самая удачная идея.
                                              • –1
                                                Полезность такой раздачи будет не нулевая для тех, кто скачал торрент с нормальной структурой папок. Если я создам торрент-файл с неверной структурой и выложу его на раздачу на трекере, то эту раздачу скоро закроют.
                                                • 0
                                                  Основная проблема в том, что в общем случае ни конечный пользователь, ни трекер не могут отличить правильную раздачу от неправильной.

                                                  Я согласен, что хорошо бы быть привязанным только к самим данным. Но одной такой привязки будет недостаточно для обеспечения «информационной целостности» раздачи. В идеале должен был бы быть хэш для структуры (имена файлов и папок) и хэш данных каждого отдельного файла (без учета имени). Но по понятным причинам это не используется — так как торренты для раздач с большим количеством мелких файлов сами по себе были бы слишком большими.

                                                  Поэтому как простой компромисс мы получили то, что сейчас имеем — тот самый info_hash, учитывающий и данные, и структуру.
                                                • 0
                                                  Если ограничиться передачей одного файла — а папки представлять, например, tar-ом, то во втором описанном Вами случае будет другой файл, и соответственно другой хэш.
                                                  • 0
                                                    Если ограничиться передачей одного файла
                                                    Если органичиться передачей одного файла, то eMule — то, что вам нужно: передается строго один файл и никаких проблем с хэшами :)
                                              • 0
                                                автор не понимает смысла private, ни трекеров, ни смысла добавления этого флажка. весь смысл закрытого трекера в том, чтобы быть закрытым, чтобы пользователи качали только с других пользователей этого же трекера, и раздавали только пользователям этого трекера. чтобы трафик учитывался только внутри-трекерный. правила многих закрытых трекеров явно запрещают мульти-трекерные раздачи.
                                                • +1
                                                  Зачем же тогда было создавать флаг private, если можно было просто мусорить хэш? Private запрещает DHT, этого и желают владельцы трекеров, а не запрета использования их раздач как мультитрекерных. От мультитрекерности, по-моему, еще никто не страдал — ни владельцы трекеров, ни конечные пользователи.
                                                  • 0
                                                    Все достаточно просто, возьмем например клиент uTorrent, и 2 закрытых трекера А и Б со своим рейтингом и особенностями
                                                    На обоих трекерах есть 1 и тот же торрент с одной и той же хеш суммой и с флагом private=1
                                                    Пользователь качает раздачу с трекера А, и после того как скачал например хочет поддерхать ее на трекере Б
                                                    При скачиваннии торрент файла с трекера Б и добавлении его в клиент — Клиент скажет, что торрент с таким хешом уже существует и просто предложит добавить УРЛ трекера к списку трекеров

                                                    В итоге: вся суммарная статистика (не важно с какого трекера были получены пиры) о всем трафике будет отослана и на оба трекера и получится вышеупомянутая мульти-трекерная раздача
                                                  • 0
                                                    Ну тогда private=1 и в Азуреус и в мюТоррент. Вопрос в том, зачем добавлять строчку, которая дублирует значение по умолчанию? Она ведь меняет хэш и всё. Больше ничего не затрагивает.
                                                    • +1
                                                      Впрочем, я не критикую закрытые трекеры. Их право быть отрезанными от мира. Я говорю в целом о проблеме в глобальном масштабе.
                                                      • +1
                                                        угу, отрезанные и от DHT, и от PEX. локальные ретркеры — отдельный вопрос, считается что пользы от них больше чем вреда.

                                                        проблема мультитрекерности в том, что торрент-клиент каждому трекеру отправляет суммарную статистику. допустим, он нашёл одного пира с трекера А, двух с трекера Б, и ещё трёх через DHT и PEX. каждому отдал по мегабайту. трекеру А рапортует, что с последнего анонса отдал 6 мегабайт. тот пир, которого он нашёл через трекер А, говорит что он суммарно скачал мегабайт. и в результате дебет с кредитом не сходится, 6 отдали, 1 получили. что делать? банить за читерство?
                                                        • 0
                                                          на сколько я помню, в мю 1.8 уже нельзя на приватном торренте включить pex, dht и даже заставить работать второй трекер. Будет выбираться всегда первый из списка и на него всё анонсится.
                                                          • 0
                                                            включить DHT никогда и не было возможности, есть только патчи от народных умельцев, которые это позволяют на private-торрентах делать.

                                                            а вот список трекеров редактировать можно абсолютно без проблем во всех версиях. только начиная с версии 1.7, емнип, при этом стал сбрасываться список пиров, раньше даже этого не было.

                                                            все трекеры из списка всегда работают, всем вся статистика посылается. точнее как, там есть 2 варианта, если в интерфейсе уТ то если трекеры идут подряд, без пустой строки между ними, то да, из них выбирается только один. если через пустую строку — то все.
                                                            • 0
                                                              на какой-то из версий можно было добавлять трекеры в список, но уТ показывал, что работает только с одним.
                                                              Отправлял ли он статистику на оба я не знаю, может быть. Но статус и время анонса второго трекера на приватных торрентах не показывал.
                                                              • 0
                                                                Для примера — при добавлении торрент файла с уже существующим в клиенте хешом и согласия добавить список трекеров — utorrent добавляет точно с пустой строкой

                                                                P.S. PEX работает даже при private=1

                                                                Заметил еще один интересный момент: (DHT disabled, насчет private=1 точно сейчас не скажу)
                                                                Есть трекер, на нем есть например 2 раздачи
                                                                пользователь скачал первую — получил список пиров… качает
                                                                трекер падает
                                                                пользователь качает вторую раздачу
                                                                от трекера получает постоянно timed out, при этом для раздачи 2 начинает подтягивать пиров из раздачи 1 у которых есть раздача 2
                                                                • 0
                                                                  нет, если стоит private то через PEX, по кр. мере уТоррент, обменивается только своими адресами. IPv4 и IPv6. мы столкнулись с этим когда пытались как одну из мер приватности и скрытия адресов пользователей дать возможность передавать через трекер только IPv6. к сожалению, другие клиенты v4 адрес тоже узнавали. возможно другие клиенты так не делают, надо будет попробовать со временем.

                                                                  я к тому что адреса других пиров через PEX точно не передаются если флаг private стоит. посмотри, на загладке Peers буковка X — у меня стоит только на паре IPv6 адресов.

                                                                  по поводу обмена «какие ещё раздачи я качаю», хм… это же не безопасно? в смысле если враг ко мне подключился, он узнает какие ещё торренты я качаю? хм… не знал. вообще PEX — это обмен адресами других пиров на той же самой раздаче, а не других моих раздач…

                                                                  а там точно ретрекеров не было или ещё чего? как-то не верится, надо будет доки почитать…
                                                                  • 0
                                                                    ретрекеров — точно не было, если интересно в аську или ЛС кину больше подробностей о трекере и т.д.

                                                                    Мне почему-то кажется более вероятным вариант, что utorrent запрашивает у клиента раздачу по хешу, а не клиент отдает список своих раздач

                                                                    Уточни, что ты имеешь ввиду под «обменивается только своими адресами», из контекста не совсем понятно…
                                                      • +1
                                                        проблема известная — но пока по какой-то причине не решаемая со стороны разработчиков… присоединяюсь к автору +1
                                                        • –2
                                                          А кто сказал, что эти поля используються при хешировании.
                                                          Насколько мне известно методы hash() и equals() перекрываются на раз в Java.
                                                          • 0
                                                            бот, что ли? какая еще Java?
                                                            • 0
                                                              Сами вы — бот.

                                                              Какая есть Java, я думаю, вы и сами сможете найти.
                                                              А причем тут Java — читаем ru.wikipedia.org/wiki/Azureus.
                                                              • 0
                                                                какая связь между хешем от торрент-раздачи и хешем от объекта в джаве?
                                                                • 0
                                                                  Автор топика нашел в torrent файле сформированном программой Azureus «лишние поля», которые как он предположил могут влиять на хеш.
                                                                  (т.к. хэш явно будет другим только от того, что появились эти поля).

                                                                  Я же в свою очередь предположил, что далеко не факт, что все поля указанные в торрент-фалей будут влиять на подсчет его хэша и в качестве примера привел один из самых простых способов реализации этого, используя технологии на которых написан Azureus.

                                                                  Ещё вопросы?
                                                                  • 0
                                                                    На подсчет хэша влияет все, что находится внутри секции info, потому и называется info_hash. Эти новые поля как раз в эту секцию входят, так что хэш меняется с вероятностью в 100%.
                                                                    • 0
                                                                      если только чудом при создании хэша не будет создаваться временная ветка info куда попадают нужны нам поля (считай по стандарту) и от нее уже брать кэш.
                                                                      • 0
                                                                        и тогда толку от такого торрента? он уже будет невалидным
                                                                        • 0
                                                                          Обоснуйте…
                                                                          • +1
                                                                            А то что вы хотите поставить один info_hash, а внутрь поставить другое info — Это-же абсурд, все равно что подписать мега-крутой exe подписью, а затем эту подпись поставить на другой exe.
                                                                            • 0
                                                                              Ээ я не это предлагаю. Я предлагаю брать хэш только от нужных полей. пример с ехе бред какойто :)
                                                                              • 0
                                                                                А вот тут прикол — брать хеш от одних полей, а внутрь совать другие — тогда хеш других не совпадет и клиент откажется качать.
                                                          • –3
                                                            А кто сказал, что эти поля используються при хешировании?
                                                            Насколько мне известно методы hash() и equals() перекрываются на раз в Java.
                                                            • +5
                                                              один коммент — хорошо, а два — еще лучше!
                                                              :)
                                                            • +1
                                                              А можно вопрос не по теме? Какой программой вы так красиво info-секцию развернули? Заранее спасибо :)
                                                              • +5
                                                                TorrentSpy (в убунте под вайном)))
                                                              • –2
                                                                Я может не очень разбираюсь в таких тонкостях битторрент процесса, но если посмотреть масштабнее, то именно то что один и тот же контент раздается под разным так сказать соусом (битторрент файлами), позволяет безконтрольно раздавать их, а если представить, к пример, есть iso-образ игры который раздается везде с помощью одного торрент файла, тогда правообладатель без проблем прикроет лавку.
                                                                Поправьте меня если я не прав.
                                                              • +1
                                                                описанное не баг, а фича.

                                                                треккеры врятли заинтересованны в большом распространении контента вне самого треккера. ну вы поняли, да?
                                                                • 0
                                                                  закрытые — да. открытые — нет, наоборот они заинтересованы в как можно более широком распространении. чем больше пиров — тем лучше. для этого все DHT, PEX и придумывались, вслед за ними и magnet-ссылки.

                                                                  вообще по поводу того что написано в посте, не помню с год назад или два создатели трекера ThePirateBay задумывали создание нового протокола, который будет лучше защищен от копирастов, и кроме этого там предлагалось кроме хэша инфо-блока добавлять хэши каждого файла, так чтобы если в двух разных торрентах раздавался один и тот же файл, его можно было «объединить» между ними
                                                                • +1
                                                                  У меня довольно шустрый инет, поэтому постоянно что-то раздаётся, не потому что я вынужден, а потому что не жалко и для меня ненапряжно.
                                                                  Мне вообще кажется, что закрытые трекеры с рейтингами — это вынужденная мера, чтобы вынудить пользователей с медленным и недешёвым инетом оставаться на раздаче и поддерживать тем самым файлообмен. Ну а для коммерческих трекеров ещё выгодно приватизировать трекеры и замыкать пользователей на себя (чтобы стричь деньги с показов рекламы посетителям).
                                                                  Но с развитием инфраструктуры и увеличением скорости инета у широкого круга пользователей (в частности в российской глубинке), я думаю, что мы постепенно вовсе уйдём от рейтинговой системы и приватных торрентов. В той же Европе уже сейчас больше пользуются открытыми трекерами вроде openbittorrent.com и publicbt.com (а ранее thepiratebay.org).

                                                                  И мне идеология открытых трекеров нравится куда больше. Вот, например, сейчас кто-то не может из-за низкого рейтинга скачать что-то через трекер torrents.ru. А у меня на том же трекере терабайты раздач и рейтинг больше 10. Мне он такой нафиг не нужен, а кому-то не хватает. А на открытом трекере без рейтингов любой юзер сможет скачать, и мне не жалко с ним поделиться даже без отдачи с его стороны, и там я могу себе это позволить.
                                                                  • 0
                                                                    Ну а прочие вопросы с унификацией хэшируемой информации, конечно, тоже нужно как-то решать.
                                                                    • –1
                                                                      рейтинги стимулируют пользователей отдавать еще и тем аспектом, что рейтингом можно померяться :)
                                                                      • +1
                                                                        В пользу открытости. Когда я качаю с открытых трекеров, скачанный материал раздаётся с меня многократно (в 5-10 раз больше, бывает) — даже при непопулярном/странном контенте. В то же время на торрнет.ру еле свожу концы с концами.
                                                                        • 0
                                                                          это известный феномен, что чем быстрее с трекера скачивается, тем тяжелее там раздаётся
                                                                          • 0
                                                                            В моём случае скорость на торрентс.ру скорее меньше была.
                                                                      • 0
                                                                        А если Azeurus или uTorrent поменяет алгоритм создания новых хэшей в клиенте — это может вызвать проблемы с уже существующими торрентами у людей?
                                                                        • 0
                                                                          Нет, никаких проблем ни у кого быть не должно. Просто все новые торренты будут с одинаковыми хэшами, если были созданы от идентичных файлов, и, соответственно, будут более живучи для DHT и мультитрекинга.
                                                                        • +1
                                                                          Кстати, мне может кто-нибудь объяснить одну вещь? Я разбирался в разнице работы протоколов ed2k, gnutella и torrent, но так и не смог понять — почему торренты качаются НАСТОЛЬКО быстрее? Каждый из алгоритмов был продуман умными людьми и оптимизирован (в течение нескольких лет, Gnutella, скажем вообще однажды полностью поменяла алгоритм поиска). Почему в torrente не нужно по полчаса ждать своей очереди, практически независимо от твоей скорости и рейтинга. Да, в torrente мы раздаем только то, что сами выберем в списке, а в других файлообменных сетях мы расшариваем целые папки. Но не верю я, что дело в только в количестве раздаваемых файлов на каждого пользователя.
                                                                          • 0
                                                                            Есть большая разница между bittorrent и gnutella. gnutella — децентрализованная. а децентрализация всегда дается «не бесплатно». Зато gnutella будет работать даже если трекер в bittorrent'е «ляжет». Причем будет работать и скачивание и даже поиск новых фильмов. Централизованные системы всегда проще и эффективнее, но имеют Single Point of Failure.
                                                                            • 0
                                                                              в старых п2п системах чтобы начать раздавать надо было скачать весь файл, или всю пачку, весь релиз — целиком. ибо чтобы проверить целостность там была только хэш-сумма всего большого файла.

                                                                              в торренте большой файл делится в среднем на тысячу мелких кусочков, в торрент-файле хранится хэш сумма каждого такого куска. в этом отличие — что нужен довольно большой торрент-файл с метаданными, а не крохотная ссылка.

                                                                              в результате как только кто-то скачал один из крохотных кусков — он тут же может начинать раздавать этот кусок остальным. и получаешься дашь-на-дашь, я скачал один кусок, и обмениваюсь уже не только с главным источником, но и всеми остальными качающими
                                                                              • 0
                                                                                нет, в ed2k то же самое

                                                                                просто в торренте вся раздача полностью контролируется трекером

                                                                            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.