Что такое одноранговая сеть (P2P)?

В информатике одноранговая сеть (P2P) состоит из группы устройств, которые коллективно хранят файлы и обмениваются ими. Каждый участник (узел) действует как отдельный узел. Обычно все узлы имеют одинаковую мощность и выполняют одни и те же задачи.

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

Архитектура P2P может подходить для различных случаев использования, но особой популярностью она стала в 1990-х годах, когда были созданы первые программы для обмена файлами. Сегодня P2P-сети лежат в основе большинства криптовалют, составляя значительную часть индустрии блокчейнов. Однако они также используются в других приложениях распределенных вычислений, включая веб-поисковые системы, потоковые платформы, онлайн-торговые площадки и веб-протокол Межпланетной файловой системы (IPFS).


Как работает P2P?

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

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

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

Поскольку каждый узел хранит, передает и получает файлы, сети 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-системы также могут обслуживать другие приложения распределенных вычислений, от сетей обмена файлами до платформ торговли энергией.