С точки зрения пиринговых систем это означает, что люди присоединяются к системе и продолжают сотрудничать с ней, если доверяют этой системе и если результаты взаимодействия постоянно подтверждают и укрепляют доверие. Целостность системы необходима для удовлетворения ожиданий пользователей и укрепления доверия к системе. Если доверие пользователей не укрепляется самой системой из-за отсутствия целостности, пользователи покидают систему, и в конце концов она просто прекращает свое существование. Осознание важности доверия для существования пиринговых систем приводит к ключевому вопросу: как обеспечить и поддерживать целостность в полностью распределенной пиринговой системе?
Обеспечение и поддержка целостности в полностью распределенных пиринговых системах зависят от множества факторов, наиболее важными из которых являются:
• знание количества узлов или партнеров;
• знание степени доверия (уровня надежности) между партнерами.
Вероятность обеспечения целостности в распределенной пиринговой системе повышается, если точно известно количество узлов и степень доверительности между ними. Эту ситуацию можно сравнить с деятельностью частного клуба, установившего высокие моральные стандарты и использующего жесткие процедуры приема для новых членов. Разумеется, наихудшие условия для обеспечения целостности в распределенной пиринговой системе – неизвестное количество узлов и отсутствие информации о степени доверия между ними. Это характерно для варианта создания полностью распределенной пиринговой системы в Интернете, открытой для всех.
Угрозы целостности в пиринговых системах
Для упрощения можно рассматривать два основных источника опасности для целостности в пиринговых системах:
• технические отказы (сбои);
• злоумышленники-партнеры в системе.
Технические отказы (сбои)
Пиринговые системы состоят из отдельных компьютеров, пользователи которых обмениваются информацией по сети. Для любого аппаратного и программного компонента компьютера, а также для любого компонента сети постоянно существует опасность возникновения аварийного сбоя или критической ошибки. Таким образом, в любой распределенной системе в любой момент может появиться проблема из-за отказа компонента или из-за случайного искажения результата обработки данных.
Злоумышленники-партнеры в системе