Что означает одноранговая сеть (P2P)?
В информатике одноранговая сеть (P2P) определяется как группа устройств, которые коллективно хранят файлы и обмениваются ими. Каждый участник (узел) действует как отдельный узел. Обычно все узлы имеют одинаковую мощность и выполняют одни и те же задачи.
В технологиях, ориентированных на финансы, термин «одноранговая сеть» обычно относится к обмену криптовалютами или цифровыми активами через распределенную сеть. Платформы P2P позволяют покупателям и продавцам совершать транзакции без посредников. В некоторых случаях веб-сайты также могут предоставлять среду P2P, объединяющую кредиторов и заемщиков.
Архитектура P2P может подходить для различных случаев использования, но особой популярностью она стала в 1990-е годы, когда были созданы первые программы для обмена файлами. Сегодня P2P-сети служат основой для большинства криптовалют и составляют значительную часть индустрии блокчейнов. Однако они также используются в других приложениях распределенных вычислений, включая веб-поисковые системы, потоковые платформы, онлайн-торговые площадки и веб-протокол Межпланетной файловой системы (IPFS).
Как работает P2P-система?
По сути, P2P-системы обслуживаются распределенными сетями пользователей. Обычно у них нет центрального администратора или сервера, поскольку у каждого узла есть копия файлов, действующая как клиент и сервер для остальных узлов. Таким образом, каждый узел может скачивать файлы с других узлов или загружать на них файлы. Именно это отличает сети P2P от более традиционных клиент-серверных систем, в которых клиентские устройства загружают файлы с централизованного сервера.
В сетях P2P подключенные устройства совместно используют файлы, хранящиеся на их жестких дисках. Используя программные приложения, предназначенные для обмена данными, пользователи могут запрашивать другие устройства в сети для поиска и загрузки файлов. С того момента, как пользователь загрузил определенный файл, он может выступать в качестве его источника.
Другими словами, когда узел выступает в качестве клиента, он будет загружать файлы с других узлов в сети. А когда он работает как сервер, он станет источником, из которого другие узлы смогут загружать файлы. Однако на практике обе функции могут выполняться одновременно (например, загрузка файла А и загрузка файла Б).
Поскольку каждый узел хранит, передает и получает файлы, сети P2P имеют тенденцию становиться быстрее и эффективнее по мере роста базы пользователей. Более того, их распределенная архитектура делает P2P-системы очень устойчивыми к кибератакам. В отличие от традиционных моделей, в P2P-сетях нет единой точки отказа.
Мы можем классифицировать одноранговые системы в соответствии с их архитектурой. Называются три основных типа P2P-сетей: неструктурированные, структурированные и гибридные.
Неструктурированные P2P-сети
Неструктурированные сети P2P не представляют какой-либо конкретной организации узлов. Участники общаются друг с другом случайным образом. Эти системы считаются устойчивыми к высокой активности оттока пользователей (т. е., когда несколько узлов часто присоединяются к сети или покидают ее).
Хотя их легче построить, неструктурированные сети P2P могут потребовать большего использования процессора и памяти, поскольку поисковые запросы отправляются как можно большему количеству узлов. Это имеет тенденцию наводнять сеть запросами, особенно если только небольшое количество узлов предлагает желаемый контент.
Структурированные P2P-сети
Напротив, структурированные сети P2P представляют собой организованную архитектуру, которая позволяет узлам эффективно искать файлы, даже если контент не распространяется широко. В большинстве случаев это достигается за счет использования хеш-функций, облегчающих поиск в базе данных.
Хотя структурированные сети могут быть более эффективными, они, как правило, имеют более высокий уровень централизации и, как правило, более высокие затраты на установку и обслуживание. Кроме того, структурированные сети менее устойчивы к высоким показателям оттока клиентов.
Гибридные P2P-сети
Гибридные сети P2P сочетают в себе традиционную модель клиент-сервер с некоторыми аспектами одноранговой архитектуры. Например, они могут назначить центральный сервер, который облегчает соединение между узлами.
По сравнению с двумя другими типами гибридные модели, как правило, имеют улучшенные общие характеристики. Обычно они сочетают в себе некоторые ключевые преимущества каждого подхода, что позволяет им одновременно достигать значительной степени эффективности и децентрализации.
Распределенный против. децентрализованный
Хотя архитектура P2P по своей сути является распределенной, важно отметить, что существуют различные степени децентрализации. Таким образом, не все P2P-сети децентрализованы.
Фактически, многие из них зависят от центрального органа, который управляет сетевой деятельностью, что делает их в некоторой степени централизованными системами. Например, некоторые системы обмена файлами P2P позволяют пользователям искать и загружать файлы от других узлов, но не могут участвовать в других процессах, таких как управление поисковыми запросами.
Более того, степень централизации небольших сетей, контролируемых ограниченной базой пользователей и имеющих общие цели, можно считать более высокой, несмотря на отсутствие централизованной сетевой инфраструктуры.
Роль P2P в блокчейнах
На ранних стадиях развития Биткойна Сатоши Накамото определял его как «одноранговую электронную денежную систему». Биткойн был создан как цифровая форма денег. Он может передаваться от одного пользователя к другому через сеть P2P, которая управляет распределенным реестром, называемым блокчейном.
В этом контексте архитектура P2P, присущая технологии блокчейна, позволяет передавать биткойны и другие криптовалюты по всему миру без необходимости использования посредников или каких-либо центральных серверов. Кроме того, любой может настроить узел Биткойн, если хочет участвовать в процессе проверки и проверки блока.
Таким образом, в сети Биткойн нет банков, которые обрабатывают или записывают транзакции. Вместо этого блокчейн действует как цифровой реестр, в котором публично фиксируются все действия. По сути, каждый узел содержит копию блокчейна и сравнивает ее с другими узлами, чтобы убедиться в точности данных. Сеть быстро отвергает любую вредоносную активность или неточность.
В контексте криптовалютных блокчейнов узлы могут выполнять самые разные роли. Полные узлы, например, — это те, которые обеспечивают безопасность сети путем проверки транзакций на соответствие правилам консенсуса системы.
Каждый полный узел поддерживает полную и актуальную копию блокчейна, что позволяет им участвовать в коллективной работе по проверке истинного состояния распределенного реестра. Однако стоит отметить, что не все узлы с полной проверкой являются майнерами.
Преимущества
Одноранговая архитектура блокчейнов предлагает множество преимуществ. Одним из наиболее важных является тот факт, что сети P2P обеспечивают большую безопасность, чем традиционные схемы клиент-сервер. Распределение блокчейнов по большому количеству узлов делает их практически невосприимчивыми к атакам типа «отказ в обслуживании» (DoS), которые затрагивают многочисленные системы.
Аналогичным образом, поскольку большинство узлов должны достичь консенсуса перед добавлением данных в блокчейн, злоумышленнику практически невозможно изменить данные. Это особенно актуально для крупных сетей, таких как Биткойн. Меньшие блокчейны более восприимчивы к атакам, поскольку один человек или группа могут в конечном итоге получить контроль над большинством узлов (это известно как атака 51 процента).
В результате распределенная одноранговая сеть в сочетании с требованием консенсуса большинства дает блокчейнам относительно высокую степень устойчивости к вредоносной активности. Модель P2P — одна из причин, по которой Биткойн (и другие блокчейны) смогли достичь так называемой византийской отказоустойчивости.
Помимо безопасности, использование архитектуры P2P в блокчейнах криптовалют также делает их устойчивыми к цензуре со стороны центральных властей. В отличие от стандартных банковских счетов, правительства не могут заморозить или опустошить криптовалютные кошельки. Это сопротивление также распространяется на усилия по цензуре со стороны частных платформ обработки платежей и контент-платформ. Некоторые создатели контента и онлайн-торговцы приняли платежи в криптовалюте, чтобы предотвратить блокировку их платежей третьими лицами.
Ограничения
Несмотря на множество преимуществ, использование P2P-сетей на блокчейне также имеет определенные ограничения.
Поскольку распределенные реестры должны обновляться на каждом узле, а не на центральном сервере, добавление транзакций в блокчейн требует большого объема вычислительной мощности. Хотя это обеспечивает большую безопасность, это значительно снижает эффективность и является одним из основных препятствий на пути к масштабируемости и широкому распространению. Однако криптографы и разработчики блокчейнов исследуют альтернативы, которые можно использовать в качестве решений для масштабирования. Яркие примеры включают Lightning Network, Ethereum Plasma и протокол Mimblewimble.
Еще одно потенциальное ограничение связано с атаками, которые могут возникнуть во время хард-форков. Поскольку большинство блокчейнов децентрализованы и имеют открытый исходный код, группы узлов могут копировать и изменять код и отделяться от основной цепочки, образуя новую параллельную сеть. Хард-форки совершенно нормальны и сами по себе не представляют угрозы. Но если определенные методы безопасности не будут приняты должным образом, обе цепочки могут стать уязвимыми для атак повторного воспроизведения.
Более того, распределенный характер P2P-сетей делает их относительно сложными для контроля и регулирования, причем не только в нише блокчейнов. Несколько P2P-приложений и компаний были замешаны в незаконной деятельности и нарушении авторских прав.
В заключение
Одноранговую архитектуру можно разрабатывать и использовать по-разному, и она является основой блокчейнов, которые делают возможными криптовалюты. Распределяя реестры транзакций по крупным сетям узлов, архитектура P2P обеспечивает безопасность, децентрализацию и устойчивость к цензуре.
Помимо своей полезности в технологии блокчейна, системы P2P также могут обслуживать другие приложения распределенных вычислений, от сетей обмена файлами до платформ торговли энергией.

