В современном мире все мы привыкли иметь возможность делиться интересными сведениями и материалами с друзьями и прочими людьми. Особенно в этом отношении важен интернет, так как именно глобальная сеть и предоставляет нам кучу возможностей для осуществления такого рода обмена.
Разные типы информации и передавать можно различными способами. К примеру, сегодня весьма популярна пиринговая сеть (P2P), уникальность которой в способности к передаче практически любого объема данных. Но, разумеется, это далеко не единственная сфера, где эта технология действительно востребована. К примеру, именно на ее основе созданы многочисленные кластеры для распределенных вычислений, использующие мощности удаленных компьютеров.
«Этическая» сторона вопроса
Вообще, в последние годы активно «демонизируется» пиринговая сеть. Что это «опасно» с точки зрения получения вирусов и нелицензионного контента, говорят практически во всех СМИ.
Пиринговая тизерная сеть – БЕЛЫЙ СПИСОК #2
Вот только журналисты отчего-то стыдливо умалчивают, что не менее 70% трафика от протокола Р2Р приходятся на абсолютно законопослушных пользователей и даже целые компании, которые просто разгружают свои серверы, вовлекая в обмен данными рядовые компьютеры. Простой пример: уже давно «Метелица», она же компания Blizzard, использует эти сети для обновления клиентов того же «Варкрафта» и прочих своих игр. Не стоит и упоминать, какое количество информации от игроков со всего мира там генерируется!
Но в этой статье пиринговая сеть нами будет рассмотрена именно с позиций приема и передачи файлов, так как рядовым пользователям эта сторона вопроса ближе всего.
Наиболее распространенные программы
Наверняка каждый пользователь хотя бы слышал о некоторых утилитах, посредством которых и осуществляется файловый обмен. У всех на слуху µTorrent и eMule, Shareaza, KaZaA и и другие, которые постоянно упоминаются в связи с передачей той или иной информации в сети интернет. Впрочем, постараемся рассказать о них более упорядочено. Итак, что такое пиринговая сеть? Какова научная расшифровка этого понятия?
Определение
Можно сказать, что сразу после создания компьютеров люди озадачились тем, как можно связывать их в единую систему. Вскоре была придумана технология локальных сетей, активно используемая и по сей день. Но у такого способа связывания компьютеров в единый «организм» есть и свои недостатки. К примеру, в большинстве случаев отдельные машины имеют повышенные привилегии, что допустимо далеко не всегда.
Именно для устранения такой «дискриминации» и была придумана пиринговая сеть, каждый компьютер в которой может не только принимать, но и передавать информацию, работая одновременно в качестве сервера и клиента. Чаще встречается аббревиатура P2P (peer-to-peer), что с английского можно перевести как «от равного к равному». Такие сети еще называют децентрализованными.
Объяснил что такое арбитраж криптовалюты p2p и как на этом заработать.
Основные принципы работы
Каждый участник — пир. Они и объединяются в глобальную систему, внутри которой осуществляется передача какой-либо информации. От стандартной модели, в которой есть сервер и клиент, пиринговые файлообменные сети отличаются своей повышенной живучестью: вне зависимости от количества функционирующих пиров, они сохраняют полную работоспособность. Кроме того, нет явной зависимости от пропускной способности сервера.
Давайте приведем «наглядный» пример передачи небольшого файла в такой сети. Данные передаются небольшими кусками, которые называются пакетами. Каждый файл разбивается на множество таких пакетов, которые и скачиваются пользовательской машиной. Порядок их получения особого значения не имеет.
Отличия от стандартной сети
В случае же обычной сети есть сервер, а есть файл, который оттуда можно скачать. Скорость получения данных будет находиться в прямой зависимости как от пропускной способности сервера, так и от его загруженности в каждый конкретный момент. Проще говоря, при наличии огромного количества пользователей, каждый из которых что-то «тянет» с сервера, скорость отдачи может вообще упасть до нуля.
Если же с сервером и вовсе что-то случится, то вся информация сразу станет вам недоступна. И придется заниматься поисками другого источника, с которого можно будет скачивать данную информацию.
Преимущества пиринговой модели передачи данных
Куда совершеннее работает пиринговая сеть. Что это значит? Во-первых, вам не потребуется искать конкретный сервер, с которого идет передача требующегося файла. Достаточно на специальном сайте отыскать файл или магнет-ссылку, которые указывают на его существование. Скачать его можно будет при помощи специальной программы, о некоторых из которых мы уже говорили выше.
И основное отличие будет в том, что скачивание может идти одновременно с сотен и тысяч однотипных источников.
Неубиваемый P2P-интернет
Из-за трудностей с доступом к некоторым сайтам и сервисам есть смысл оценить инструменты, которые помогают обеспечить подключение. Сейчас это вообще самая бурно развивающаяся отрасль программной разработки. Новые сервисы и приложения выходят почти каждый день, количество скачиваний выросло в десятки раз за последние месяцы. Самые эффективные из этих инструментов устойчивы к DPI и построены по принципу одноранговой пиринговой сети. О них и поговорим, потому что в случае полного отключения они могут помочь.
Например, в апреле 2022 года запустилась пиринговая сеть Lantern. Также недавно разработана децентрализованная платформа Locutus для запуска любых P2P-приложений (от создателя легендарной пиринговой сети Freenet). Это далеко не полный список новых пиринговых проектов, созданных в последнее время для помощи людям, испытывающим затруднения в работе интернета.
Пиринговая сеть Lantern
С точки зрения пользователя, Lantern — это простая программа, которая решает проблему доступа к сайтам «одним нажатием кнопки». Приложение устанавливается на смартфон или ПК — и больше не требует внимания к себе. Оно спокойно висит в фоне и включается/выключается по мере необходимости.
Однако у Lantern есть ряд важных технических отличий, который выделяют этот инструмент. Самое главное, что он способен функционировать вообще без интернета. Если интернет внезапно пропадёт, все пользователи Lantern останутся в сети, нужно лишь подключиться к ближайшему узлу по WiFi или Bluetooth. Но это в теории на будущее. На практике сейчас P2P-сеть используется в первую очередь как инструмент для «исправления сетевых ошибок» при доступе к интернет-ресурсам.
С помощью собственных и клиентских серверов Lantern создаёт одноранговую пиринговую сеть с распределённой файловой системой IPFS. Например, люди могут относительно анонимно публиковать там файлы. Очень полезно и для резервного копирования, и для раздачи файлов на широкую аудиторию без оплаты трафика.
Людей предупреждают, что файлы хранятся распределённо и децентрализованно: «Если другой пользователь получит к ним доступ, то уже никто не сможет удалить файл из сети (даже при удалении из вашего списка «Мои файлы»)».
После загрузки файл доступен по 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-адреса серверов зашиты в бинарнике, а многие пользователи не меняют порты по умолчанию.
Трафик Monero на адрес 212.83.172.165, который указан в исполняемом файле клиента
Что касается Bitcoin, то там сообщество ещё не приняло предложение BIP-151 (Peer-to-Peer Communication Encryption) по шифрованию пиринговых коммуникаций. Соответственно, шифрование пиринговых коммуникаций пока не реализовано в Bitcoin Core, и трафик между узлами не шифруется. По этой причине тот же Wireshark легко идентифицирует Bitcoin.
Wireshark идентифицирует трафик Bitcoin
С другой стороны, в сети Lantern применяются специальные методы против DPI, чтобы пакеты никакого приложения нельзя было идентифицировать. Получается слоёный торт:
- Одноранговая пиринговая сеть по типу IPFS.
- Федеративная сеть доверенных узлов, через которые маршрутизируется трафик в первую очередь (например, их можно импортировать из контактов).
- Динамическая сеть прокси.
- Pluggable Transports — взаимозаменяемые транспорты для обфускации трафика и защиты от DPI.
Описание технологии с сайта Pluggable Transports
Не совсем понятно, зачем нужна своя монета и почему нельзя использовать существующие 100500 вариантов.
В интервью Vice разработчики поделились некоторой внутренней статистикой. Они сказали, что за последний месяц трафик в России вырос многократно. Если же брать мировую статистику, то за всё время приложение скачали 150 млн раз, а за последний год месячная аудитория выросла примерно с 6 до 7 млн, так что доля именно российских пользователей не такая уж и большая в общей массе.
С 2020 года у проекта есть телеграм-канал на русском.
Проект существует уже несколько лет и постоянно развивается. А по мере роста аудитории к интерфейсу стали прикручивать уже новые функции. Если у вас распределённая сеть с огромными ресурсами CPU, RAM и хостинга, то на этой базе можно сделать что угодно. Это как гигантский дата-центр, который с каждым днём всё увеличивается. Или «распределённый компьютер» типа Ethereum, если такая аналогия уместна.
Кстати, функцию публикации файлов добавили только в последней, новой версии Lantern. Она пока находится в стадии бета-тестирования.
Некоторые пользователи Lantern просят не распространять информацию об этой системе, чтобы не привлекать к ней внимание, но такая логика противоречит смыслу существования проекта.
Freenet и Locutus
Пару недель назад с неожиданным анонсом выступил sanity, создатель сети Freenet (2000 год).
Пиринг образца 2008 года (Freenet v0.8), источник
Похоже, история развивается по спирали. От пиринговых сетей 90-х годов мы ушли в централизованный Веб 2.0, а теперь снова вернулись к истокам.
Новая реинкарнация P2P называется Locutus. Это платформа для работы любых децентрализованных приложений на стандартном технологическом стеке вроде React и Vue.js. Система представлет децентрализованную базу «ключ–значение», использует алгоритм маршрутизации small world из оригинального дизайна Freenet, однако каждый ключ — это криптографический контракт в формате WebAssembly.
Разработка только началась. Первый прототип обещают представить до конца мая 2022 года. В него войдут следующие компоненты:
- Репутации: можно сохранять полную анонимность, но с годами заработать высокую репутацию. Логика компонента концептуально напоминает плагин Web of Trust из Freenet.
- Арбитры: доверенные службы, которые могут разрешать споры и подтверждать подлинность операций, например, состояние контракта в определённое время или наличие определённых транзакций во внешних блокчейнах (эфир, солана, биткоин). Доверие достигается с помощью системы репутации.
Будущее — за P2P
Похожий принцип с созданием одноранговой пиринговой сети используют некоторые другие приложения для маршрутизации ваших данных в обход близких или удалённых сетевых препятствий. Например, так работает Newnode с мессенджером Fireside.
Вышеупомянутый браузер CENO тоже работает в P2P-сети. Там алгоритм следующий: когда сайт запрашивается одним пользователем (узлом), он сохраняется и продолжает распространение по пирингу между всеми пользователями, у которых браузер запущен. Контент доступен всем внутри этой зоны. Подробнее см. в руководстве пользователя.
Вся совокупность операций по извлечению, подписанию, хранению и объявлению называется «инъекцией контента», из руководства eQualitie
Для своих и чужих приложений — серверов Matrix, SMTP-криптомессенджера Delta.chat и браузера CENO — компания подняла восемь коммьюнити-узлов в ключевых городах России. Они поддержат работу системы, если отдельные города отключатся от национальной сети. К такой ситуации уже подготовлены местные администраторы, которые смогут поддерживать эти сервисы. Предполагается, что энтузиасты начнут поднимать собственные серверы по данному образцу. По оценке разработчиков, восьми серверов не хватит даже на коммуникацию 100 тыс. человек, так что остаётся надеяться на граждан, которые развернут у себя контейнеры и поднимут ноды.
Кстати, передача сайтов по пирингу между браузерами — давняя идея. Например, её пробовали осуществить для бессерверных сайтов в проектах WebTorrent и Web2web, а также со списком торрентов, куда входит всё кинематографическое наследие человечества. В принципе, ничто не мешает включить туда и остальной контент, созданный цивилизацией. См. инструкцию по созданию бессерверных страниц.
Теоретически P2P-системы с сотнями тысяч узлов лучше защищены от DPI и других вредоносных способов повреждения трафика, чем привычный Tor с его 5000 выходными нодами.
Возможно, в будущем мире Веб 3.0 все основные сервисы начнут работать по схожему принципу. Децентрализованные финансы, мега-хранилище файлов, распределённые бессерверные сайты и приложения. Каждый клиент одновременно будет «немножко сервером», если так можно выразиться. Сейчас мощность любого смартфона превосходит производительность некоторых суперкомпьютеров 20-го века. Почти любой сайт поместится в кэше браузера ПК (и даже в одном файле), а вся информация мира может «жить» в распределённой файловой системе из компьютеров и смартфонов.
НЛО прилетело и оставило здесь промокод для читателей нашего блога:
— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS .
- Блог компании FirstVDS
- Децентрализованные сети
- Информационная безопасность
- Open source
- Сетевые технологии
Источник: habr.com
Пиринговая сеть
Пиринговая сеть (от английского — peer (равный) — один из способов обмена информации в Интернете, наряду с FTP и HTTP, предоставляющий децентрализованный доступ к данным.
Этапы становления
Первой пиринговой сетью в июне 1999 года стала Napster, созданная американским студентом Шоном Фэннингом для упрощенного обмена музыкальными файлами (до Napster пользователи могли обмениваться файлами между собой через FTP, IRC, Usenet и ряд других сервисов, но крайне неудобных для передачи большого объема данных). Работу сети контролировало несколько центральных серверов, на которых хранились логи поиска и закачиваемых файлов пользователей, которые использовали одноименное клиентское приложение. Процесс файлообмена работал по следующей схеме: пользователь вводил название МР3-файла в поисковую строку, после чего программа-клиент отсылала запрос на центральный сервер; затем, приложение получало список компьютеров, подключенных в данный момент к Napster, на которых эта композиция имелась. Спустя 2 года, в июле 2001 года сеть была закрыта из-за распространения пиратского контента.
Второй пиринговой сетью в том же 1999 году стала Gnutella, проект, созданный NullSoft и по инициативе AOL, но прекративший свое существование почти сразу же после релиза. В основе этой сети уже реализовался в полной мере ключевой принцип пиринга — децентрализация: сеть давала возможность пользователю искать и обмениваться всеми видами файлов с другими владельцами Gnutella без участия каких-либо серверов. Тем не менее несколько энтузиастов смогли возродить программный код Gnutella и восстановить сетевой протокол. В итоге появилась масса программ-клиентов для работы с протоколом Gnutella: BearShare Pro, LimeWire, необычайно популярный на Западе Morpheus и других.
Еще один продукт «миллениума» — пиринговая сеть eDonkey2000 реализовывала другой принцип пиринга — возможность загрузки одного и того же файла от разных пользователей. Выглядит это следующим образом — файл делится на небольшие фрагменты, и загружается из нескольких источников, доступных одновременно. Клиентское приложение позволяет не только загружать файлы, но и дает право другим участникам скачивать те фрагменты файла, что вы уже получили. Тем не менее, и эта пиринговая сеть прекратила свое существование (естественно, об этом объявили разработчики, а не пользователи, которые до сих пор используют программные клиенты сети — самый известный из них eMule).
Торренты
Эволюция пиринговых сетей в начале 2000-х годов привела к появлению самой современной на сегодняшний день сети обмена файлами, а именно BitTorrent (в 2001 году). Отличительная черта этой сети — загружать файлы в ней можно только при условии отдачи своих (то есть, пользователи должны делиться своими файлами между собой).
Центральные серверы, называемые трекерами, позволяют распределять равномерно нагрузку между пользователями, скачивающими данные (загрузка идет не только от раздающего (сидера), но и с тех, кто скачивает в данный момент файл (пиры)). В новых версиях протокола были разработаны бестрекерные (англ. trackerless) системы, которые решают некоторые из предыдущих проблем. Отказ трекера в таких системах не приводит к автоматическому отказу всей сети. Создатель BitTorrent Брэм Коэн (Bram Cohen) такой схемой хотел избавиться от главной проблемы всех пиринговых сетей — границ роста сети (поскольку большинство пользователей используется пиринг исключительно для загрузки контента на свой компьютер, но не для предоставления взамен своих файлов другим пользователям). В системе BitTorrent такое поведение (таких участников называют личерами), в принципе, возможно, но обычно строго наказывается (преимущественно, баном на трекере).
Работа в пиринге
Для работы в пиринговой сети (в частности, в BitTorrent), необходимо иметь установленный программный клиент (одними из самых популярных являются μTorrent, BitComet, некоторые файловые менеджеры, как Free Download Manager, GetRight, FlashGet, поддерживают работу в сети), а также правильно сконфигурированную сеть (разрешить определенные порты в сетевом экране, в некоторых случаях иметь регистрацию на трекере, внешний IP-адрес (для абонентов «домовых сетей»).
Начинать работу в пиринге необходимо с поиска: в случае с сетью eDonkey необходим ввод ссылок на файлы формате ed2k (малопопулярны), в Gnutella и Kazaaa поиск ведется внутри программного клиента, в случае с BitTorrent необходимо найти и открыть в программном клиенте файл с расширением .torrent. В нем хранится информация об загружаемом файле (имя, размер), зашифрованные коды сегментов (хэш-суммы) и данные о компьютере сидера. При запуске .torrent-файла в специальном клиентском приложении начнется загрузка выбранного файла и, впоследствии, скачивание загруженных вами фрагментов другими участниками файлообмена.
Правовые вопросы
Сами по себе клиентские приложения для работы в пиринговых сетях не являются нелегальными, поскольку сама сеть создана для обмена данными между несколькими компьютерами. В то же время, на самих пользователей ложится определенная доля ответственности за то, что обмен ведется в том числе и информацией, защищенной копирайтом или же нарушающей правила распространения (разнообразные варианты кряков, кейгенов, патчей, а также серийные номера, эмуляторы). Так, по оценкам ИК «ФИНАМ» [1] доля пиратской продукции в сфере цифрового контента (дистрибутивов ПО и игр, музыки, видео, электронных карт и книг) составляет более 95% и не поддается исчислению из-за отсутствия точных оценок объема данных, распространяемых через пиринговые сети. В итоге, с одной стороны, из-за пиратов, а с другой стороны, из-за пока недостаточного распространения интернета в России цифровая дистрибуция уступает обычной почти в 20 раз. Так, например, по анализу IFPI, 95% музыкальных треков в мире скачивается нелегально, а в России по оценке ключевых игроков — 97-98%.
Источник: www.tadviser.ru