В этой части книги подробно описывается задача, которую призвана решить технология блокчейна, а также объясняется, почему решение этой задачи столь важно. Материал этой части обеспечивает более глубокое понимание проблемной области, в которой функционирует блокчейн, и среды, где эта технология может предоставить наибольшие преимущества. Кроме того, рассматривается взаимосвязь блокчейна с задачами обеспечения доверительности, целостности и управления владением (собственностью). После изучения этой части книги вы будете глубже понимать основную цель технологии блокчейна и отличительные особенности самого термина «блокчейн».
В предыдущих двух главах была в общих чертах сформулирована главная цель технологии блокчейна и особо подчеркнута ее важность для полностью распределенных пиринговых систем. Очевидно, что обеспечение целостности в распределенных системах является главной целью технологии блокчейна. Но почему обеспечение целостности в распределенных системах вообще и в частности в полностью распределенных пиринговых системах представляет собой столь трудную и важную задачу? Данная глава отвечает на этот вопрос, исследуя трудноуловимые взаимосвязи между задачами обеспечения доверительности и целостности в полностью распределенных пиринговых системах. Материал этой главы существенно углубляет понимание важности обеспечения целостности и подробно описывает основную задачу, решаемую технологией блокчейна. В конце главы рассматривается среда, в которой технология блокчейна способна принести максимальную пользу.
Во многих естественных языках существуют образные выражения или поговорки, описывающие ситуацию, в которой кто-либо пытается привести в порядок, организовать беспорядочную группу лиц или объектов. Например, в английском языке этой ситуации соответствует выражение «herding cats» (попытка собрать кошек в стадо) (в русском языке для подобных ситуаций могут подойти крыловские «лебедь, рак и щука» и «квартет»), описывающее трудности объединения группы упрямых, трудно контролируемых и неуступчивых животных, которые не подчиняются или даже полностью игнорируют какие-либо попытки централизованного управления ими. Вам знакомы трудности при попытках как-то организовать группу людей, не желающих подчиняться единому органу управления или игнорирующих этот орган? Вот это и есть ситуация, в которой формируется полностью распределенная пиринговая система, состоящая из отдельных независимых узлов без какого бы то ни было центрального пункта управления или координации. В данной главе рассматриваются сложная задача создания полностью распределенной пиринговой системы и ее взаимосвязь с технологией блокчейна.
Доверительность и целостность – это две стороны одной монеты. В контексте программных систем целостность (integrity) является нефункциональным аспектом системы: система должна быть безопасной (защищенной), полнофункциональной, непротиворечивой, корректной и свободной от сбоев и ошибок. Доверительность (trust) – это твердая убежденность людей в надежности, честности и/или компетентности (правомочности) кого-либо или чего-либо без свидетельств, доказательств или экспертных исследований. Доверительность существует изначально и может непрерывно увеличиваться или уменьшаться в зависимости от текущих результатов взаимодействия.
С точки зрения пиринговых систем это означает, что люди присоединяются к системе и продолжают сотрудничать с ней, если доверяют этой системе и если результаты взаимодействия постоянно подтверждают и укрепляют доверие. Целостность системы необходима для удовлетворения ожиданий пользователей и укрепления доверия к системе. Если доверие пользователей не укрепляется самой системой из-за отсутствия целостности, пользователи покидают систему, и в конце концов она просто прекращает свое существование. Осознание важности доверия для существования пиринговых систем приводит к ключевому вопросу: как обеспечить и поддерживать целостность в полностью распределенной пиринговой системе?
Обеспечение и поддержка целостности в полностью распределенных пиринговых системах зависят от множества факторов, наиболее важными из которых являются:
• знание количества узлов или партнеров;
• знание степени доверия (уровня надежности) между партнерами.
Вероятность обеспечения целостности в распределенной пиринговой системе повышается, если точно известно количество узлов и степень доверительности между ними. Эту ситуацию можно сравнить с деятельностью частного клуба, установившего высокие моральные стандарты и использующего жесткие процедуры приема для новых членов. Разумеется, наихудшие условия для обеспечения целостности в распределенной пиринговой системе – неизвестное количество узлов и отсутствие информации о степени доверия между ними. Это характерно для варианта создания полностью распределенной пиринговой системы в Интернете, открытой для всех.
Для упрощения можно рассматривать два основных источника опасности для целостности в пиринговых системах:
• технические отказы (сбои);
• злоумышленники-партнеры в системе.
Технические отказы (сбои)
Пиринговые системы состоят из отдельных компьютеров, пользователи которых обмениваются информацией по сети. Для любого аппаратного и программного компонента компьютера, а также для любого компонента сети постоянно существует опасность возникновения аварийного сбоя или критической ошибки. Таким образом, в любой распределенной системе в любой момент может появиться проблема из-за отказа компонента или из-за случайного искажения результата обработки данных.
Злоумышленники-партнеры в системе
Злоумышленники-партнеры являются вторым основным источником опасности для целостности в пиринговых системах. Это не техническая проблема, это проблема, создаваемая намерениями отдельных лиц, которые решили воспользоваться системой в своих корыстных целях. Можно утверждать, что эта опасность в большей степени относится к области социальной психологии и групповой динамики, чем к технологии. Нечестные и злонамеренные партнеры создают самую большую угрозу для пиринговой системы, потому что нападают на саму основу построения пиринговой системы: на доверие. Когда пользователи перестают доверять своим партнерам, они покидают систему и прекращают предоставлять ей свои вычислительные ресурсы. Количество партнеров уменьшается, и система в целом теряет свою привлекательность для оставшихся участников, что, в свою очередь, приводит к снижению возможностей системы и в конечном итоге к прекращению ее существования.
Обеспечение целостности и доверительности при всех наилучших условиях осуществляется очень просто. Но реальная (и весьма трудная) задача состоит в обеспечении целостности и доверительности в самых наихудших условиях. Именно эту задачу призвана решить технология блокчейна. Главная задача блокчейна – обеспечение и поддержка целостности в полностью распределенной пиринговой системе, состоящей из неизвестного количества партнеров с неизвестным уровнем надежности и доверительности. Задача эта не нова, это общеизвестная и часто обсуждаемая проблема в области информационных технологий. Используя метафору из военного дела (если говорить более точно, то из области криптологии), можно в широком смысле считать ее задачей византийских генералов [20].
Примечание
Главная задача, решаемая технологией блокчейна, – обеспечение и поддержка целостности в полностью распределенной пиринговой системе, состоящей из неизвестного количества партнеров с неизвестным уровнем надежности и доверительности.
В этой главе особо выделена важность обеспечения целостности и доверительности в пиринговых системах. Далее определяется главная задача, решаемая технологией блокчейна, и подчеркивается ее важность для обеспечения целостности и доверительности в пиринговых системах. Но пока еще не было дано точное определение термина «блокчейн». Это будет сделано в следующей главе.
• Целостность и доверительность – главные характеристики, которые необходимо обеспечить в пиринговых системах.
• Люди присоединяются к системе и продолжают сотрудничать с ней, если доверяют этой системе и если результаты взаимодействия постоянно подтверждают и укрепляют доверие.
• Если доверие пользователей не укрепляется самой системой из-за отсутствия целостности, пользователи покидают систему, и в конце концов она просто прекращает свое существование.
• Два основных источника опасности для целостности в пиринговых системах:
– технические отказы (сбои);
– злоумышленники-партнеры в системе.
• Обеспечение целостности в пиринговой системе зависит от следующих основных факторов:
– знание количества узлов или партнеров;
– знание степени доверия (уровня надежности) между партнерами.
• Главная задача, решаемая технологией блокчейна, – обеспечение и поддержка целостности в полностью распределенной пиринговой системе, состоящей из неизвестного количества партнеров с неизвестным уровнем надежности и доверительности.