Основы блокчейна: вводный курс для начинающих в 25 небольших главах
Шрифт:
Обеспечение и поддержка целостности в полностью распределенных пиринговых системах зависят от множества факторов, наиболее важными из которых являются:
• знание количества узлов или партнеров;
• знание степени доверия (уровня надежности) между партнерами.
Вероятность обеспечения целостности в распределенной пиринговой системе повышается, если точно известно количество узлов и степень доверительности между ними. Эту ситуацию можно сравнить с деятельностью частного клуба, установившего высокие моральные стандарты и использующего жесткие процедуры приема для новых членов. Разумеется, наихудшие условия для обеспечения целостности в распределенной пиринговой системе – неизвестное количество узлов и отсутствие информации о степени доверия между
Для упрощения можно рассматривать два основных источника опасности для целостности в пиринговых системах:
• технические отказы (сбои);
• злоумышленники-партнеры в системе.
Технические отказы (сбои)
Пиринговые системы состоят из отдельных компьютеров, пользователи которых обмениваются информацией по сети. Для любого аппаратного и программного компонента компьютера, а также для любого компонента сети постоянно существует опасность возникновения аварийного сбоя или критической ошибки. Таким образом, в любой распределенной системе в любой момент может появиться проблема из-за отказа компонента или из-за случайного искажения результата обработки данных.
Злоумышленники-партнеры в системе
Злоумышленники-партнеры являются вторым основным источником опасности для целостности в пиринговых системах. Это не техническая проблема, это проблема, создаваемая намерениями отдельных лиц, которые решили воспользоваться системой в своих корыстных целях. Можно утверждать, что эта опасность в большей степени относится к области социальной психологии и групповой динамики, чем к технологии. Нечестные и злонамеренные партнеры создают самую большую угрозу для пиринговой системы, потому что нападают на саму основу построения пиринговой системы: на доверие. Когда пользователи перестают доверять своим партнерам, они покидают систему и прекращают предоставлять ей свои вычислительные ресурсы. Количество партнеров уменьшается, и система в целом теряет свою привлекательность для оставшихся участников, что, в свою очередь, приводит к снижению возможностей системы и в конечном итоге к прекращению ее существования.
Обеспечение целостности и доверительности при всех наилучших условиях осуществляется очень просто. Но реальная (и весьма трудная) задача состоит в обеспечении целостности и доверительности в самых наихудших условиях. Именно эту задачу призвана решить технология блокчейна. Главная задача блокчейна – обеспечение и поддержка целостности в полностью распределенной пиринговой системе, состоящей из неизвестного количества партнеров с неизвестным уровнем надежности и доверительности. Задача эта не нова, это общеизвестная и часто обсуждаемая проблема в области информационных технологий. Используя метафору из военного дела (если говорить более точно, то из области криптологии), можно в широком смысле считать ее задачей византийских генералов [20].
Примечание
Главная задача, решаемая технологией блокчейна, – обеспечение и поддержка целостности в полностью распределенной пиринговой системе, состоящей из неизвестного количества партнеров с неизвестным уровнем надежности и доверительности.
В этой главе особо выделена важность обеспечения целостности и доверительности в пиринговых системах. Далее определяется главная задача, решаемая технологией блокчейна, и подчеркивается ее важность для обеспечения целостности и доверительности в пиринговых системах. Но пока еще не было дано точное определение термина «блокчейн». Это будет сделано в следующей главе.
• Целостность и доверительность – главные характеристики, которые необходимо обеспечить в пиринговых системах.
• Люди присоединяются
• Если доверие пользователей не укрепляется самой системой из-за отсутствия целостности, пользователи покидают систему, и в конце концов она просто прекращает свое существование.
• Два основных источника опасности для целостности в пиринговых системах:
– технические отказы (сбои);
– злоумышленники-партнеры в системе.
• Обеспечение целостности в пиринговой системе зависит от следующих основных факторов:
– знание количества узлов или партнеров;
– знание степени доверия (уровня надежности) между партнерами.
• Главная задача, решаемая технологией блокчейна, – обеспечение и поддержка целостности в полностью распределенной пиринговой системе, состоящей из неизвестного количества партнеров с неизвестным уровнем надежности и доверительности.
Глава 5
Однозначное определение термина
Четыре способа определения технологии блокчейна
Из предыдущих глав вы узнали о главной цели технологии блокчейна, о взаимосвязи между доверительностью и целостностью в программной системе. Это позволило с полным обоснованием дать верную оценку цели блокчейна, но сам термин «блокчейн» пока еще не был определен. В этой главе основное внимание уделено определению этого термина и объяснению различных вариантов его использования. Здесь представлено предварительное общее определение технологии блокчейна, которым мы будем руководствоваться при изучении следующих глав книги. В конце главы рассматривается, почему управление владением (собственностью) является самым широко распространенным вариантом применения технологии блокчейна.
При изложении материала данной книги термин «блокчейн» используется следующим образом:
• как имя структуры данных;
• как имя алгоритма;
• как имя набора (стека) технологий;
• как гипероним (обобщающее понятие) для полностью распределенных пиринговых систем с общей прикладной областью.
Структура данных
В информатике и программной инженерии структура данных (data structure) обозначает способ организации данных, не зависящий от конкретного информационного содержимого. Структуру данных можно сравнить с планом строящегося здания. На плане здания отображаются разделение и соединение пространства с помощью стен, этажей и лестниц независимо от способов их конкретного применения. При использовании в качестве имени структуры данных блокчейн обозначает данные, объединенные в комплекты, называемые блоками (block). Блоки данных во многом похожи на страницы в книге. Блоки соединяются друг с другом в цепочку, отсюда и название блокчейн (или цепочка блоков данных). В книге слова и предложения представляют хранимую информацию. Они записаны на отдельных страницах, а не на одном большом свитке. Страницы связаны друг с другом на основе их физического расположения в книге и соответствующих номеров страниц. Вы можете заметить, что какой-то страницы не хватает, проверяя непрерывность последовательности номеров страниц. Более того, информация на страницах книги, так же как и сами страницы, упорядочена. Такая упорядоченность является важной деталью, используемой повсеместно. Кроме того, цепочка блоков данных в структуре формируется с использованием специализированной системы нумерации, которая отличается от нумерации страниц в обычных бумажных книгах.
Алгоритм
В программной инженерии термин алгоритм означает последовательность инструкций, выполняемых компьютером. Инструкции часто пользуются структурами данных. При использовании в качестве имени алгоритма блокчейн обозначает последовательность инструкций, обрабатывающих информационное содержимое структур данных блокчейна (blockchain-data-structures) в полностью распределенной пиринговой системе. Это несколько напоминает схему демократического голосования.