На редите я наткнулся на вопрос: Как комментировать торренты? (how do i comment on torrents?)


Из предложенных решений было только комментировать на сайте где торрент файл был взят. Но это вариант далеко не всегда доступен. Особенно когда это поисковик по типу BtDigg.


На этом вопрос был закрыт и дать другой ответ на него стало не возможно.


Но есть ещё одно простое решение. Это комментировать где угодно просто указывая хеш того что комментируешь и по этому хешу искать комментарии.


Как комментировать


Например на просторах IPFS с помощью сайта поиска ipfs-search.com нашёл анимацию "Big Buck Bunny" а вместе с ней в одной директории лежит целый сборник. И я решил прокомментировать.


Пример комментария:


urn:ipfs:QmNkjHCA1QVmUCibBf2gAC8bj5N1JeD4HCB17cj2wZZtXq

Сборник анимационных короткометражек.

1. Agent-327 Operation Barbershop
2. Big Buck Bunny 
3. Caminandes 1 - Llama Drama
4. Caminandes 2 - Gran Dillama
5. Caminandes 3 - Llamigos

Здесь в первой строке я указал URN который содержит мультихеш директории в которой находится содержимое которое я хочу прокомментировать. А далее следует мой комментарий.


Этот комментарий уже здесь но я также могу его загрузить в IPFS (пример) и он будет доступен поисковикам через публичные шлюзы. Также я могу использовать для его размещения любой сайт который позволяет публиковать текст.


Поиск комментария


Чтобы найти комментарий достаточно в поиске ввести хеш того на что нужен комментарий вместе с кавычками(важно для поиска Яндекса) и поисковик найдёт страницы где упоминается этот хеш.


Пример поискового запроса:


"QmNkjHCA1QVmUCibBf2gAC8bj5N1JeD4HCB17cj2wZZtXq"

Где взять хеш


Где взять хеш файла, торрента или файла в IPFS для которого мы хотим найти комментарии или оставить свой.


  1. Магнит
    Хеш в магните обычно содержится в ключе xt после имени хеша в URN ссылке.


    Пример магнита для торрент клиента:


    magnet:?xt=urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a

    В данном случае хеш это часть: c12fe1c06bba254a9dc9f519b335aa7c1367a88a


    Пример магнита для Direct Connect или Gnutella2 клиента:


    magnet:?&xl=10826029&dn=mediawiki-1.15.1.tar.gz
    &xt=urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY

    А в этом случае сам хеш это часть: 7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY


    Но рекомендую использовать полный URN при комментировании чтобы хеш не выглядел просто бессмысленным набором символов:


    Примеры полных URN:


    urn:btih:c12fe1c06bba254a9dc9f519b335aa7c1367a88a
    urn:tree:tiger:7N5OAMRNGMSSEUE3ORHOKWN4WWIQ5X4EBOOTLJY

  2. Торрент файл
    Для того чтобы получить хеш из торрент файла его надо открыть в торрент клиенте и его хеш будет отображён в информации о торрент файле.
    Хеш выделен в окне загрузки qBittorent


    Пример полного URN:


    urn:btih:b26c81363ac1a236765385a702aec107a49581b5

  3. IPFS ссылка
    В IPFS ссылках хеш(а точнее CID или мультихеш) Следует после части /ipfs/


    Пример полной IPFS ссылки:


    https://gateway.ipfs.io/ipfs/QmNkjHCA1QVmUCibBf2gAC8bj5N1JeD4HCB17cj2wZZtXq

    Пример каноничной IPFS ссылки:


    /ipfs/QmNkjHCA1QVmUCibBf2gAC8bj5N1JeD4HCB17cj2wZZtXq

    В обоих ссылках хеш это часть QmNkjHCA1QVmUCibBf2gAC8bj5N1JeD4HCB17cj2wZZtXq


    Пример полного URN:


    urn:ipfs:QmNkjHCA1QVmUCibBf2gAC8bj5N1JeD4HCB17cj2wZZtXq

  4. Вычислить
    Имея полный файл или директорию мы можем получить их хеш используя программы для вычисления хеш сумм.


    Пример с RHash:


    rhash -p"urn:tree:tiger:%b{TTH}" tortoise.jpg
    urn:tree:tiger:IFKXOWE6IEJCV4RD72AOJFBAV2CRRKM7IX3RUDQ


Заключение


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


Ссылки:


Комментарии (19)


  1. Hodus
    08.10.2021 11:38

    А что насчет времени публикации коммента? Выходит нет никакого реестра и можно указать любое? Нужон блохчейн


    1. Hodus
      08.10.2021 11:46

      Или федеративные регистраторы комментариев. Пусть сами комменты будут децентрализованными, а легальность их времени будет подтверждаться со стороны несколькими регистраторами.

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


      1. ivan386 Автор
        08.10.2021 12:13

        Или каждый новый коммент будет содержать в себе хэш сумму всей ветки обсуждения.

        Скорее хеш предыдущего комментария на который ответ. А тот в свою очередь содержит хеш на предыдущий.

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

        Разные комментарии ответы на один и тот же комментарий создадут свои независимые ветки и если один из них потеряется ветка с другим будет жива.


        1. Hodus
          08.10.2021 12:37
          +1

          Да, точно. Возможно есть смысл указывать 2-5 хэшей предыдущих комментов. Это не сильно увеличит вес всей ветки обсуждения, но добавит ей устойчивости от разрушения при удалении комментов


    1. ivan386 Автор
      08.10.2021 11:55
      +1

      Гугл по крайней мере сейчас показывает время по своему:

      10 часов назад — urn:ipfs:QmNkjHCA1QVmUCibBf2gAC8bj5N1JeD4HCB17cj2wZZtXq Сборник анимационных короткометражек. 1. Agent-327 Operation Barbershop 2.


  1. Javian
    08.10.2021 11:40

    Т.е. этот функционал не предусмотрен ни в одном клиенте? По-моему в свое время в emule можно было комментировать, странно что этот функционал не перешел в торренты.


    1. ivan386 Автор
      08.10.2021 12:00
      +1

      В μTorrent в какой то момент вроде запилили данную функциональность. Но она как быстро появилась так кажись и исчезла. Так я и не успел изучить куда комментарии сохраняются.


      1. Javian
        08.10.2021 12:14

        Вот и мне кажется, что я когда-то видел такую опцию. Значит память не подвела. Интересно почему убрали.


        1. polearnik
          08.10.2021 13:37

          спам и аренда мощностей для обработки и хранения.


          1. ivan386 Автор
            08.10.2021 14:46
            +1

            Ну можно было комментарий хранить на клиенте и анонсить в DHT как и оценки.


        1. OrcBibi
          08.10.2021 20:35
          +2

          В uTorrent мы убрали возможность комментировать торренты несколько лет назад. Причины 2: комментарии почти никем не использовались и большой процент грубых комментариев или откровенного спама. В старых версиях 3.4.2.ххх комментарии присутствуют и все ешё функциональны.


          1. ivan386 Автор
            08.10.2021 20:39

            А можете отрыть спецификацию как работали комментарии? Было ли это реализовано через DHT без централизованного хранения?


            1. Hodus
              08.10.2021 20:48
              +1

              https://torrentfreak.com/where-are-utorrents-comments-and-ratings-stored-110427/

              The messages are sent through the tracker and don’t rely on DHT


              1. ivan386 Автор
                08.10.2021 21:23

                Я думаю это неточность. В той же статье:

                “When peer A joins a swarm, it will send a request for comments to peers that support this message, say peer B. If peer A already has some comments, it passes along a bloom-filter representing the set of all those comments. When peer B responds, it will not send comments that are already present in the bloom filter. This prevents duplicate comments.”

                То есть трекер скорей всего использовался только для входа в рой а дальше комментарии передавались от клиента к клиенту.

                И хранились комментарии локально вместе с раздачей.

                The uTorrent engineer team further explained that comments are stored in the resume file for a torrent, which helps keeping comments alive across sessions. But other than on the computers of uTorrent users, the comments are never shared outside the swarm on a central server.

                Но конечно для полноценной реализации в альтернативных клиентах нужен полноценный BitTorrent Enhancement Proposal.


            1. OrcBibi
              08.10.2021 21:34
              +2

              Мы использовали расширение BitTorrent протокола чтобы присоединить дополнительную информацию. Расширение не было опубликованно как BEP. Работало это так. Юзер оставляет коммент, мы сохраняем его локально. Если кто то пытается скачать торрент и использует наш клиент мы шарим торрент и коммент. Если используется другой клиент, шарим только торрент. Комменты хранились локально у пользователей и DHT не использовалась. Для рейтинга (звездочки) использовали DHT и home made расширение BitTorrent протокола.


              1. ivan386 Автор
                08.10.2021 22:00

                Получается чтобы обмениваться комментариями с клиентами uTorrent надо также претворится uTorrent'ом?


                1. OrcBibi
                  08.10.2021 22:02

                  Да. Но эта фитча отключена довольно давно.


  1. Hodus
    08.10.2021 22:21

    Можно довольно легко создать миллиарды левых сообщений в которых утонет все остальное.

    В федеративных соц-сетях это решается наличием нод (серверов с модерацией) и блэк листами.

    Если система полностью децентрализованная, то вероятно нужен рейтинг пользователей

    upd: какая-то из первых файлообменных сетей вроде так и погибла. Правообладатели задолбавшись бороться, просто наводнили ее мусорными файлами, маскирующимися под реальные. Не помню название.


    1. ivan386 Автор
      09.10.2021 00:37

      Ну в поиске тоже можно фильтровать сайты с которых результаты будут.

      Пример:

      site:habr.com "QmNkjHCA1QVmUCibBf2gAC8bj5N1JeD4HCB17cj2wZZtXq"

      upd: какая-то из первых файлообменных сетей вроде так и погибла.

      Gnutella вроде вся в спаме.

      В Gnutella2 это лечится фильтром, более полными метаданными и фейк поиском.

      Фейк поиск это поиск файла которого заведомо нет в сети и баном всех узлов в которых он был найден.