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

Что такое сеть P2P? Где используется одноранговая сеть? Какие ее преимущества и недостатки? Как P2P связана с блокчейном и криптовалютами? Ответы на эти и другие вопросы читайте в нашей подробной статье.

Что такое одноранговая сеть (P2P), и как она связана с блокчейном и криптовалютами?

P2P (Peer-to-Peer) или одноранговая сеть — это децентрализованная модель связи, в которой каждая сторона имеет одинаковые возможности, и любая из сторон может инициировать сеанс связи. В отличие от модели клиент/сервер, в которой клиент делает запрос на обслуживание, а сервер выполняет запрос, сетевая модель P2P позволяет каждому узлу функционировать и как клиент, и как сервер. Платформа P2P может предоставлять такие услуги, как поиск, проверка, оценка, обработка платежей или условное депонирование.

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

Сети P2P строятся на протоколах, работающих поверх интернет-протоколов (также известных как TCP/IP). Следовательно, протоколы P2P называются протоколами приложений или уровнем 7 в соответствии с моделью взаимодействия открытых систем или OSI. Это означает, что для работы протоколов P2P требуется использование других, более абстрактных протоколов, но в то же время это упрощает их создание и эксплуатацию.

Благодаря этому с момента своего создания протоколы P2P широко используются для различных целей. Они являются очень мощным инструментом и позволяют создавать децентрализованные структуры на бесплатной основе. По этой причине криптовалюты (в том числе и Bitcoin) были построены на основе протоколов P2P.

Типы P2P-сетей

Существует несколько типов P2P-сетей, из них можно отдельно выделить следующие:

  1. Децентрализованная и структурированная сеть. Эти типы сетей известны как гибридные сети P2P. В этом типе сети нет каталога на центральном сервере, но вместо этого есть ряд узлов или одноранговых узлов, которые могут получать запросы на информацию и отвечать на них, чтобы облегчить доступ к ресурсам. Чтобы избежать централизации этой функциональности, узлы или специальные одноранговые узлы могут быть установлены и настроены кем угодно, тем самым стремясь, чтобы одно и то же сообщество пользователей расширило функциональность сети и обеспечило ее правильную работу. Хорошим примером такого типа сети являются федеративные сети, такие как Diaspora и Mastodon.
  2. Децентрализованная и неструктурированная сеть. В этом типе P2P-сетей нет компьютеров или узлов, которые функционируют как центральные контроллеры запросов. Напротив, каждый узел в сети выполняет те же функции, что и остальные узлы, поэтому каждый новый узел обладает теми же полномочиями, что и остальные. На данный момент такие сети, как Bitcoin, соответствуют этим характеристикам, поскольку каждый подключенный узел имеет те же возможности, что и остальные.

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

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

Чтобы решить эту проблему нужно сделать следующее:

  1. Создать программное обеспечение, которое способно обмениваться информацией с теми, кто его запускает. Таким образом, каждый компьютер, на котором запущено программное обеспечение, может иметь каталог подключенных компьютеров и использовать их для подключения к нужному узлу.
  2. Добиться максимально возможной децентрализации сети. Привлечь многих людей запускать программное обеспечение для создания своих собственных узлов и, следовательно, увеличивая размер сети. Таким образом, его масштабы и возможности увеличиваются.

Соответственно, чем больше у сети пиров (компьютеров, на которых запущено ПО P2P), тем больше шансов, что сеть не будет подвергаться цензуре, и ее работа будет более устойчивой, а возможности — больше. В ранних системах P2P, таких как USENET или IRC, системы и их соединения были известны посредством письменных средств, вызовов или той же системы, которая имела доску одноранговых узлов, к которой можно было подключиться. Таким образом, каждый новый участник сети имел доступ к списку пиров и добавлял себя, чтобы при необходимости другие могли установить с ними связь.

Но более крупные сети, такие как IRC, DCC, DC++, Napster, Gnutella, BitTorrent и даже Bitcoin, кардинально изменили ситуацию. Теперь каждый узел был подключен к точке, они получают список начальных пиров (или начальных узлов). И оттуда каждый узел может воссоздать свой собственный список узлов, принадлежащих сети. В результате получается лучшая устойчивость к цензуре и сеть может расти быстрее.

Конечно, работа каждого протокола отличается. Например, IRC — это распределенная (почти централизованная) система серверов, которая может дать вам возможность соединяться с человеком «точка-точка». А вот DC+ и Gnutella полностью децентрализованы, их сети устроены так, что сеть автоматически подстраивается при входе и выходе новых узлов в сеть.

То же самое происходило и с Bitcoin, где сеть началась с Сатоши Накамото, и постепенно разрослась до размера в более 10 тысяч активных узлов. Конечно, цель Bitcoin отличается от цели сети Gnutella, но принципы протокола остаются неизменными: общение между двумя сторонами без посредников.

Преимущества и недостатки этой технологии

Преимущества

  1. Сеть P2P устойчива к цензуре. Сильно децентрализованную P2P-сеть практически невозможно подвергнуть цензуре;
  2. Одноранговые сети предлагают непревзойденную устойчивость. Если один узел падает, его место может занять другой узел. Существует даже поговорка «P2P-сети могут пережить ядерную катастрофу», а все потому, что даже если уничтожить много узлов и выживет только один, сеть можно будет полностью восстановить;
  3. Сети P2P могут привести к созданию мощных масштабируемых решений для предоставления уникальных услуг с глобальным охватом;
  4. Независимость от центральных организаций, вызывают больше доверия к P2P у своих пользователей;
  5. Они предлагают высокий уровень пропускной способности. Это связано с тем, что такие сети используют пропускную способность каждого участника, чтобы преобразовать ее в свою собственную сеть;
  6. Служат для передачи цифровой информации любого рода. От любимой песни до сотен миллионов долларов за считанные секунды.

Недостатки

  1. Сеть P2P устойчива к цензуре, но она не делает вас анонимным (если только она не предназначена для этого) даже если эта сеть использует шифрование. Лучшим примером является BitTorrent, где интернет-провайдеры могут обнаруживать использование протокола, и тем самым предупреждать власти о нелегальной загрузке пользователем;
  2. Конструкция сетей P2P предполагает, что чем больше в ней участников, тем сильнее увеличивается задержка. То есть, чтобы информация дошла до всех частей, составляющих сеть, в большой P2P-сети потребуется больше времени, чем в меньшей. Для решения этой проблемы ищутся новые алгоритмы и протоколы.
  3. Протоколы P2P имеют ряд известных структурных проблем. Такие случаи, как MITM-атаки с целью получения контроля над узлами, поскольку они должны быть постоянно подключены публично. Кроме того, протоколы подвержены маршрутизирующим атакам и скрытным атакам Eclipse или Erebus.

Происхождение и история P2P

Происхождение первой P2P-сети мы можем проследить от создания протокола UUCP (Unix to Unix Copy Protocol) в 1980 году. Этот простой протокол породил известную сеть USENET и сети BBS, которые активны и функционируют до сих пор. Хорошим примером также является BBS EffectLinux, которая до сих пор доступна для тех, кто ностальгирует по этой системе связи.

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

В то время USENET и протокол UUCP были вершиной коммуникаций. По сути, движение шифропанков началось именно с использования этого протокола. Такие персонажи, как Сент-Джуд, Эрик Хьюз, Тимоти С. Мэй, Дэвид Чаум, использовали эти системы для обмена информацией на досках объявлений BBS сообщества шифропанков. Это были первые годы вычислительной техники, и в то время уже просматривались будущие возможности этого типа протокола и гораздо более мощных и способных компьютеров.

Позже, в 1983 году, запущен протокол TCP/IP. По сути, этот новый протокол стремился сделать создание больших глобальных сетей более гибким. На самом деле это основа для построения того, что мы знаем сегодня как Интернет. Последнее стало действительно возможным, когда появилась система или модель OSI (определяющая семь уровней абстракции, которые мы в настоящее время имеем в Интернете) в 1989 году и, наконец, с создания протокола WWW (World Wide Web) в 1990 году.

Читайте также: Что такое технология Web 3.0?

Bitcoin и сеть P2P

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

Создание Bitcoin как сети P2P отвечает необходимости децентрализации его возможностей. Бесполезно создавать криптовалюту, если ею затем управляет центральный орган. Это было бы просто созданием нового центрального банка. Вместо этого Сатоши Накамото хотел глобальную, не подвергающуюся цензуре, безопасную и частную сеть, которая позволяла бы управлять ценностями. Поэтому Накамото разработал Bitcoin на основе сети P2P с использованием собственного протокола, разработанного в соответствии с принципами протокола Kademlia и протокола Gossip.

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

P2P, блокчейн и криптовалюты

Стоит отметить, что Bitcoin с его системой P2P сумел создать распределенную систему учета, в которой такие проблемы, как двойные траты, остались в прошлом. Двойная трата была одной из главных проблем цифровых денег. Возможность удвоения денег и их фальсификации была чем-то, что не имело решения, пока Сатоши Накамото не разработал блокчейн и его протокол P2P для Bitcoin.

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