Одноранговые сети (Peer-to-Peer)

Одноранговые

Почему именно «одноранговые»?

Если рассматривать ситуацию с точки зрения информационных технологий, то одноранговые или пиринговые (от peer-to-peer) сети – это такие сети, в которых отельные элементы (узлы) обмениваются между собой файлами и хранят один и тот же набор данных. Узлы равны по мощности и выполняют одинаковые по смыслу задачи.

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

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

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

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

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

Независимое хранение информации на разных источниках делает всю систему более устойчивой к внешним воздействиям и взломам. Кроме того, в сетях Р2Р нет единой точки отказа, в отличие от централизованных систем.

Классификация

Выделяют три основных типа одноранговых сетей.

  • Неструктурированные. Узлы случайным образом контактируют друг с другом, что обеспечивает высокую активность системы даже при значительной текучке узлов. Относительно просты в построении, однако требуют больших мощностей при работе. Дело в том, что поисковые или любые другие запросы отправляются на максимально возможное число машин одновременно, так что сеть перегружается «пустыми» информационными запросами, которые могут помешать прохождению отзывов.
  • Структурированные. Узлы объединены в строгую систему со своей архитектурой. В такой системе активно используется поиск по хэш-функциям, что значительно снижает общую интенсивность информационного потока. Однако такие системы в некоторой степени уже являются централизованными, поэтому куда более требовательны к обслуживанию и установке. Да и при временном выпадении большой группы узлов, вся работа системы нарушается.
  • Гибридные. Комбинация предыдущих вариантов. Например, наличие центрального сервера, упрощающего процесс обмена между отдельными узлами. Как правило, подобные сети отличаются высокой производительностью и устойчивостью.

Р2Р и блокчейн

Когда Сатоши Накамото создавал сеть Биткоин, он сформулировал её как «одноранговая платёжная система электронных денежных средств». Это обеспечивалось благодаря работе новой технологии – блокчейн.

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

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

Но несмотря на то, что сеть является одноранговой, разные узлы могут брать на себя разные функции. Так, например, существуют так называемые «полные ноды», основная задача которых - проверка транзакций в системе на предмет соответствия их действующим алгоритмам консенсуса. А есть и другие узлы – майнеры, основная задача которых – генерация новых блоков хранения информации.

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

  • Высокая устойчивость к DoS-атакам, поскольку информация не хранится в одном месте, а пропускная способность сети позволяет одновременно обрабатывать множество запросов.
  • Высокая устойчивость к изменению уже внесённой информации. Чтобы переписать данные на всех машинах сети, нужно мощность, превышающая половину общей мощности системы. Это называется «Атака 51 процента». Довольно редкое явление, особенно в больших сетях.
  • Высокая устойчивость к внутренним ошибкам и противоречивым сигналам. Сети Р2Р демонстрируют высокую «византийскую отказоустойчивость».
  • Устойчивость к внешней цензуре. Криптовалютные кошельки, например, не могут быть заморожены решением судов и правительств, в отличие от счетов в банках.

Недостатки

  • Чем больше сеть, тем больше вычислительной работы нужно проделать, чтобы обеспечить актуальность хранимой информации. За счёт этого, замедляется общая скорость работы. Эта проблема известна как «проблема масштабируемости». И очень немногие одноранговые сети нашли более-менее приемлемые способы её решения. Примерами этого могут служить Lightning Network, Ethereum Plasma и протокол Mimblewimble.
  • Возможна ситуация «разделения» цепочки информации на две – ситуация «хардфорка». В таком случае, оба новых разветвления оказываются уязвимыми перед атакой повторного воспроизведения (достоверная транзакция с одной цепочки дублируется на второй, за счёт чего – снимается в 2 раза больше денег). А если учесть, что подобные хардфорки случаются регулярно, то приходится дополнительно обеспечивать защиту от них.
  • Невозможность исправления информации может быть и минусом. Изъять, например, компрометирующие данные из такой сети – крайне сложно. Как и цифровые копии, связанные с нарушением авторских прав.

Вывод

Одноранговая архитектура заметно улучшила эффективность хранения информации, сделав обмен более прозрачным, устойчивым и быстрым. Причём не только в рамках криптовалютных сетей, но и при обмене информацией иного рода – от файлов пиринговых сетей, типа torrent, до информации, связанной с крупными торговыми операциями или обработкой больших массивов цифровых данных.