Приветствую, Хабр! В очередной раз возникло желание обсудить блокчейн‑технологии, хотя им и было посвящено уже немало публикаций на Хабре (да и, несомненно, их еще будет много в дальнейшем).

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

  • «…the invention of the blockchain is as important and influential as the creation of the Internet itself» («…изобретение блокчейна настолько же важно и весомо, как создание самого Интернета») [1] (перечень ссылок приведен в конце статьи);

  • «Blockchain is going to upend entire societies. It»s going to enable new kinds of governance systems that were before only the daydreams of utopians and philosophers» («Блокчейн способен изменить общество в целом. Он может привести к появлению новых форм государственного управления, которые раньше были возможны только в мечтах утопистов и философов») [2].

В результате этого выбор данной технологии как базовой в той или иной системе может быть продиктован не техническими требованиями к системе, а как результат выбора (возможно даже, что навязанного извне) в пользу модной и перспективной технологии, возможно при этом не совсем технически обоснованного. Добавлю, что такой выбор еще и усилит тот самый информационный шум: достаточно много появляется новостей типа «Финляндия решила проблему идентификации беженцев с помощью блокчейна» [3], а новостей про использование в той или иной системе известных и устоявшихся технологий значительно меньше — разве же возможен такой пиар на применении классических СУБД?

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

В этой статье мы рассмотрим достоинства и недостатки блокчейн‑технологий и попытаемся классифицировать сферы их применения, после чего дадим обзор формализованных методов выбора: «блокчейн или не блокчейн».

Преимущества блокчейна и классификация применений

Блокчейн‑технологии предлагают массу преимуществ по сравнению с известными ранее технологиями хранения и обработки данных. Какие из них можно считать наиболее важными — это дискуссионный вопрос, важность конкретного свойства любой технологии зависит от ее применения. Тем не менее, постараюсь сформулировать наиболее важные преимущества блокчейна на мой взгляд:

  • отсутствие необходимости в наличии третьей доверенной стороны; для финансовых (но не криптовалютных) применений это, в числе прочего, способствует уменьшению стоимости транзакций;

  • децентрализация, включая легко обеспечиваемую географическую распределенность, может способствовать усилению устойчивости и бесперебойности функционирования;

  • механизмы поддержания целостности, аутентичности и привязки ко времени встроены в основу блокчейна и обеспечены криптографическими алгоритмами;

  • прозрачность и относительно простая возможность проверки корректности данных.

Эти и другие преимущества объясняют широчайший спектр применений блокчейн‑технологий. Если попытаться классифицировать известные (подтвержденные публикациями в достаточно авторитетных источниках) применения, то получается картина, приведенная на следующих четырех схемах, каждая из которых относится к определенной сфере применения.

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

При этом даже из приведенной классификации можно сделать вывод о совершенно различающейся степени полезности блокчейна в различных из перечисленных на схемах применений, например:

  • криптовалюты вообще вряд ли возможно было бы реализовать без блокчейна (попытки были, но вряд ли их можно считать успешными), т. е. в данном применении роль блокчейна является наиважнейшей;

  • прочие финансовые применения, реестры недвижимости или регистрация действий по постпродажному обслуживанию, скажем, транспортных средств — это те применения, которые явно могут выиграть от применения блокчейн‑технологий, но их роль уже не является определяющей;

  • необходимость и преимущества применения блокчейн‑технологий в системах цифровых удостоверений личности, а также в электронной почте или в выпуске/обслуживании сертификатов открытых ключей выглядят (по сравнению с предыдущими примерами) значительно менее очевидными.

Недостатки блокчейна и почему его широкое применение может вызвать озабоченность

Посмотрим на проблему с другого ракурса. Попробую сформулировать также недостатки и ограничения блокчейн‑технологий:

  • невозможность удаления данных (в т. ч. реализации «права быть забытым»);

  • избыточная ресурсоемкость;

  • отсутствие общих стандартов и неинтероперабельность блокчейн‑протоколов;

  • неосведомленность потребителей о возможностях технологий, ассоциирование технологий с нелегальной составляющей;

  • недостаток высококвалифицированных специалистов в данной области, медленный ввод необходимых образовательных программ;

  • отсутствие статистически значимого опыта применения технологий, риск «раннего внедрения»;

  • наличие законодательных ограничений, риск их усиления;

  • перспектива взлома используемых криптографических алгоритмов на горизонте в десятки/сотни лет;

  • проблемы сопряжения с реальным миром.

Очевидно, что отнесение того или иного из перечисленных выше свойств к недостаткам напрямую зависит от применения технологии. Например:

  • невозможность реализации «права быть забытым» (предположим новостной интернет‑ресурс, все публикации которого хранятся в виде блокчейна) — это обратная сторона одного из базовых свойств блокчейна — неизменности записанной в него информации; данное свойство однозначно полезно в других применениях блокчейна — например, в тех же упомянутых ранее реестрах недвижимости;

  • избыточная ресурсоемкость свойственна далеко не всем применениям блокчейна — например, для обмена данными между устройствами Интернета вещей используется низкоресурсный блокчейн, в котором многие составляющие его алгоритмы оптимизированы для устройств с ограниченными ресурсами;

  • риск усиления законодательных ограничений свойственен криптовалютным применениям блокчейн‑технологий и вряд ли затрагивает остальные.

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

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

Процитирую еще одно мнение, касающееся блокчейн‑технологий: «Since blockchain technology is still new, a lot of organizations are looking at ways to incorporate it into their businesses. The fear of missing out on this technology is quite high, and most organizations approach the problem as „we want to use blockchain somewhere, where can we do that?“... A better approach would be to first understand blockchain technology, where it fits, and then identify systems (new and old) that may fit the blockchain paradigm». («Поскольку блокчейн‑технология все еще является новой, многие организации рассматривают возможности ее внедрения в свои бизнес‑процессы. Боязнь потерять что‑либо, не использовав данную технологию, велика, и многие организации подходят к вопросу так: „Мы хотим использовать блокчейн где‑нибудь, где мы можем это сделать?“... Более правильным было бы сначала разобраться в блокчейн‑технологии и где она подходит, а потом выбрать системы (новые и существующие), которые соответствуют парадигме блокчейна».) [4]

Цитата принадлежит отчету Национального института стандартов и технологий США (NIST) — американского регулятора явно беспокоит несколько искаженное целеполагание в части возможного применения блокчейн‑технологий. Данное беспокойство вылилось в создание данным институтом формальной схемы выбора базовой технологии хранения и обработки данных при проектировании информационных систем, которую NIST рекомендует применять для оценки целесообразности применения блокчейн‑технологий.

Рассмотрим эту и другие подобные схемы.

Обзор формализованных схем выбора технологии

Схемы, позволяющие на основе применения определенных и достаточно конкретных критериев ответить на вопрос, «использовать ли блокчейн или нет», приведены на четырех рисунках далее (в переводе на русский язык).

Схемы сами по себе достаточно информативны и имеют много общего, поэтому я не стал снабжать каждую из них отдельными комментариями, а привел общие мысли по данным схемам после них.

Схема NIST [4]
Схема NIST [4]
Схема Академии информационных и коммуникационных технологий Китая [5]
Схема Академии информационных и коммуникационных технологий Китая [5]
Схема из работы [6]
Схема из работы [6]
Схема из работы [7]
Схема из работы [7]

Первые две схемы разработаны организациями, одна из которых (Академия информационных и коммуникационных технологий Китая) является научной, а вторая представляет регулятора (NIST относится к Министерству торговли США), но обладает большой научной составляющей; две другие схемы созданы экспертами.
В данных схемах достаточно много общего. При этом можно утверждать, что есть и принципиальные отличия.
В частности, во второй и третьей схемах основные вопросы, на которые нужно ответить проектировщику системы, сводятся к следующим:

  • требуется ли хранение данных;

  • требуется ли запись многими пользователями, все ли они доверенные;

  • доверяют ли пользователи друг другу (действуют ли они на основе общих интересов) или какой‑либо третьей доверенной стороне.

В четвертой схеме некоторые вопросы можно пропустить (причем нельзя сказать, что эти вопросы не важны, но автор схемы по какой‑то причине добавил обходной путь), а основная часть схемы начинается с вопроса, удовлетворяют ли требованиям существующие базы данных, при положительном ответе на который делается вывод, что блокчейн не требуется.
Наиболее подробной схемой является схема, описанная в отчете NIST [4]. В ней же ставится больше всего именно технических вопросов. Что удивительно, только в схеме NIST присутствует вопрос, требуется ли обновление или удаление записанных данных, который, на мой взгляд, при подобном выборе является одним из наиболее важных: как решить проблему удаления данных (если оно необходимо) при использовании блокчейна?

Наконец, именно схема NIST является наиболее строгой (виден скептицизм по отношению к блокчейну): даже если ответы на все вопросы привели вас к блокчейну, результатом будет не рекомендация использовать блокчейн, а неоднозначно звучащий вывод: «Возможно, блокчейн будет полезен». Впрочем, было бы удивительно, если бы регулятор подходил к какому‑либо вопросу не с позиций здорового консерватизма.
В общем, не будет удивительным, если применение всех четырех схем к конкретной ситуации даст различающиеся результаты.

Значительно более формально подошла к вопросу организация ACT‑IAC (American Council for Technology — Industry Advisory Council), представляющая собой некоммерческий консультативный совет из представителей науки, образования и промышленности, действующий в интересах правительства США с целью обеспечения «более эффективного и инновационного управления» [8]. Изданный ACT‑IAC документ [8] представляет собой достаточно подробное руководство по внедрению блокчейн‑технологий в государственных информационных системах.

Как и в приведенных ранее схемах, в данном руководстве прежде всего предлагается ответить на основной вопрос, требуется ли блокчейн в конкретной информационной системе. Для получения обоснованного ответа на этот вопрос эксперты ACT‑IAC привели перечень из следующих частных вопросов:

  1. Будет ли вариант использования включать бизнес‑сеть, охватывающую несколько организаций / агентств?

  2. Существует ли в настоящее время недостаток доверия между участниками бизнес‑сети и/или источниками данных?

  3. Выиграют ли организации от совместного подхода к управлению и стандартам данных?

  4. Можно ли более эффективно решить задачи с помощью других технологий (например, распределенной базы данных)?

  5. Требуется или полезна ли строгая неизменяемость транзакций?

  6. Требуется или полезно ли использование распределенных реестров и децентрализованного подхода к управлению?

  7. Может ли ваша организация извлечь выгоду из преобразования соответствующих бизнес‑возможностей в децентрализованную организацию?

  8. Если вы сможете перепрофилировать бизнес‑логику для распределенной организации, как выиграют ваши ключевые компетенции?

  9. Есть ли сейчас недостатки в межорганизационных бизнес‑процессах?

  10. Вы ищете средство для безопасного обмена справочными данными между участниками бизнес‑сети?

  11. Требуется ли отслеживание жизненного цикла оцифрованного актива, в т. ч. в процессе его контроля / владения разными членами бизнес‑сети?

  12. Существует ли система, которая могла бы служить надежным источником истины для всех сторон?

  13. Предъявляются ли высокие требования к производительности?

На каждый из этих вопросов нужно дать один из шести вариантов ответа: от «совсем не важно / не применимо / не требуется…» до «критически важно / крайне необходимо…». По результатам каждого ответа дается количественная оценка; на основании полученной суммы оценок можно сделать один из следующих выводов:

  • блокчейн однозначно неприменим;

  • степень применимости не ясна, необходим дополнительный анализ;

  • блокчейн однозначно применим.

Если с помощью приведенных выше схем можно быстро (но примерно) оценить применимость блокчейна в конкретных системах, то формальный подход ACT‑IAC на основе количественной оценки позволяет значительно более точно не только дать бинарную оценку «применим / не применим», но и понять степень полезности (или бесполезности) блокчейна в конкретном оцениваемом случае.

Заключение

Хотелось бы, чтобы при выборе основных технологий, включая технологии хранения и обработки данных, разработчики информационных систем (особенно рассчитанных на широкое применение и большое количество пользователей) руководствовались именно техническими требованиями к разрабатываемой системе и не принимали во внимание «информационный шум». На мой взгляд, уместным в данном случае выглядит и использование существующего опыта и знаний, в том числе в виде подобных схем или опросников, позволяющих сделать выбор на основе формальных критериев.

Литература по теме

1.      Osgood R. The Future of Democracy: Blockchain Voting. 2016.

2.      Qureshi H. Blockchain: the revolution we’re not ready for. 2017.

3.      Финляндия решила проблему идентификации беженцев с помощью блокчейна. 2017.

4.      NISTIR Internal Report 8202. Blockchain Technology Overview. 2018.

5.      China Academy of Information and Communication Technology. Trusted Blockchain Initiatives. Blockchain White Paper. 2018.

6.      Wüst K., Gervais A. Do you need a Blockchain? 2017.

7.      Chand M. Do You Need A Blockchain. 2022.

8.      ACT-IAC Emerging Technology Community of Interest. Blockchain Playbook for the U.S. Federal Government. 2019.

Комментарии (5)


  1. VVitaly
    14.09.2023 07:08

    К примеру вы проектируете будущую систему, и честно (по схеме) на вопрос "Необходимо ли вашей системе доверие третьей стороны?" - отвечаете "Нет". Строите свое блокчейн хранилище. А "завтра" госрегулятор вам "говорит" "Ваша система обязана доверять доверять организации .....". Ваши действия? Все "по новому"? :-)


    1. SergeyPanasenko Автор
      14.09.2023 07:08

      Думаю, что в таком случае блокчейн всё равно можно будет использовать, но вряд ли он останется оптимальным решением. Подобная смена условий вряд ли будет полезна любой системе, а не только блокчейну.


      1. VVitaly
        14.09.2023 07:08

        "Подобная смена условий" не повлияет катастрофически на архитектуру вашей системы, если вы не будете использовать БД на блокчейне... :-)


        1. SergeyPanasenko Автор
          14.09.2023 07:08

          А если наоборот? У вас классическая СУБД с записью данных, подтверждаемых (прямо или косвенно) третьей доверенной стороной. Доверенная сторона по какой-либо причине перестает существовать. Мне кажется, будет еще хуже :-)


          1. VVitaly
            14.09.2023 07:08

            Классическая БД при записи данных не требует "доверенной" стороны. Права на вставку/изменение/удаление данных в ней регулируется правами пользователя БД. Хотя в своем собственном приложении (имея необходимые права на уровне пользователя БД) вы можете "выдумать" и собственные права работы с данными... :-)
            Возможность "забыть то что было" неоспоримое преимущество классических БД. И проистекает оно из простой истины "внешний мир" (преимущественно) не может взаимодействовать с данными БД "напрямую" и всегда есть "прокладка" в виде "кожаного мешка". А людям свойственно ошибаться, и при написании ПО и при взаимодействием с ним. И зачастую исправлять уже допущенные ранее ошибки в данных другими методами чем "забудь старое и вот исправленные данные" на порядки сложнее (чем к примеру метод "вот тебе новые данные для корректировки/исправления ранее уже допущенных ошибок") или просто иногда не возможно...
            Люди очень изобретательны в своих ошибках.... :-)