Одноранговая сеть (или пиринговая, от англ. Peer-to-Peer, P2P — равный к равному) — это логическая компьютерная сеть, создаваемая поверх другой компьютерной сети, в которой все участники имеют равные права и функции. Обычно в такой сети отсутствует явное разграничение между клиентом и сервером, а каждый сетевой узел выполняет функции как клиента, так и сервера.
В последнее десятилетие одноранговые сети приобрели исключительную популярность, так как по сравнению с классической клиент-серверной архитектурой, принципы построения пиринговых сетей обеспечивают им ряд преимуществ. К таковым относятся:
- масштабируемость — в отдельных точках сети не создается «узкого горлышка», поскольку обмен информацией может происходить непосредственно между конечными узлами;
- устойчивость — работоспособность сети сохраняется при отключении от сети почти любого количества узлов;
- приватность — данные пользователей могут храниться, а вычисления производиться непосредственно на персональных компьютерах, без привлечения третьей доверенной стороны.
Эти преимущества обусловливают основные области применения одноранговых сетей. Рассмотрим некоторые из них подробнее.
Децентрализованный файлообмен является классической сферой применения одноранговых сетей, поскольку обмен большими файлами требует хорошей масштабируемости, которая достигается за счет прямого обмена данными. Наиболее распространенным протоколом для этой цели является BitTorrent. Согласно актуальным исследованиям, на него приходится от 20 до 33% всего интернет-трафика.
Современные средства обеспечения анонимности в Интернете, как правило, строятся на основе одноранговых сетей. Эта проблема вызывает большой интерес в научной среде, хорошо изучена, и, как результат, сейчас средства анонимизации имеются для самых разных прикладных задач. Наибольшую популярность получили низколатентные анонимные сети. Две самые крупные из них — Tor и I2P, при этом у первой уже свыше 2 млн пользователей.
Относительно новой областью применения одноранговых сетей стали криптовалюты. В 2009 году была представлена цифровая валюта Bitcoin, создателям которой удалось разрешить главную трудность при построении криптовалют на основе одноранговой сети — проблему повторной траты средств. Она была решена посредством создания единой цепочки транзакций, для защиты которой используется система доказательства выполненной вычислительной работы (proof-of-work). Несмотря на существование множества аналогов, основанных на тех же принципах, но различающихся деталями, Bitcoin остается самой популярной криптовалютой, а ее капитализация составляет 3 млрд долларов.
Описанные выше преимущества пиринговых сетей — лишь одна сторона медали. Необходимо еще обеспечить их безопасность. В строгой одноранговой сети (где нет централизованных сервисов) каждый пользователь — потенциальный нарушитель. Доверять нельзя никому. В таких условиях обеспечение безопасности любого рода представляется очень сложной задачей.
Проблемы начинаются уже на первом шаге при попытке достижения стандартных целей безопасности. Как производить аутентификацию в строгой P2P-системе (без глобального центра сертификации)? Теоретические изыскания приводят к неутешительному выводу: на сегодняшний день не существует способа реализации надежной внутрисистемной аутентификации без привлечения доверенной третьей стороны и без предварительных контактов между пользователями по другим каналам.
Другая нерешенная проблема безопасности одноранговых сетей — так называемая Sybil-атака. Она основана на том, что злоумышленник добавляет в сеть свои узлы неоднократно — каждый раз с новым идентификатором. Эта атака является вспомогательной для проведения целого спектра других атак и, таким образом, занимает ключевое место в вопросах безопасности. Классический метод противодействия — введение ограничения по тем или иным ресурсам. К сожалению, применение данного метода зачастую требует соблюдения невыполнимых условий, и пока нет другого способа полностью исключить Sybil-атаку, кроме использования централизованного сервиса.
Проблематика одноранговых сетей очень широка и не ограничивается приведенными примерами. Так, упомянутые выше Tor и другие низколатентные анонимные сети остаются уязвимыми для атак, основанных на корреляции временных задержек (timing-атаки). Проведение этих атак требует колоссальных ресурсов (глобального прослушивания сети), однако вполне по силам, например, спецслужбам.
Угроза Sybil-атаки наряду с проблемой аутентификации нередко вынуждает разработчиков одноранговых сетей прибегать к использованию централизованных сервисов, выполняющих ограниченный спектр ключевых функций. Это приводит к появлению точек общесистемного отказа в сети и частично нивелирует основные преимущества пиринговых сетей.
Таким образом, являясь бурно развивающимся и, безусловно, перспективным направлением информатики, одноранговые сети остаются областью с множеством нерешенных проблем, открытой для новых идей и привлекательной для острых умов.
Виталий Минко — ведущий программист отдела проектирования и разработки ПАК «ИнфоТеКС».