В информатике сеть "peer-to-peer" (P2P) состоит из группы устройств, которые коллективно хранят и обмениваются файлами. Каждый участник (узел) действует как индивидуальный пир. Обычно все узлы имеют равную мощность и выполняют одни и те же задачи.
В финансовых технологиях термин "peer-to-peer" обычно относится к обмену криптовалютами или цифровыми активами через распределенную сеть. Платформа P2P позволяет покупателям и продавцам осуществлять сделки без посредников. В некоторых случаях веб-сайты также могут предоставлять среду P2P, которая соединяет заемщиков и кредиторов.
Архитектура P2P может быть подходящей для различных случаев использования, но она стала особенно популярной в 1990-х годах, когда были созданы первые программы для обмена файлами. Сегодня P2P-сети являются основой большинства криптовалют и составляют значительную часть блокчейн-индустрии. Однако они также используются в других распределенных вычислительных приложениях, включая веб-поисковые системы, потоковые платформы, онлайн-магазины и веб-протокол межпланетной файловой системы (IPFS).
Как это работает?
В сущности, система P2P поддерживается распределенной сетью пользователей. Обычно у нее нет центрального администратора или сервера, потому что каждый узел содержит копии файлов и действует как клиент и сервер для других узлов. Таким образом, каждый узел может загружать файлы с других узлов или загружать файлы на них. В этом заключается отличие сетей P2P от более традиционных систем клиент-сервер, в которых клиентские устройства загружают файлы с централизованного сервера.
На сетях P2P подключенные устройства делятся файлами, которые хранятся на их жестких дисках. С помощью специальных приложений, предназначенных для управления обменом данными, пользователи могут запросить другие устройства в сети для поиска и загрузки файлов. После того, как пользователь загрузил определенный файл, он может стать источником этого файла.
Другими словами, когда узел действует как клиент, он загружает файлы с других узлов сети. Но когда он работает как сервер, он является источником, с которого другие узлы могут загружать файлы. На практике, обе функции могут выполняться одновременно (например, скачивание файла А и загрузка файла Б).
Поскольку каждый узел хранит, передает и получает файлы, P2P сети обычно работают быстрее и более эффективно с увеличением их пользовательской базы. Кроме того, их распределенная архитектура делает системы P2P очень устойчивыми к кибератакам. В отличие от традиционных моделей, в P2P сетях нет единой точки отказа.
Мы можем классифицировать системы peer-to-peer в соответствии с их архитектурой. Три основных типа называются неструктурированными, структурированными и гибридными P2P-сетями.
Неструктурированные P2P сети не представляют собой конкретной организации узлов. Участники обмениваются сообщениями случайным образом. Эти системы считаются устойчивыми к высокой активности смены узлов (т.е. часто присоединяющихся и покидающих сеть).
Хотя их легче построить, неструктурированные P2P сети могут потреблять больше CPU и памяти, потому что запросы на поиск отправляются на максимальное количество узлов. Это обычно приводит к перегрузке сети запросами, особенно если небольшое количество узлов предлагает нужный контент.
В отличие от неструктурированных P2P-сетей, в структурированных P2P-сетях узлы организованы в определенную архитектуру, позволяющую им эффективно искать файлы, даже если контент не широко распространен. В большинстве случаев это достигается с помощью хэш-функций, которые облегчают поиск в базах данных.
Хотя структурированные сети могут быть более эффективными, они, как правило, имеют более высокую степень централизации и требуют более высоких затрат на настройку и обслуживание. Кроме того, структурированные сети менее устойчивы к высоким темпам изменений.
Гибридные P2P-сети комбинируют традиционную модель клиент-сервер с некоторыми аспектами архитектуры peer-to-peer. Например, их дизайн может содержать центральный сервер, который облегчает соединение между пирами.
По сравнению с двумя другими типами, гибридные модели обычно представляют улучшенную общую производительность. Они обычно сочетают некоторые из основных преимуществ каждого подхода, достигая значительной степени эффективности и децентрализации одновременно. Хотя архитектура P2P по своей сути распределенная, важно отметить, что есть различные уровни децентрализации. Таким образом, не все P2P-сети децентрализованы.
На самом деле, многие системы полагаются на центральный орган, чтобы направлять активность в сети, делая их отчасти централизованными. Например, некоторые P2P-системы обмена файлами позволяют пользователям искать и загружать файлы у других пользователей, но они не могут участвовать в других процессах, например, управлении поисковыми запросами.
Кроме того, малые сети, контролируемые ограниченной пользовательской базой с общими целями, могут также считаться более централизованными, несмотря на отсутствие централизованной инфраструктуры сети.
Роль P2P в блокчейнах
В начальных этапах Bitcoin, Сатоши Накамото определил его как "электронную денежную систему P2P". Биткоин был создан как цифровая форма денег. Его можно передавать от одного пользователя другому через P2P-сеть, которая управляет распределенным реестром, называемым блокчейном.
В этом контексте архитектура P2P, которая присуща технологии блокчейн, позволяет биткоину и другим криптовалютам передаваться по всему миру без посредников или какого-либо центрального сервера. Кроме того, любой желающий может установить узел Bitcoin, если он хочет участвовать в процессе проверки и валидации блоков.
Таким образом, в сети Bitcoin нет банков, обрабатывающих или записывающих транзакции. Вместо этого блокчейн действует как цифровой реестр, который публично записывает всю активность. В основном, каждый узел содержит копию блокчейна и сравнивает ее с другими узлами, чтобы убедиться в точности данных. Сеть быстро отвергает любую злонамеренную деятельность или неточность.
В контексте криптовалютных блокчейнов узлы могут выполнять различные роли. Например, полные узлы - это те, которые обеспечивают безопасность сети, проверяя транзакции в соответствии с правилами консенсуса системы.
Каждый полный узел поддерживает полную и обновленную копию блокчейна, позволяя ему участвовать в коллективной работе по проверке верного состояния распределенного реестра. Стоит отметить, что не все полные проверяющие узлы являются майнерами.
Преимущества
Архитектура peer-to-peer в блокчейнах предоставляет множество преимуществ. Одно из наиболее важных - это то, что P2P-сети обеспечивают большую безопасность по сравнению с традиционными клиент-серверными схемами. Распределение блокчейнов на большое количество узлов делает их почти невосприимчивыми к атакам типа отказа в обслуживании (DoS), которые затрагивают многие системы.
Кроме того, поскольку большинство узлов должно установить консенсус, прежде чем данные будут добавлены в блокчейн, почти невозможно изменить данные злоумышленником. Это особенно верно для больших сетей, таких как сеть Bitcoin. Меньшие блокчейны более уязвимы для атак, потому что один человек или группа может со временем получить контроль над большинством узлов (это известно как атака 51%).
В результате распределенной peer-to-peer сети, совместно с требованием большинством консенсуса, блокчейны обладают относительно высокой степенью устойчивости к злонамеренной деятельности. Модель P2P является одной из причин, почему Bitcoin (и другие блокчейны) смогли достичь так называемой византийской надежности.
Помимо безопасности, использование P2P-архитектуры в криптовалютных блокчейнах также делает их устойчивыми к цензуре со стороны центральных властей. В отличие от стандартных банковских счетов, криптовалютные кошельки не могут быть заморожены или опустошены правительствами. Эта устойчивость также распространяется на усилия по цензуре частными платежными и контентными платформами. Некоторые создатели контента и онлайн-торговцы приняли криптовалютные платежи как способ избежать блокировки своих платежей третьими сторонами.
Ограничения
Несмотря на множество преимуществ, использование P2P сетей на блокчейне также имеет некоторые ограничения.
Поскольку распределенные книги должны быть обновлены на каждом узле, а не на центральном сервере, добавление транзакций в блокчейн требует огромного количества вычислительной мощности. Хотя это обеспечивает повышенную безопасность, это существенно снижает эффективность и является одной из главных проблем, когда речь идет о масштабируемости и широком принятии. Тем не менее, криптографы и разработчики блокчейнов исследуют альтернативы, которые могут быть использованы в качестве решений масштабирования. Примерами являются сеть Lightning, Ethereum Plasma и протокол Mimblewimble.
Еще одно потенциальное ограничение связано с атаками, которые могут возникать во время событий хардфорка. Поскольку большинство блокчейнов являются децентрализованными и открытыми исходными кодами, группы узлов свободны копировать и изменять код и отделяться от основной цепочки, чтобы создать новую, параллельную сеть. Хардфорки являются совершенно нормальными и не являются угрозой самостоятельно. Однако, если определенные методы безопасности не приняты должным образом, обе цепочки могут стать уязвимыми для атак повтора.
Более того, распределенная природа P2P сетей делает их относительно сложными для контроля и регулирования, не только в блокчейн сфере. Несколько P2P приложений и компаний участвовали в незаконных деятельностях и нарушениях авторских прав.
Заключительные мысли
Архитектура peer-to-peer может быть разработана и использована во многих разных областях и она лежит в основе блокчейнов, которые делают криптовалюты возможными. Распределение журналов транзакций по крупным сетям узлов делает возможным обеспечение безопасности, децентрализации и устойчивости к цензуре.
В дополнение к их полезности в технологии блокчейн, системы P2P также могут служить другим распределенным вычислительным приложениям, начиная от сетей обмена файлами до платформ торговли энергией.
Kommentare