Зробимо бітторент краще

Останнім часом серед користувачів файлообмінних мереж дедалі частіше звучать заклики до переходу у підпростір: анонімні мережі типу i2p tor тощо.

Безперечно, у цієї ідеї є маса позитивних сторін, однак, по суті, це означає зламати усталені системи обміну трафіком, деякі з яких формувалися понад 10 років і почати будувати по-новому, нехай з урахуванням старих помилок, але й постаравшись не наробити нових. На даний момент мережа бітторент - це десятки, а напевно навіть сотні мільйонів усталених зв'язків "розірвавши" які вкрай складно буде відновити все в повному обсязі.

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

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

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

Однак бітторент вже має вирішення цих проблем, які ефективно працюють. Це DHT і peer-exchange як замінники трекерів, і операції з хеш-сумами як замінники торрент- і магнет-посилань

Про DHT і PE я нижче зупинюся трохи докладніше, а поки що поговоримо про хеш суми. Насправді це основна і необхідна складова магнет-посилання і її необхідно і практично завжди достатньо для отримання роздачі, що описується їй.

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

З погляду вашого клієнта - йому майже не має значення, торрент ви йому підсунули, або магнет-посилання або хеш - суму. "Майже" - в тому випадку якщо він володіє початковою хмарою бенкетів, яка дозволить йому опитати їх на наявність відповідного хеш-сумі контенту.

З цього випливає простий висновок – чим більше ви качаєте/роздаєте – тим більше ваша хмара бенкетів, і тим швидше ваш клієнт зможе по хеш сумі знайти ті бенкети, які віддадуть вам її вміст. Тож багато роздач у клієнті – це не лише приємно, а ще й корисно.

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

Ну і як модифікація технології — алгоритм, що дозволяє робити довільну кількість цифрових “аліасів” хешу. .

Останнє в цьому пункті – все вищенаписане повністю сумісне з тією технологією, що ми маємо зараз, і є її розширенням або, вірніше, логічним продовженням.

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

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

Але все ж таки головна причина втрати інформації в пірингових мережах - самі користувачі ... Вони просто йдуть з роздач, і роздачі таким "вмирають" (або видаляються з файлообмінників за непотрібністю). Якщо ви скачали торрент, а на роздачі немає сидерів, максимум скільки ви прождете - місяць, іноді два. Потім ви припините чекати, отже, роздача померла, і винен тут тільки людський фактор: один з останніх сидерів пролив на ноутбук каву, інший втопив переносний диск в унітазі. А третій одружився, і фільми Ларса Фон Трієра його більше не цікавлять.

Кількість загиблого з цієї причини контенту дуже велика, і значно перевищує всі зусилля копірастів на цій ниві. Можна звичайно сперечатися, що зникла інформація має набагато меншу цінність ніж та яка підтримується користувачами, і тим більше ніж та, яка закривається правовласниками, але суті справи це не змінює, по-перше, тому що поняття "цінності" інформації - відносне, а в друге, вирішивши одного разу проблему “невидалення” ми заодно вирішимо та інші.

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

( Тут я свідомо опущу дискусію про інші наслідки “невидаленості” інформації, оскільки цілком очевидно, що є контент, який не повинен поширюватися по мережі навіть з точки зору The PirateBay. )

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

Не складаючи єдиного цілого, такі блоки даних не матимуть жодної прикладної цінності для того комп'ютера, на якому вони кешуються.

Роздача, що кешується, ніколи не буде завантажена повністю на цьому комп'ютері і користувач ніколи не дізнається що кешував його комп'ютер.

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

В результаті цього, будь-яка роздача крім своїх безпосередніх сидерів-лідерів, ініційованих користувачами, буде побічно завантажена і лунатиме випадковими вузлами, ймовірність її "смерті" зменшиться. Надскладним завданням стане знайти і вичистити її частини з тих місць, де вона закешована, якщо така потреба виникне.

За наявності алгоритму оцінки поширеності того чи іншого контенту в мережі клієнт може кешувати лише рідкісні роздачі, тому що штучна підтримка популярних роздач правило не потрібна. Як тільки "індекс поширеності" роздачі падає - включається механізм самопідтримки, і клієнти кешують її частини. За тим же принципом в кеші будуть заміщатися блоки з популярністю, що зростає, блоками роздачі популярність якої падає.

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

Цю надбудову також нескладно зробити назад сумісною з існуючою технологією, як додаткову функцію в будь-якому бітторенті клієнта ( згодом, бажано, не відключається:)

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

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

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

Тут йдеться не лише про приватні ключі в торрентах, а й правил з “перепакування” релізів для конкретного трекера (зі святом марнославства у вигляді свого файлу *.nfo у роздачі), через який змінюється хеш роздачі, і в результаті з'являється клон по змісту але з відмінною хеш-сумою, що "не сумісний" по бенкетах з джерелом.

Якщо трохи узагальнити, то напевно слід говорити про запровадження такого собі кодексу піратської честі для трекерів, зведення стандартних правил, серед яких буде заборона приватних торентів та ключів, заборона на “заборону DHT” у торрент-файлах, заборона на “пакування” релізів під потреби або правила конкретного трекера чи реліз групи.

Як висновок хочу помітити що незважаючи нагучні заяви, поки не існує технологій для фільтрації бітторент трафіку. Деякі провайдери, використовуючи DPI, вміють тільки обмежувати швидкість або забороняти його повністю.

На відміну від системи блокування сайтів по URL де фільтрація вже йде повним ходом.