Сделаем битторрент лучше

    Последнее время среди пользователей файлообменных сетей все чаще звучат призывы к переходу в подпространство: анонимные сети типа i2p tor и т.п.

    Несомненно, у этой идеи есть масса положительных сторон, однако, по сути это означает сломать устоявшиеся системы обмена трафиком, некоторые из которых формировались более 10 лет и начать строить заново, пусть с учетом старых ошибок, но и постаравшись не наделать новых. На даный момент сеть битторрент – это десятки, а наверное даже сотни миллионов устоявшихся связей, «разорвав» которые крайне сложно будет восстановить всё в полном обьеме.

    Давайте все же посмотрим на нашего старичка, и поразмыслим, настолько ли все плохо, и можно ли исправить те недостатки, которые у него есть.

    1.


    Первая причина, за которую обычно критикуют битторрент – это его централизованность в виде трекера, который, как правило и является уязвимым местом для нападок копирастов, ДДоСеров и властей всех мастей (извините за каламбур).

    Сюда же можно приплюсовать наличие самого торрент-файла, который является инициатором раздачи, и который ответственные лица часто путают с самим содержимым раздачи, со всеми вытекающими отсюда последствиями.

    Однако битторрент уже имеет решения этих проблем, которые эффективно работают. Это DHT и peer-exchange как заменители трекеров, и операции с хеш-суммами — как заменители торрент- и магнет- ссылок.

    Про DHT и PE я ниже остановлюсь чуть подробнее, а пока поговорим об хеш суммах.

    На самом деле это основная и необходимая составляющая магнет -ссылки и её необходимо и практически всегда достаточно для получения описываемой ей раздачи.

    • Хеш – это не торрент и не магнет файл, его не надо скачивать и сохранять на диск, его гораздо проще опубликовать в открытом виде, он не является ссылкой, его очень сложно подогнать под определение «технического средства, способствующего распространению данных», как это прописано в последнем законе РФ «о блокировках».


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

    С точки зрения вашего клиента – ему почти без разницы, торрент вы ему подсунули, или магнет-ссылку или хеш — сумму. «Почти» — в том случае если, он обладает начальным облаком пиров, которое позволит ему опросить их на предмет наличия соответствующего хеш-сумме контента.

    Из этого следуют простой вывод – чем больше вы качаете/раздаете – тем больше ваше облако пиров, и тем быстрее ваш клиент сможет по хеш сумме найти те пиры, которые отдадут вам ее содержимое. Так что много раздач в клиенте – это не только приятно, но еще и полезно.

    И главное:

    • поиск и инициацию раздач по хеш-суммам давно пора встроить во ВСЕ битторрент клиенты. В дополнение к работе с магнет -ссылками, разумеется, которые почему то тоже не везде есть. Понятно, что сделать из хеш-суммы магнет ссылку – одно движение в текстовом редакторе, но все же для рядового пользователя и это может оказаться сложным.

      Броузеры могут (на самом деле – должны! ) научится распознавать хеш-суммы, подсвечивать их наподобие ссылок, открывая их по клику в битторрент клиенте.


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

    Кроме того, хеш-суммы легко переводятся в QR-коды (как вариант — штрих-коды), что открывает новые возможности для наружной и баннерной рекламы, а также для оснащения каждого полицейского считывателем QR-кода, подключенного к интернету.

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

    2.


    Вторая беда файлообменных систем, да и вообще всего интернета – это проблема сохранности данных участвующих в файлообмене. Файлообменник может закрыть ФБР или Роскомнадзор, данные при этом безвозвратно изчезнут, с трекером может случится тоже самое, но данные при этом останутся, хотя и разрушатся облака раздач (развеятся, облака же!), а их восстановление если и произойдет, то с большими потерями.

    Есть еще один способ борьбы с файлообменом: как следует напугать пользователей. Тогда они как зомби стирают все со своих дисков и делают телевизор погромче.

    Но все же главная причина потери информации в пиринговых сетях – сами пользователи… Они попросту уходят с раздач, и раздачи таким образом «умирают» (либо удаляются с файлообменников за ненужностью). Если вы скачали торрент, а на раздаче нет сидеров, максимум сколько вы прождете – месяц, иногда два. Потом вы прекратите ждать, значит раздача умерла, и виноват здесь только человеческий фактор: один из последних сидеров пролил на ноутбук кофе, другой утопил переносной диск в унитазе. А третий женился, и фильмы Ларса Фон Триера его больше не интересуют.

    Количество погибшего по этой причине контента очень велико, и значительно превышает все усилия копирастов на этом поприще. Можно конечно спорить, что пропавшая информация имеет гораздо меньшую ценность, чем которая поддерживается пользователями, и уж тем более чем та, которая закрывается правообладателями, но сути дела это не меняет. Во-первых, потому что понятие «ценности» информации – относительное, а во вторых, решив однажды проблему «неудаляемости» мы заодно решим и другие.

    • Мы можем прийти к ситуации, когда любая информация выложенная в p2p-сеть, останется в ней навсегда. Возможно она будет иметь ограниченную доступность в виде малого количества источников, ввиду малой востребованости, тем не менее, она будет доступна и удалить её из сети не будет никакой возможности…


    (Здесь я сознательно опущу дискуссию об иных последствиях «неудаляемости» информации, поскольку совершенно очевидно, что есть контент, который не должен распространятся по сети — даже с точки зрения The PirateBay).

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

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

    Кешируемая раздача никогда не будет скачана целиком на этом комьютере и пользователь никогда не узнает, что кешировал его компьютер.

    При текущей скорости доступа в интернет и стоимости дискового пространства нет никаких неудобств пожертвовать несколькими гигабайтами на винте и несколькими процентами ширины канала в интернет, тем более что windows update делает это без спроса.

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

    При наличии алгоритма оценки распространенности того или иного контента в сети клиент может кешировать только редкие раздачи, потому что искусственная поддержка популярных раздач правило не требуется. Как только «индекс распространенности» раздачи падает – включается механизм самоподержки, и клиенты кешируют ее части. По тому же принципу в кеше будут замещаться блоки с растущей популярностью, блоками раздачи популярность которой падает.

    Побочным эффектом сего нововведения будет и дополнительная защита релизеров – сделав раздачу, можно будет дождаться, пока она разойдется по облаку пиров, перед тем как публиковать хеш–сумму в людном месте. Установить первоисточник релиза после этого практически нереально (последователи Ассанжа и Сноудена наверняка оценят).

    Эту надстройку также несложно сделать обратно совместимой с существующей технологией, как дополнительную функцию в любом битторрент клиенте (желательно, не отключаемую)

    3.


    Если мы хотим децентрализовать и, таким образом, защитить сеть – нам нужно от трекеров переходить к сетям DHT и Peer-Exchange как основному способу обмена пирами среди битторрент-клиентов, используя трекеры только для инициализации раздач, а возможно и просто для выдачи начального списка пиров DHT сети, безотносительно конкретной раздачи.

    Это казалось бы очевидное умозаключение, однако, многие трекеры в лице своих администраций действуют ровно наоборот — искусственоо сужая и ограничивая облака своих пиров!

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

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

    Здесь речь идет не только о приватных ключах в торрентах, но и правил по «перепаковке» релизов для конкретного трекера (с праздником тщеславия в виде своего файла *.nfo в раздаче), из за которого меняется хеш раздачи, и в результате появляется клон по содержанию, но с отличной хеш-суммой, который «не совместим» по пирам со источником.

    Вашему битторрент клиенту ничуть не приятнее качать с IP-адресов, зарегистрированных на вашем трекере, чем с любых других, полученных по DHT. Ему абсолютно все равно! Дайте свободу в интернете хотя бы роботам!

    Если немного обобщить, то, наверное, следует говорить о введении эдакого кодекса пиратской чести для трекеров, свода стандартных правил, среди которых будет запрет приватных торрентов и ключей, запрет на “запрет DHT” в торрент-файлах, запрет на «перепаковку» релизов под нужды или правила конкретного трекера или релиз группы.

    • Мы (операторы трекеров в данном случае) должны стремится к тому, чтобы раздача одного и того же контента на разных трекерах имела одинаковый хеш, а следовательно — общее облако пиров. Тогда «живучесть» такой раздачи будет расти пропорционально тому количеству трекеров, где она опубликована, а сами трекеры от этого только выиграют.





    В качестве заключения хочу заметить, что, несмотря на громкие заявления, пока не существует технологий для фильтрации битторрент трафика. Некоторые провайдеры, используя DPI, умеют только ограничивать скорость или запрещать его целиком. В отличии от системы по блокировке сайтов по URL, где фильтрация уже идет полным ходом.
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 74

      0
      «Броузеры могут (на самом деле – должны! ) научится распознавать хеш-суммы» — как вы себе это представляете? C2E0F1FF202D20E4F3F0E0EA203A2D29 — хэш-сумма или нет? По каким признакам?
      «Не составляя единого целого, такие блоки данных не будут иметь никакой прикладной ценности для того компьютера на котором они кешируются. » — странное утверждение. Не может ли быть такого, что в случайный блок полностью попадет некий очень небольшой, но очень ценный для копирастов файл?
        +4
        Подозреваю, что все проблемы можно решить простым объявлением протокола
        md5:ba12a843504421d3b137fa7e766f4b01
        В такой форме таки много где записано и так.
          0
          Да, что то типа этого я и имел ввиду. При этом сам битторрент клиент должен понимать и просто хеш-сумму. К сожалению это пока мало где реализовано.
            +3
            В браузерах нельзя это подсвечивать. Иначе юристы станут трактовать это как ссылку, со всеми вытекающими последствиями.
          +1
          Можно использовать что-то вроде torr://C2E0F1FF202D20E4F3F0E0EA203A2D29 для однозначной идентификации в рамках устоявшихся интернет стандартов.
            0
            Фильтровать по содержимому страницы станет значительно проще… и отслеживать выкладывающих :-)
              +16
              Зачем? Есть же magnet.
                –1
                Magnet использует трекер. Здесь же только хеш.
              +13
              А можно даже велосипеды не изобретать, есть Magnet URI.
                –2
                Мне вот, например, нужно открывать magnet не в торрент-клиенте, а в dc++-клиенте.
                  0
                  Эта проблема решаема. FlylinkDC++, к примеру, умеет обрабатывать magnet ссылки и если они не для DC++ то передавать их в торрент клиент, подробнее в справке к программе.
                +3
                Насчёт законности хешей:
                Незаконное число. Википедия.
                  +1
                  Юрист от бога придумал. Придумываю такие вещи, будто для людей на других планетах.
                +9
                В Европах и США уже давно научились отлавливать людей, раздающих контент через DHT.
                Ведь в этом правда ничего сложного нет: есть у нас какая-либо база популярного «пиратского» контента в виде инфохешей. Мы отправляем в DHT запрос на поиск инфохеша и… вуаля: у нас есть целый список IP-адресов сидов. Затем в дело вступает административный ресурс.

                Если хотите подробнее почитать про BitTorrent DHT обратитесь к BEP-0005. С PEX дела обстоят абсолютно аналогично.

                Решение этой проблемы кроется как раз в Mixnet-сетях, типа I2P и Tor, ведь там нельзя провести однозначное соответствие между Node ID и конкретной личностью/организацией, следовательно административный ресурс применить не получится.

                (Пока еще) законодательство не запрещает считать хеш-суммы и публиковать их в интернете
                А насчёт этого читаем тот самый 187-ФЗ, против которого мы все безуспешно пытались проголосовать через РОИ
                Статья 15.2. Порядок ограничения доступа к информации, распространяемой с нарушением исключительных прав на фильмы, в том числе кинофильмы, телефильмы

                (введена Федеральным законом от 02.07.2013 N 187-ФЗ)

                1. Правообладатель в случае обнаружения в информационно-телекоммуникационных сетях, в том числе в сети «Интернет», фильмов, в том числе кинофильмов, телефильмов, или информации, необходимой для их получения с использованием информационно-телекоммуникационных сетей, которые распространяются без его разрешения или иного законного основания, вправе обратиться в федеральный орган исполнительной власти, осуществляющий функции по контролю и надзору в сфере средств массовой информации, массовых коммуникаций, информационных технологий и связи, с заявлением о принятии мер по ограничению доступа к информационным ресурсам, распространяющим такие фильмы или информацию, на основании вступившего в силу судебного акта. Форма указанного заявления утверждается федеральным органом исполнительной власти, осуществляющим функции по контролю и надзору в сфере средств массовой информации, массовых коммуникаций, информационных технологий и связи.
                  –1
                  Так хеш-сумма — не однозначно
                  информации, необходимой для их получения
                  . Вот ссылка — да, а хеш — такая же информация для получения, как и название фильма. Как и размер файла, его имя и кодек — это описание файла скорее, а не ссылка на него.
                    +5
                    В файлообменных p2p-сетях хеш = ссылка. Ведь это фундаментальное свойство криптографической хеш-суммы: трудоёмкость нахождения коллизий. Таким образом, хеш-сумма однозначно идентифицирует файл.
                    +5
                    Давайте не будем путать две разные вещи: устойчивость файлообменной сети с безопасностью каждого конкретного пользователя.

                    В данном случае речь шла именно о первом случае

                    А что касается федерального закона. Юридически еще нужно доказать что хешь является «информацией необходимой для получения».

                    Боюсь это будет не так просто т.к. 1) хеш не содержит прямых ссылок на источник информации. 2) не описывает ее в явном виде. 3) сам факт публикации его еще не говорит о том что гдето в сети есть информация которую он описывает.

                    Таким образом это опубликованный в сети хеш, это примерно тоже что и «эй, качни прошлогоднее кинцо где брюс виллис спасает землю от астероида». Это вполне можно подвести под «информацию необходимую для получения».

                    Впрочем я не удивлюсь что эа это тоже введут ответственность…
                      0
                      > Впрочем я не удивлюсь что за это тоже введут ответственность

                      А почему бы на такой случай не придумать что-нибудь вроде DNS для этих хешей? Если при этом использовать человеко-читаемый формат, похожий на привычное описание информационного ресурса, запрет такого формата окажется уже за гранью здравого смысла.
                        0
                        Ну а чем тогда такой ДНС будет отличаться от трекера в плане централизованности? Точнее, отличаться может, но в худшую сторону.
                          0
                          Ээ… тем, что он распределенный?
                            0
                            Ага, я не туда глянул, прошу прощения. Вот только, какие могут быть человекопонятные имена у хешей, мне все равно решительно непонятно.
                              +2
                              По прочтению этой статьи у меня возникла идея, что неплохо бы хеш ассоциировать с ключевой фразой, и поддерживать связь распределённым голосованием.

                              Тогда по запросу «Трансформеры» результаты ранжировались бы от самого лучшего качества, за которое больше всего проголосовало, к худшему. Правообладатель наверное хотел бы, чтобы по этому запросу скачивался трейлер, но поскольку мало бы за него голосовало, он бы внизу болтался.

                              Но я не нашёл, как защитить систему от накруток, поэтому не опубликовал идею. Вообще, мне кажется, сейчас p2p-сообщество столкнулось с непреодолимой стеной. По аналогии с CAP-теоремой нужно сформулировать аналогичную для контента: Анонимность, Доступность, Верифицированность — выбери любые два.
                                0
                                Зачем качество определять голосованием? Его можно и программно определить (я не про просто битрейт или разрешение, разумеется). Другое дело, что смысла в этой системе немного.Это обычный поисковик по хешам, а не аналог ДНС получается.
                                  +1
                                  Програмно качество релиза определить невозможно, т.к. это субъективный параметр.
                                  Один релизер добавил субтитры, другой — русскую дорожку. А релиза, где есть и то, и другое — нет.
                                  Выбрать лучший вариант невозможно.

                                  Аналог DNS подразумевает однозначность? Не более одного (или 5) привязок к поисковому запросу.
                                  А что делать, если появился более качественный вариант того же контента, а место в днс уже занято?
                                    0
                                    Если делать совсем по уму, тогда уже надо оставлять только видео в самом лучшем качестве и совместимое в качестве похуже. И все звуковые дорожки сводить так, чтобы были совместимы с этим видео.

                                    А то, этот «один добавил то, другой это» ведут просто к большой мусорке.

                                    ДНС не нужен. Изначально бредовая идея. Хеш есть хеш, он идентифицирует содержимое. А метаинформация это метаинформация. Она живет отдельно в виде сервиса, который умеет не только по названию искать, но и по множеству других аттрибутов (год выпуска, актеры, жанры, похожие видео).

                                    Тогда этим будет удобно пользоваться. А вы описываете какого-то Осла конца 90х, начала 2000х. Когда поиск по файлам выводит кучу всего и непонятно потом, что с этим всем делать. Осел потому и умер, что поиска по названию среди кучи хлама недостаточно. Торренты объединяли с форумами и это давало гораздо более структурированный сервис.
                                      0
                                      Эммм, позвольте Вас поправить. Было оно объединено с форумами, ньюс-группами и эхами; а умерло, как и напстер, в основном из-за целенаправленной атаки именно на осла. Собственно, мало кто встроенным поиском пользовался, разве что целью было неожиданный прон с неожиданным именем файла наковырять; полезные магнет ed2k-ссылки искались и публиковались на форумах типа шарареактора https://en.wikipedia.org/wiki/ShareReactor
                                0
                                Человекопонятные имена не у хешей, а у идентификаторов информационного ресурса. Грубо говоря, я имел в виду обычное описание типа: «Режиссер: Стивен Спилберг; Название: Парк Юрского периода; Длительность, Качество и т.д.» — но формализованное для облегчения машинной обработки.

                                Неоднозначность тоже можно допустить. Да, при этом DNS приобретает отдельные черты поисковика, но это не страшно и не означает, что «скрипач не нужен». Моё предложение решает другую задачу, нежели поисковик, а именно: идентификацию ресурса без использования «запрещенных чисел».
                                  0
                                  Делайте, но мне кажется, это не приживется.
                                    +1
                                    Тут вопрос, как оно будет модерироваться и наполняться, чтобы не было фейков.
                          +1
                          Да, Кинозал, например, убрал ссылки на те торренты, на которые наехали копирасты через Роскомнадзор и Мосгорсуд, но оставил хеш и вполне себе отлично функционирует.
                          +1
                          Как раз распределенным решениям плевать, через что выполнять обмен данными: через тор, i2p, cjdns или через несколько сетей сразу, являясь еще и одним из точек связи этих трех сеток. Проблемы возникают как раз с централизованными сервисами. Я как раз это описал у себя в дневничке.

                          foxcool.ru/2014/08/web-%D0%BA%D0%B0%D0%BA-%D0%BF%D1%80%D0%B5%D0%B3%D1%80%D0%B0%D0%B4%D0%B0-%D0%BD%D0%B0-%D0%BF%D1%83%D1%82%D0%B8-%D0%B2-%D1%80%D0%B0%D1%81%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%8B/

                          Там я повествую о том, что как раз распределенные решения менее привязаны к типу сети, по которой есть связь: криптовалюте типа NVC LTC NTC по большому счету можно и через CJDNS работать, т.к. в них есть поддрежка соединений по IPv6 которая используется на сетевом уровне.

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


                            Я думал, может вы объясните — у вас же долгое время DHT был запрещён…
                              0
                              Закрытые трекеры в большинстве случаев отличаются тем, что у них отслеживается и контролируется качество описания и содержимого раздачи. Закрытость в этом плане необходима для контроля за качеством. В общем облаке торрент ресурсы являются огромной помойкой в которой хрен разберешься без нормального каталогизатора. Имхо, в «полностью децентрализованные торренты» необходимо придумаывать и встраивать какой-то механизм каталогизирования и, возможно, рейтингов, рангов, кармы и тд и тп. Вобщем должен быть какой-то саморегулирующийся механизм.
                                0
                                Я как раз на этом и заострил внимание. Трекер — это не форум, и не стоит их путать.

                                Сам форум может быть сколь угодно закрыт и забюрократизирован проверками и правилами оформления раздач, а вот трекер просто обязан быть открытым. Кстати полным полно открытых трекеров, «при которых» вообще нет форума или какого либо движка со списком раздачь.

                                Такие трекеры поддерживают обмен вообще любых торрентов.
                                +6
                                По молодости все ошибаются…
                                  +1
                                  DHT в то время часто отключали(помечали торренты «private» битом на upload'е), чтобы траффик не уходил «налево», тогда, например, проще отлавиливать читеров, да и прирост постетителей выше.
                                  В итоге кажмоу конкретному сайту отключать DHT/PEX/LPD выгодно, но в общем файлообменной сети это вредит.
                                  +4
                                  А что будет, если кто-то будет спамить терабайтами случайных данных в «неудаляемую» сеть? Что будет, если таки место выделенное на компьютерах пользователей по всей сети уменьшиться?

                                  Тут уж или что-то а-ля биткоин, то есть для размещения нужен proof of work и тогда будет не удаляемая, но закрытая сеть. То есть загрузить что-то в сеть могут только избранные майнеры. Либо какая-то структура типа tor hidden services, но тут возникает вопрос «а судьи кто», кто будет следить за раздачами.
                                    +2
                                    Проблема верефикации контента — она актуальна и сейчас. На открытых немодерируемых трекерах типа ТПБ огромное количество раздач как минимум не соответсвующих описанию, а как максимум — зараженных вредоносным ПО.

                                    Естественно надо каким то образом маркировать тот контент которому можно доверять. На данный момент таким «маркером» служит репутация сайта с которого он берется. Но само собой это не панацея.
                                      0
                                      А как в распределенной системе это будет работать? Весь смысл распределенных систем, что не надо никому доверять.
                                        +2
                                        А это вообще отдельная, больная тема. И касается она не только распределенных систем, а вполне себе централизованных, где вовсю орудуют армии ботов, которые «подтвердят» все что угодно.

                                        Возможно эту нишу как раз и займут трекеры, привратившись в своеобразные «центры верификации». К раздаче можно прицеплять специальный ключ, подписанный одним из таких центров, который будет свидетельствовать о том что содержимое соответствует описанию. А дальше ваше дело, доверяете ли вы ему или нет.
                                      +1
                                      А что если количество «расшареных» байт места помноженых на кол-во отданных байт можно принять за валюту? Тогда на неё можно будет «покупать» место и канал на других компьютерах сети.

                                      Тут возникает проблема, что самыми богатыми будут люди с кучей места заполненым популярным контентом, но тут можно что-то придумать с приоретизацией редкого контента.
                                        0
                                        Что значит «принять за валюту»? Чтобы что-то принять принять за валюту нужен регулятор этой валюты. А это идёт в разрез с децентрализацией. Если говорить о криптовалюте, то, наверное, можно как-то сделать майнинг на хранении и раздачи зашифрованных блоков в обмен на возможность скачать из сети. То есть такой рейтинг, который заложен в протокол и который невозможно взломать. Но это ещё математически показать надо, что так сделать можно. Пока я такой возможности не вижу, кроме как перешифровывать блоки для каждого юзера, но это какой-то добровольный DRM получается :)
                                          +4
                                          Bitcoin в качестве proof-of-work использует количество правильно про-brute-force'иных бит sha256 хеша. То есть, жжошь CPU — получаешь деньги «из воздуха». Если придумать как делать proof-of-work на основе сремени хранения данных на диске, то можно построить экономическую систему, где новая валюта получаются путём генерации востребованного контента, а существующая получается через/тратится через скачивание/раздачу контента и аренду места/полосы у других участников сети под свои данные (тут можно замутить аукцион). Опять же, как описать всё это математически и защитить цифровыми подписями — отдельный вопрос

                                          Фактически, всё вышеописанное, это ровно то как сейчас работают трекеры, где в качестве валюты используется «ratio» (которое отражает сколько раздач и как долго ты хранишь). Всё централизовано и в качестве регулятора валюты выстурает трекер. Разве, что в торренте нет способа пропросить кого-либо хранить и раздавать твои данные в обмен на свой ratio.
                                          Отдельный вопрос как анонимизировать всё это. В bitcoin вся история транзакций публична, что может сильно усложнить дальнейшую «анонимизацию» пользователей такой bitcoin-style p2p системы.

                                          В общем, дискуссия про то как скрестить p2p и bitcoin вполне потянет докторскую. Тема интересная, да.
                                            0

                                            Не прошло и трёх лет, как ребята придумали как сделать адекватные Proof-of-Storage и Proof-of-Spacetime: https://filecoin.io/filecoin.pdf


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

                                      +4
                                      1. Ссылкой в браузере хеши делать как раз не надо — чтоб копирасты не возбухали.

                                      2. За хранение и раздачу случайных блоков надо выдавать «плюшки» в виде рейтинга или чего-то подобное. Вообще-то такая система распределенного хранилища и сама по себе была бы востребована.

                                      3. Вот если бы торрент-файл можно было бы «надстраивать» слоями, добавляя в него новые файлы (например .nfo или .srt), при этом старые хеши продолжали бы работать… тогда проблема перепаковки решилась бы сама собой.

                                      Кстати, меня уже давно занимает одна мысль. Вот захожу я на торрент-трекер и ищу какой-нибудь фильм, например, «Терминатор-2». Мне поиск вываливает сто раздач, в разном качестве от 480p до 1080p, с разными аудио-дорожками и субтитрами. Но по сути ведь — это один и тот же фильм. (Если не брать режиссерские версии, конечно). Так почему бы не сделать такое хранилище, чтобы все эти варианты были упакованы в одном контейнере? Захотел версию для КПК с 480p — скачал 2Гб. Потом захотел версию 720p для планшета размером 6Гб — те 2Гб уже скачаны, осталось докачать всего 4Гб. Потом захотелось версию 1080p для телевизора весом 30Гб — так 6Гб уже скачаны, осталось докачать только 24Гб.
                                      Может, это будут разные файлы, которые будут пониматься плеером. Или это будет один файл, который скачивающая программа сможет «дописать». Или вообще можно придумать свою файловую систему для хранения таких медиа-файлов. Принцип такой же, как у DTS HD MA — кодирование слоями. Более высокое качество получается добавлением информации к слою, содержащему более низкое качество. Если такой принцип использовать для видео-кодирования и раздавать «слои» отдельно, то возможно, что свалку из 100 раздач одного и того же фильма можно будет значительно сократить.
                                      Если к такому кодированию добавить p2p-распределённую файловую систему с поддержкой таких «слоев», то получится интегрированная система раздачи и хранения медиа-контента.

                                      Я бы такую систему купил установил и отдал несколько Тб дискового пространства.
                                        0
                                        Scalable video codec, svc. В одном файле сразу содержатся несколько разрешений под разный битрейт и размер. Но разделить эти потоки в отдельные файлы невозможно.
                                          0
                                          Да можно в виде отдельных дорожек хранить, это вообще не проблема. Проблема свести эти дорожки из разных источников.
                                            0
                                            Видеопоток с худшим качеством получается путем выбрасывания ненужных пакетов, так что выделить отдельно файлы с худшим качеством в принципе возможно, не знаю есть ли готовые программы для этого.
                                            +1
                                            Сводить файлы выходит очень непросто в автоматическом режиме. Мы уже пару лет работаем над подобной системой (которая могла бы автоматически сводить разное видео без рассинхронизации), пока удается не более 93% контента обработать. Но у нас источник — более-менее хороший контент. А если будет множество порезанных файлов (где вырезали нужное место), то задача еще усложняется.
                                              0
                                              Но тут даже не обязательно речь идёт о том, чтобы сводить разные аудио/видео дорожки. Они могут быть уже синхронизированы но раскиданы по разным файлам. Скажем есть раздача фильма в 720p на русском языке и 1080p на английском, видеоряд один, но если я захочу смотреть в 1080p на русском, то мне придётся качать обе раздачи и самому перепаковывать дорожки в новый файл. Хороша была бы какая-то p2p система, где можно отдельно добавлять разные дорожки и качать только то, что тебе нужно.
                                                +1
                                                Ну если у вас есть 2 файла, один 720p а другой 1080 и нужная звуковая дорожка есть только в первом, то вам в любом случае прийдется их сводить, чтобы получить 1080p с нужной дорожкой. Иначе, у вас будет рассинхрон и смотреть смысла не будет. Под сведением я понимаю не микширование к один файл, а совпадение видео и звука (из обоих файлов убираются те кусочки, которых нет в обоих сразу). В обычном случае, лишние пару кадров на паузе (часто встречается у сериалов, где вырезают рекламу в середине) или заставка релиз-группы запросто создаст существенный рассинхрон.

                                                А p2p тут особо не при чем, сама система сведения от способа доставки не зависит.
                                              +2
                                              1. На самом деле хеш можно встраивать куда угодно, да хоть в JPEG иллюстрацию. На качество картинки это не повлияет, а предьявить претензии будет очень сложно. Про ссылки я уже писал — возбухать можно за все что угодно, но чем дальше копирастия будет удалятся от здравого смысла, тем меньше у нее будет сторонников.

                                              2. Было бы неплохо. Но дело в том что чтобы выдавать «плюшки» надо как то оценивать вклад каждого участника в поддержание раздачи. Оценивать — это значит считатать трафик/время. А это значит что весь трафик должен проходить через какой либо билинговый центр, что малореально.
                                              Оценивать вклад пользователя на основе данных полученных от самого пользователя — неразумно.

                                              3. Тут я полностью согласен. К данным раздачи давно нужно научится прицеплять дополнительную информацию, чтобы не лезть с ней в раздачу меняя хешь сумму. Тут дело за разработчиками стандарта, чтоб внесли соответствующие изменения в протокол.
                                                0
                                                3. Хеш контролирует целостность контента. Прицепили дополнительную информацию — это уже другой контент.
                                                Чтобы не менять хеш, информацию надо цеплять вне контента, например, на страничку форума, а поисковик найдёт страничку по хешу.
                                              +2
                                                –2
                                                А забавно было бы скрестить битторрент и биткойн.

                                                Снял кино, выложил на раздачу и богатеешь тем сильнее, чем больше людей его скачало.
                                                  +2
                                                  Первый скачал и выложил на PirateBay. Всё.
                                                    0
                                                    Я же не зря про биткойн упомянул.
                                                      0
                                                      А что биткоин? Без DRM не будет работать, какая бы форма оплаты не была.
                                                    0
                                                    Хорошая идея для издателей :-)
                                                    +3
                                                    В далёком 2007 году, когда мало кто мог представить, какая цензура будет грозить российскому интернету, мы в NNM-Club обсуждали альтернативы bittorrent'у:
                                                    Share & WinNY: японские p2p

                                                    Что самое интересное все три сети Winny, Share и Perfect Dark родом из японии, где шарить в сети аниме весьма распространённое и довольно опасное занятие.
                                                    Ещё в последнее время сильно набрал популярность Freenet.

                                                    Данные сети частично используют идеи из этого поста, частично из I2P/tor, частично из bittorrent. Но в любом случае все они сильно отличаются от того, что мы на данный момент имеем в мире торрент-трекеров. Думаю преминив некоторое кол-во усилий можно написать «прокси» из bittorrent в анонимные сети (например, freenet) и сделать его плагином к торрент-клиентам, чтобы то, что было скчано/роздано через bittorrent автоматом клалось и туда. Посути такой dual-stack получится (прям как во время перехода с IPv4 на IPv6). Я делал что-то подобное когда использовал Direct Connect и Bittorrent: то что у меня скачивалось rtorrent'ом автоматически шарилось в DC++.
                                                      +1
                                                      Вы в точку. Люди как-то дальше Bittorrent не смотрят, видимо.
                                                      В Perfect Dark реализовано как раз:
                                                      Надо лишь сделать надстройку над обсуждаемым здесь протоколом, позволяющую любому клиенту отдавать часть своего трафика и дискового пространства под кеширование, хранение и распространение случайных блоков случайных раздач.

                                                      Причем, чтобы удалить скаченный файл, его нужно сначала оценить, и оценка уходит в сеть. Минимальный размер расшаренных данных — 40ГБ, меньше нельзя. Плюс такого подхода еще и в том, что в сеть можно «закачивать» файлы.
                                                      Похожие подходы реализованы во Freenet и GNUnet.

                                                      Вообще, хорошо, наверное, что копирайтеры знают только про Bittorrent. Я частенько качаю аниме через IRC DCC, т.к. в torrent сид появлялся 5 лет назад, да и через DCC всяко быстрее качаются старые файлы. Или, вот, недавно фильм скачал в 1080p через Usenet, т.к. его не было нигде, кроме как там (The FP, 2011 года).
                                                      DC++-клиент запущен постоянно, подключен к ~20 хабам, но не особо через него качаю.

                                                      libtorrent, кстати, поддерживает I2P-шные торренты, и в qBitTorrent это реализовано.
                                                        0
                                                        Не подскажете, какими ресурсами пользуетесь для поиска в Usenet?
                                                        Есть какие-нибудь русские форумы по теме? Или в рунете Usenet совсем не популярен?
                                                      +5
                                                      Сериалы бы начали по BTSync раздавать, сразу решили бы 2 проблемы:
                                                      1) Появление новых серий автоматически после выхода, а не идти на форум, смотреть обновилась ли раздача, скачивать торрент файл, натравить его на папку с сериалом, и ждать когда он перехешируется — очень много действий. Да, можно их автоматизировать, но хотелось бы все проще.
                                                      2) Даже если «закрыть раздачу», т.е. убрать ключик, по которому получаешь доступ к папке, то раздача будет и дальше спокойно жить, и что самое главное — обновляться.

                                                      Правда (1) пункт уменьшит количество заходов на сайт торрент-трекера, что скажется на показе рекламы.
                                                        0
                                                        Кстати, про BTSync отличная идея. У него есть API, который позволяет синхронизировать не все файлы, а частично. Можно отдельной утилиткой выдавать уведомления о появлении новой серии и спрашивать, скачать ли.
                                                          0
                                                          Да, наличие изменяемых раздач очень полезная фича. Можно по ней, например, целые трекеры раздавать или сделать распределённый блог для публикации какой-нибудь информации.
                                                            0
                                                            А разве там уже можно создавать read-only раздачи? Иначе что помешает мне, скачав раздачу, удалить всё?
                                                              0
                                                              Да, есть отдельный read-only secret.
                                                              +1
                                                              Проблема в том, что протокол закрытый, Bittorrent Inc. может все, что угодно сделать с BTSync, а совместимой замены то у нас нет.
                                                            –2
                                                            SerialDetector умеет автоматически скачивать новые серии и помечать просиотренные.
                                                              +2
                                                              А я думаю было бы неплохо унифицировать раздачу не только целиком, но и по каждому файлу. Допустим хочу я скачать все сезоны одного сериала одной раздачей, и при этом на трекере есть раздачи каждого сезона отдельно, следовательно если при скачивании всех сезонов автоматом подтянутся пиры с раздач каждого сезона по отдельности, выиграет и пользователь, т.к. быстрее скачает и трекер, т.к. будет +1 к сидам в главной раздаче и в «посезонных».
                                                              Вообщем описал я идею не очень, но смысл, думаю, понятен.
                                                                +1
                                                                Давно хотел спросить: почему Pirate Bay вертит правообладателей на своей «оси» и никогда ничего не удаляет, а рутрекер постоянно чистит раздачи? Разве не для этого он сменил доменное имя чтобы до него не добрались? Я правда не понимаю, объясните в двух словах.
                                                                  +2
                                                                  Всё упирается в надёжность источника разместившего где-то хеш раздачи.
                                                                  Ну как обычный пользователь узнает, что магнет-ссылка соответсвует описанию? Если не будет премодерации и каментов скачавших — это всё равно, что кот в мешке.
                                                                  И почему вы решили, что правообладатели не смогут бороться при необходимости с пиратством ещё сильнее как в законодательном, так и в техническом плане?

                                                                  Следующая проблема — это технический винегрет в торрент-клиентах. Нет единых стандартов, каждый лепит что-то своё.
                                                                  С разработчиками utorrent общение даётся очень тяжело. Ну вроде как реагируют на посты на форуме, даже на вопросы отвечают и емэйл программиста (кстати девушки) дали. но. Но блин, политика компании Bittorrent сейчас направлена во всём не на развитие пиратства, а на извлечение прибыли из каждого пользователя. Почти допиленный до рабочего состояния параметр fl магнет-ссылки в utorrent 3.0 ( в котором можно было указать http ссылку на торрент файл ) — выпилен в сдедующих версиях utorrent. С peer_policy помогло разобраться только огромное желание провайдеров использовать эту опцию для разгрузки внешних каналов от торрент-трафика. Внятных развёрнутых ответов по этой теме от разработчиков utorrent так и не удалось получить. В итоге был только придуман костыль в виде peerpolicy.local/announce.xml, которую должен при желании вставить в свой клиент сам юзер. Веб-сид магнет-ссылки в utorrent получил название ws, а не as. Как пользоваться автоматическим обновлением торрент-файлов в utorrent 3.4.х мы не узнаем наверно никогда…

                                                                  ИМХО, но для сохранения и развития файлообмена (и не только торрентами) определённые усилия и идеи должны предлагать и реализовывать мы сами, а не ждать когда кто-то из разработчиков какого-нибудь p2p клиента что-нибудь сделает за нас.
                                                                  Вообще удивляет, что эту статью создал rutracker, при том что на самом rutracker.org в этом направлении совсем ничего не делается.
                                                                    0
                                                                    Из доступных рядовому юзеру кросс-платформенных open-source'ных torrent-клиентов сейчас есть, как минимум, transmission — при особом желаннии провайдеры/трекеры могут начать продвигать свои BEP'ы и контрибьютить код в апстрим.

                                                                  Only users with full accounts can post comments. Log in, please.