Неубиваемый P2P-интернет

g3chns-qnkqj1s8lvo3ox5rwdge.jpeg

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

Например, в апреле 2022 года запустилась пиринговая сеть Lantern. Также недавно разработана децентрализованная платформа Locutus для запуска любых P2P-приложений (от создателя легендарной пиринговой сети Freenet). Это далеко не полный список новых пиринговых проектов, созданных в последнее время для помощи людям, испытывающим затруднения в работе интернета.

Пиринговая сеть Lantern


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

5qldvvi7r9i2k-i2mfhooalwsig.png

Однако у Lantern есть ряд важных технических отличий, который выделяют этот инструмент. Самое главное, что он способен функционировать вообще без интернета. Если интернет внезапно пропадёт, все пользователи Lantern останутся в сети, нужно лишь подключиться к ближайшему узлу по WiFi или Bluetooth. Но это в теории на будущее. На практике сейчас P2P-сеть используется в первую очередь как инструмент для «исправления сетевых ошибок» при доступе к интернет-ресурсам.

С помощью собственных и клиентских серверов Lantern создаёт одноранговую пиринговую сеть с распределённой файловой системой IPFS. Например, люди могут относительно анонимно публиковать там файлы. Очень полезно и для резервного копирования, и для раздачи файлов на широкую аудиторию без оплаты трафика.

moqlc5e3ckwpmjbjcv6dyu134wu.png

Людей предупреждают, что файлы хранятся распределённо и децентрализованно: «Если другой пользователь получит к ним доступ, то уже никто не сможет удалить файл из сети (даже при удалении из вашего списка «Мои файлы»)».

4sgiug_njoqrzwimdghn-qxygka.png

После загрузки файл доступен по magnet-ссылке, почти как в привычных торрентах, например:

http://localhost:60086/bbd91d36fcc30ade184cd1c6cde0f2ad/replica/download?link=magnet%3A%3Fxt%3Durn%3Abtih%3A37fc3adcf4286d7941243ef3658228602b1b807f%26dn%3Dlantern-installer.exe%26so%3D0%26xs%3Dreplica%3A37fc3adcf4286d7941243ef3658228602b1b807f


Скачать файл может любой участник пиринговой сети.

Эту ссылку легко распространять где угодно. Например, в виде QR-кода.

Проект оптимизировали для РФ: он использует гео-оптимизированные серверы и проксирует только необходимые сайты (с выходными нодами за границей), в то время как «Госуслуги» открываются напрямую без прокси. То есть исчезает необходимость постоянно включать/выключать приложение.

Lantern — это коммерческая фирма, основанная в 2010 году, которая зарабатывает на продаже аккаунтов Lantern Pro. Реселлерам предлагается покупать аккаунты оптом (от 10 до 100 штук) и продавать в розницу с наценкой 5–32%. Но в России покупать Pro нет особого смысла, потому что на бесплатных аккаунтах ограничение объёма трафика пока отсутствует. Аналогичный подход применялся в Китае — на новом рынке фирма сначала наращивает аудиторию, а затем начинает постепенно вводить оплату.

По информации Vice, владельцы узлов Lantern получают оплату за трафик в «собственной криптовалюте» Yinbi. Судя по статистике Coinmarketcap, монета торгуется только на одной бирже, а суточный оборот колеблется в районе $140 тыс. Интересно, что в прошлогоднем whitepaper основной упор делается на анонимности транзакций, в то время как жёстко критикуется отсутствие такой приватности в других системах. В одной из лучших с точки зрения приватности системе Monero транзакции видны на уровне пакетов в сетевом трафике, IP-адреса серверов зашиты в бинарнике, а многие пользователи не меняют порты по умолчанию.

3bcwo7z_5bwbncmdb8qrmojde2s.jpeg
Трафик Monero на адрес 212.83.172.165, который указан в исполняемом файле клиента

Что касается Bitcoin, то там сообщество ещё не приняло предложение BIP-151 (Peer-to-Peer Communication Encryption) по шифрованию пиринговых коммуникаций. Соответственно, шифрование пиринговых коммуникаций пока не реализовано в Bitcoin Core, и трафик между узлами не шифруется. По этой причине тот же Wireshark легко идентифицирует Bitcoin.

bwacldkq8i_ocngfpav4m39xlue.jpeg
Wireshark идентифицирует трафик Bitcoin

С другой стороны, в сети Lantern применяются специальные методы против DPI, чтобы пакеты никакого приложения нельзя было идентифицировать. Получается слоёный торт:

  1. Одноранговая пиринговая сеть по типу IPFS.
  2. Федеративная сеть доверенных узлов, через которые маршрутизируется трафик в первую очередь (например, их можно импортировать из контактов).
  3. Динамическая сеть прокси.
  4. Pluggable Transports — взаимозаменяемые транспорты для обфускации трафика и защиты от DPI.


unwvwps2byi3dngpwgdohtrsb60.png
Описание технологии с сайта Pluggable Transports

Не совсем понятно, зачем нужна своя монета и почему нельзя использовать существующие 100500 вариантов.

В интервью Vice разработчики поделились некоторой внутренней статистикой. Они сказали, что за последний месяц трафик в России вырос многократно. Если же брать мировую статистику, то за всё время приложение скачали 150 млн раз, а за последний год месячная аудитория выросла примерно с 6 до 7 млн, так что доля именно российских пользователей не такая уж и большая в общей массе.

С 2020 года у проекта есть телеграм-канал на русском.

hpv37xms6qvbl91uhxmpv3gcghq.png


Проект существует уже несколько лет и постоянно развивается. А по мере роста аудитории к интерфейсу стали прикручивать уже новые функции. Если у вас распределённая сеть с огромными ресурсами CPU, RAM и хостинга, то на этой базе можно сделать что угодно. Это как гигантский дата-центр, который с каждым днём всё увеличивается. Или «распределённый компьютер» типа Etherium, если такая аналогия уместна.

Кстати, функцию публикации файлов добавили только в последней, новой версии Lantern. Она пока находится в стадии бета-тестирования.

_zixdcspe45ostybv9fmsvx2pq0.png


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

Freenet и Locutus


Пару недель назад с неожиданным анонсом выступил sanity, создатель сети Freenet (2000 год).

rtherofi8o0mbicydcsi_8izm_s.png
Пиринг образца 2008 года (Freenet v0.8), источник

Похоже, история развивается по спирали. От пиринговых сетей 90-х годов мы ушли в централизованный Веб 2.0, а теперь снова вернулись к истокам.

Новая реинкарнация P2P называется Locutus. Это платформа для работы любых децентрализованных приложений на стандартном технологическом стеке вроде React и Vue.js. Система представлет децентрализованную базу «ключ–значение», использует алгоритм маршрутизации small world из оригинального дизайна Freenet, однако каждый ключ — это криптографический контракт в формате WebAssembly.

Разработка только началась. Первый прототип обещают представить до конца мая 2022 года. В него войдут следующие компоненты:

  • Репутации: можно сохранять полную анонимность, но с годами заработать высокую репутацию. Логика компонента концептуально напоминает плагин Web of Trust из Freenet.
  • Арбитры: доверенные службы, которые могут разрешать споры и подтверждать подлинность операций, например, состояние контракта в определённое время или наличие определённых транзакций во внешних блокчейнах (эфир, солана, биткоин). Доверие достигается с помощью системы репутации.


Примеры приложений, которые можно поднять в сети Locutus:

  • децентрализованная почта (с гейтом на обычную почту через @_freenet.org);
  • децентрализованные микроблоги (аналог Twitter и Facebook);
  • мессенджеры (вместо Whatsapp, Signal);
  • онлайн-магазины (Amazon);
  • форумы (Reddit, HN);
  • видеохостинги (Youtube, TikTok);
  • поиск (Google, Bing)

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

Будущее — за P2P


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

Вышеупомянутый браузер CENO тоже работает в P2P-сети. Там алгоритм следующий: когда сайт запрашивается одним пользователем (узлом), он сохраняется и продолжает распространение по пирингу между всеми пользователями, у которых браузер запущен. Контент доступен всем внутри этой зоны. Подробнее см. в руководстве пользователя.

rwa0tzosamyea4gtsbf9bfhgx2a.png
Вся совокупность операций по извлечению, подписанию, хранению и объявлению называется «инъекцией контента», из руководства eQualitie

Для своих и чужих приложений — серверов Matrix, SMTP-криптомессенджера Delta.chat и браузера CENO — компания подняла восемь коммьюнити-узлов в ключевых городах России. Они поддержат работу системы, если отдельные города отключатся от национальной сети. К такой ситуации уже подготовлены местные администраторы, которые смогут поддерживать эти сервисы. Предполагается, что энтузиасты начнут поднимать собственные серверы по данному образцу. По оценке разработчиков, восьми серверов не хватит даже на коммуникацию 100 тыс. человек, так что остаётся надеяться на граждан, которые развернут у себя контейнеры и поднимут ноды.

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

0fdwb1bqfuhprtnuas1pntf5a4e.png

Теоретически P2P-системы с сотнями тысяч узлов лучше защищены от DPI и других вредоносных способов повреждения трафика, чем привычный Tor с его 5000 выходными нодами.

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

НЛО прилетело и оставило здесь промокод для читателей нашего блога:

— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS.

© Habrahabr.ru