Peer-to-peer технология возникла в 1984 году в ходе разработки фирмой IBM сетевой архитектуры Advanced Peer-to-Peer Networking (APPN) для маршрутизации данных. Относительно широко P2P-сети начали использоваться уже в 1990-х годах, с распространением доступа к интернету и возникновением программного обеспечения для децентрализованного обмена файлами. Со временем одноранговую архитектуру стали использовать в таких сферах как:
- обмен данными;
- поиск информации;
- онлайн-торговля;
- стриминг;
- распределенные вычисления и пр.
Одноранговые сети стали одной из ключевых технологий при разработке блокчейн-проектов, поскольку обеспечивали их децентрализацию.
P2P-сеть: принцип работы
Принцип работы одноранговой сети выглядит следующим образом:
- есть определенное количество компьютеров, между которыми обеспечена сетевая связь;
- каждый участник сети располагает точной копией базы данных;
- каждое устройство одновременно выполняет функцию сервера и клиента, то есть отправляет и обрабатывает запросы;
- любые изменения в сети обрабатываются кооперативно.
Процесс обмена и обновления информации в базе данных носит постоянный и непрерывный характер, поскольку каждый узел обязан отреагировать на любое изменение в сети. В отличие от централизованной системы одноранговая сеть не имеет единой точки отказа.
Одноранговая сеть и криптовалюты
Влияние P2P-архитектуры на криптовалюты — очевидно. Взглянуть, хотя бы, на название программной статьи, в которой Сатоши Накамото впервые описал первую криптовалюту: «Bitcoin: A Peer-to-Peer Electronic Cash System». В криптовалюте используется распределенный регистр — блокчейн, который работает по принципу одноранговой сети.
Все узлы блокчейн-сети непосредственно связаны между собой, но в блокчейне участники сети могут выполнять разные функции. Например, полные ноды обеспечивают хранение и актуализацию полного массива данных блокчейн-сети, а майнеры генерируют новые блоки с данными.
Классификация одноранговых сетей
Существует три основных типа P2P-сетей:
- Неструктурированные. Такая архитектура не предполагает четкой архитектуры взаимодействия узлов в сети, участники связываются между собой случайным образом. Такой способ организации сети устойчив, когда ее участники постоянно меняются.
- Структурированные. Данный вид P2P-сетей имеет четкую архитектуру взаимосвязей между узлами, которая позволяет более эффективно осуществлять обмен данными.
- Гибридные. Такая структура объединяет отдельные элементы предыдущих двух видов P2P-сетей, что позволяет обеспечить достаточно высокий уровень производительности, устойчивости и децентрализации.
Преимущества и недостатки одноранговых сетей
Основные преимущества P2P-сетей, которые достигаются за счет распределения данных между всеми участниками сети:
- децентрализация;
- высокая производительность за счет разделения ресурсов;
- устойчивость к DDoS-атакам, отказам и сбоям внутри сети, ограничениям со стороны государственных структур.
Ключевые недостатки одноранговых сетей выглядят следующим образом:
- неудобство администрирования;
- необходимость хранить резервную копию всей сети на каждом узле, постоянно обновлять и проверять ее актуальность;
- отсутствие возможностей для централизованного поиска информации и управления доступом к данным.
Важно помнить, что многие блокчейн-сети обладают отдельными свойствами P2P-сетей, но эти два понятия не являются синонимами. Наиболее широкое применение одноранговые сети приобрели в сфере распределенного обмена файлами. Вероятно, что все вы слышали про BitTorrent — сетевой протокол для кооперативного обмена файлами, который организован как пиринговая сеть.
Наиболее перспективной сферой применения P2P-сетей, за пределами криптовалютного рынка, на данный момент являются протоколы распределенных вычислений. Самый известный практический пример — программа распределенных вычислений молекулярной динамики белков, совместный проект Sony и Pande Lab из Стэнфордского университета. Вычисления осуществлялись на приставках PlayStation 3 и сеть из 30 тыс. устройств оказалась на 10% продуктивнее, чем самый мощный суперкомпьютер того времени.