Книга: Основы блокчейна: вводный курс для начинающих в 25 небольших главах
Назад: Глава 20. Плата за сохранение целостности. За поддержание целостности и создание доверительных отношений нужно платить
Дальше: Часть IV. Ограничения и способы их преодоления

Глава 21

Соединяем все элементы

Это больше, чем простой набор составных частей

Эта глава представляет собой своеобразное подведение итога нашего мысленного пути к пониманию технологии блокчейна. В главах 9-20 поочередно излагались отдельные концепции, на основе которых выстроена технология блокчейна, а в данной главе все эти составные части собираются в единое целое. В итоге вы не только полностью поймете технологию блокчейна в целом, но и увидите, как различные концепции работают совместно. Глава начинается с общего обзора основных концепций и технологий блокчейна, затем демонстрируется, что в основе блокчейна заложены технические знания, полученные вами из предыдущих глав. В конце главы определяется и кратко описывается комплект технологий блокчейна, который открывает возможности применения блокчейна в широком диапазоне прикладных областей.

Обзор концепций и технологий

Наш мысленный путь к пониманию технологии блокчейна начался с главы 8, где мы составляли план проекта полностью распределенной пиринговой системы для управления правами владения собственностью. В табл. 21.1 представлены эти задачи, их цели, соответствующие этапы выполнения и соответствующие концепции технологии блокчейна.

Важно знать, что эти основные концепции, формирующие сущность технологии блокчейна, основаны на других концепциях и технологиях. Для хорошего понимания блокчейна требуется хотя бы общее представление об этих концепциях. Поэтому в табл. 21.2 приведено несколько более подробное описание технологий, на которых основана технология блокчейна. В оставшейся части главы будут разъясняться концепции, представленные в этих двух таблицах.



Таблица 21.1 Обзор задач по проектированию распределенной пиринговой системы для управления правами владения собственностью



Таблица 21.2 Технические концепции технологии блокчейна, их цели и соответствующие метафоры Окончание табл. 21.2

Что такое блокчейн

После общего краткого обзора отдельных концепций, формирующих основу технологии блокчейна, важно понять, как они работают совместно. Методика анализа систем путем определения функциональных и нефункциональных аспектов уровня приложения и уровня реализации обеспечивает необходимую поддержку при решении трудной задачи, связанной с полным пониманием того, как в совокупности работают концепции технологии блокчейна. В табл. 21.3 приведен обзор уровней и аспектов блокчейн-системы. Это поможет вам осмыслить все перечисленные выше концепции как единое целое.





Таблица 21.3 Уровни и аспекты блокчейн-системы



Предназначение блокчейн-системы: функциональные аспекты уровня приложения

Блокчейн-система предназначена для достижения следующих двух целей:

• уточнение и подтверждение права владения собственностью;

• передача права владения собственностью.





Уточнение и подтверждение права владения собственностью

Сущность уточнения и подтверждения права владения собственностью состоит в ответе на главный вопрос, непосредственно связанный с правами владения: кто владеет, каким объектом, в каком количестве и в какое время?





Передача права владения собственностью

Передача права владения собственностью означает изменение текущего состояния прав владения. С учетом этой целевой задачи блокчейн-система позволяет владельцам передавать свою собственность другим лицам. Таким образом, эта процедура позволяет ответить на другой, не менее важный вопрос, связанный с правами владения собственностью: кто передал право владения, на какой объект, в каком количестве, кому и в какое время?





Свойства блокчейн-системы: нефункциональные аспекты

При взаимодействии с блокчейн-системой вы наверняка обратите внимание на то, как она выполняет свои функции. Качество выполнения этих обязательных функций определяется нефункциональными аспектами системы:

• высокая доступность;

• защита от цензуры;

• надежность;

• открытость;

• псевдоанонимность;

• безопасность;

• гибкость (эластичность);

• общая согласованность;

• сохранение целостности.





Высокая доступность

Блокчейн-система никогда не прекращает свою работу. Более того, блокчейн-система доступна постоянно: 24 часа в сутки, 7 дней в неделю, в любое время года. В системе даже нет кнопки отключения.





Защита от цензуры

Ни один из членов системы не имеет возможности единолично устанавливать содержимое блокчейн-системы или отключить всю систему.





Надежность

Блокчейн-система выполняет свои функции сообразно цели и с высоким качеством. Любой человек может быть вполне уверен в корректном установлении, подтверждении и передаче прав владения собственностью.





Открытость

Блокчейн-система не запрещает конкретным пользователям или компьютерам использовать ее сервисы. Она открыта для всех.





Псевдоанонимность

В блокчейн-системе владельцы идентифицируются недвусмысленно, но в ней не используются и не публикуются какие-либо реальные идентификационные данные о владельце.





Безопасность

Блокчейн-система безопасна с двух точек зрения: во-первых, на уровне отдельных транзакций, во-вторых, на уровне всей системы. На уровне отдельных транзакций блокчейн-система гарантирует. что право владения сохраняется исключительно в распоряжении законного владельца. На общесистемном уровне блокчейн защищает права всех владельцев от любых изменений, подделок, фальшивок, а также от двойного расходования и от несанкционированного доступа.





Гибкость

Блокчейн-система способна корректно подтверждать и передавать права владения собственностью даже в самых трудных условиях. Она выдерживает многие типы атак, такие как поддельные данные, двойное расходование, фальшивые документы и попытки доступа посторонних лиц к объектам собственности.





Общая согласованность

Результаты работы блокчейн-системы не всегда являются полностью согласованными. Но вероятность получения согласованных результатов возрастает со временем, и в конечном итоге вся система приходит к состоянию полной общей согласованности.





Сохранение целостности

Блокчейн-система сохраняет свою целостность, демонстрируя поведение, при котором устранены логические ошибки. Она поддерживает согласованность данных и обеспечивает защиту как на уровне отдельных транзакций, так и для всей хронологии данных транзакций в целом.





Внутренняя функциональность: функциональные аспекты уровня реализации

Внутреннюю функциональность блокчейн-системы можно прослеживать по следующим основным компонентам:

• логика прав владения собственностью;

• защита транзакций;

• логика обработки транзакций;

• логика хранения (данных);

• пиринговая архитектура;

• логика согласования.





Логика прав владения собственностью

Логика прав владения собственностью определяет процедуры установления, подтверждения и передачи прав владения. Блокчейн-система использует данные отдельной транзакции для описания передачи прав владения и обслуживает весь комплект данных транзакций для подтверждения права владения. На рис. 21.1 схематично изображена логика прав владения собственностью вместе с концепциями, на которых она основана. Названия концепций размещены в прямоугольниках, при этом концепции более высоких уровней зависят от концепций, расположенных непосредственно под ними по схеме. На самом нижнем уровне прямоугольников показаны базовые концепции, от которых зависит логика прав владения собственностью. Эти концепции следует рассмотреть более подробно.

Логика прав владения собственностью, используемая блокчейн-системой, основана на логике хранения, которая поддерживает полную хронологию данных транзакций, и на логике согласований, которая обеспечивает логическую согласованность данных. Кроме того, в основе логики прав владения собственностью заложена логика обработки транзакций, благодаря которой добавляются только корректные данные транзакций, а также концепция защиты транзакций, обеспечивающая возможность передачи прав собственности в другую учетную запись только для законного владельца конкретного объекта собственности. На эти четыре концепции опираются остальные компоненты блокчейн-системы.





Рис. 21.1 Логика прав владения собственностью и концепции, на которых она основана





Защита транзакций

Защита транзакций гарантирует, что только законный владелец может получить доступ к своей собственности и передать право на нее другой учетной записи. На рис. 21.2 изображены концепции, применяемые при реализации защиты транзакций. Базовые концепции, такие как криптографические хэш-значения и асимметричная криптография, расположены на самом нижнем уровне прямоугольников, так как они служат основанием для всех прочих концепций, показанных на более высоких уровнях. Например, цифровая подпись размещена ниже авторизации, потому что является средством авторизации транзакции, но выше криптографических хэш-значений и закрытого ключа, поскольку для реализации цифровой подписи используются эти концепции. Подобным образом на рис. 21.2 наглядно отображены зависимости аутентификации и идентификации от криптографических концепций более низких уровней.





Рис. 21.2 Защита транзакций и концепции, на которых она основана





Логика обработки транзакций

Логика обработки транзакций обеспечивает добавление только корректных данных транзакций в коллективно поддерживаемую хронологию данных транзакций. Она непосредственно зависит от процедуры проверки данных транзакций, которая представляет подлинную цель системы. Каждый отдельный узел системы может независимо от других выполнять проверку данных транзакций. Но каждый отдельный узел может совершать ошибки при проверке данных транзакций или преднамеренно принять некорректные данные транзакции. В обоих случаях возникает угроза нарушения целостности всей системы. Поэтому для обработки транзакций предусмотрен изощренный механизм, обеспечивающий проверку новых блоков и их заголовков соответственно: пиринговая архитектура, распределенное управление и конкуренция между партнерами, которые, в свою очередь, основаны на средствах поощрения и наказания. На рис. 21.3 изображены взаимосвязи между этими концепциями в виде прямоугольников, распределенных по соответствующим уровням.





Рис. 21.3 Логика обработки транзакций и концепции, на которых она основана





Логика хранения

Результаты обработки корректных транзакций добавляются в общую хронологию данных транзакций, точнее, в хранилище данных, обслуживающее общую хронологию данных транзакций. Целостность всей системы и ее способность выполнять поставленную задачу по определению, подтверждению и передаче прав владения собственностью зависит от целостности этого хранилища данных. Таким образом, логика хранения связана с обслуживанием общей хронологии данных транзакций и с защитой хронологии от изменений, подделок и фальсификаций. Сложность и высокая стоимость любых изменений обеспечивают такую защиту. Как показано на рис. 21.4, логика хранения достигает своей цели, поддерживая неизменяемое хранилище, в котором разрешено только добавление данных и которое основано на процедуре подтверждения выполненной работы и на структуре данных блокчейна. Функционирование хранилища можно прослеживать с помощью хэш-головоломок, хэш-ссылок и структур данных, чувствительных к изменениям, которые, в свою очередь, прослеживаются до базовых концепций криптографических хэш-значений. На рис. 21.4 изображены взаимосвязи между этими концепциями в виде прямоугольников, распределенных по соответствующим уровням.





Рис. 21.4 Логика хранения и концепции, на которых она основана





Пиринговая архитектура

Архитектура определяет, каким образом связаны и соединены компоненты или узлы системы. Как показано на рис. 21.5, блокчейн использует полностью распределенную пиринговую систему, состоящую из независимых партнеров, называемых узлами (nodes). Узлы соединяются друг с другом через сеть, которая служит средой, обеспечивающей обмен информацией. Каждый член системы обслуживает собственную копию структуры данных блокчейна, содержащую полную хронологию данных транзакций. Партнеры обмениваются информацией, используя протокол передачи сообщений в стиле gossip (распространение слухов), который гарантирует, что в конечном итоге каждый член системы получит всю необходимую информацию.





Рис. 21.5 Архитектура и концепции, на которых она основана





Логика согласования

Поскольку все узлы распределенной системы обслуживают собственную версию хронологии транзакций независимо друг от друга, содержимое разных версий может быть различным из-за задержек и прочих препятствий для сообщений, распространяемых в сети. Поэтому хранилище данных, для которого изначально предполагалась форма прямолинейной цепочки связанных блоков данных, в действительности принимает форму древовидной структуры, в которой каждая ветвь представляет конфликтующую версию хронологии транзакций. Логика согласования, схематично изображенная на рис. 21.6, в конечном итоге приводит к полной согласованности всех узлов системы, заставляя их выбирать одинаковую версию хронологии транзакций, в которой объединены наибольшие коллективные усилия.





Рис. 21.6 Логика согласования и концепции, на которых она основана





Повышаем уровень абстракции

Повысить уровень абстракции можно, если определить и отделить компоненты блокчейна, специально предназначенные для решения задачи по управлению правами владения собственностью, от прочих компонентов, ориентированных на конкретные прикладные цели. Это полностью согласуется с нашим пониманием набора технологий блокчейна, описанного в главе 5. Очевидно, что логика прав владения собственностью и данные транзакций являются компонентами, специфическими для конкретного приложения, так как они определяют, как именно право владения описывается данными транзакций и каким образом происходят установление, подтверждение и передача прав владения собственностью. С другой стороны, защита транзакций и логика обработки транзакций в меньшей степени привязаны к целям конкретного приложения.

Для защиты транзакций применяются общие концепции идентификации, аутентификации, авторизации и цифровой подписи, которые могут использоваться любым другим приложением. По рис. 21.3 понятно, что логика обработки транзакций представляет собой гигантский аппарат обработки данных, большинство компонентов которого не связано с конкретными прикладными целями. Единственный компонент логики обработки данных, тесно связанный с целью конкретного приложения, – это процедура проверки корректности данных транзакций. Все прочие компоненты, такие как конкуренция, разделение управления между партнерами, поощрение, наказание и проверка корректности заголовков блоков, не имеют отношения к обрабатываемым в конкретном приложении данным. На рис. 21.7 показан результат разделения компонентов блокчейна, связанных с конкретным приложением, и компонентов, не зависящих от целей и задач конкретного приложения, которые, в свою очередь, формируют комплект технологий блокчейна.





Рис. 21.7 Набор технологий блокчейна в блокчейн-системе





Перспектива

Эта глава объединяет все составные части, которые рассматривались в предыдущих главах, в единое целое, позволяющее увидеть общую картину использования технологии блокчейна. Открытость и отсутствие какой-либо формы централизованного управления или координации являются основой такой системы, поскольку позволяют своим узлам выступать в роли независимых свидетелей при установлении и подтверждении прав владения собственностью и решать все связанные с этим вопросы. Тем не менее рассматриваемые здесь характеристики могут приводить и к нежелательным последствиям. В следующей главе будут рассматриваться такие нежелательные последствия и потенциально возможные ограничения использования технологии блокчейна, связанные с этими последствиями.

Резюме

• Блокчейн-система – это полностью распределенная пиринговая система, предназначенная для решения следующих задач, обеспечивающих управление правами владения собственностью:

– описание прав владения собственностью: хронология данных транзакций;

– защита прав владения собственностью: цифровая подпись;

– хранение данных транзакций: структура данных блокчейна;

– подготовка реестров для распространения: неизменяемость;

– распространение реестров: передача информации по сети в стиле протокола gossip;

– обработка новых транзакций: алгоритм блокчейна;

– принятие решения о едином реестре, содержащем корректные данные: распределенное согласование.

• Анализ блокчейн-системы выполняется по следующим характеристикам:

– цель приложения;

– свойства;

– внутренняя функциональность.

• Для блокчейн-системы определены две прикладные цели:

– установление и подтверждение права владения собственностью;

– передача права владения собственностью.

• Блокчейн-система выполняет свои прикладные задачи, предъявляя следующие качественные характеристики:

– высокая доступность;

– защита от цензуры;

– надежность;

– открытость;

– псевдоанонимность;

– безопасность;

– гибкость;

– полная окончательная согласованность;

– сохранение целостности.

• Блокчейн-система состоит из компонентов двух типов: тесно связанных с задачей приложения, ориентированной на управление правами владения собственностью, и независимых от задачи приложения.

• Специфические для конкретного приложения компоненты блокчейн-системы:

– логика прав владения собственностью;

– данные транзакций;

– логика обработки транзакций;

– защита транзакций;

– независимые от конкретного приложения компоненты блокчейн-системы;

– набор технологий блокчейна;

– полностью распределенная пиринговая архитектура.

• Набор технологий блокчейна состоит из следующих компонентов:

– логика хранения;

– логика согласования;

– логика обработки данных;

– асимметричная криптография.

Назад: Глава 20. Плата за сохранение целостности. За поддержание целостности и создание доверительных отношений нужно платить
Дальше: Часть IV. Ограничения и способы их преодоления