Контакты
Подписка
МЕНЮ
Контакты
Подписка

Кратко о терминологии в области блокчейна

Кратко о терминологии в области блокчейна

В рубрику "Оборудование и технологии" | К списку рубрик  |  К списку авторов  |  К списку публикаций

Кратко о терминологии в области блокчейна

Широко обсуждаемая в настоящее время технология блокчейн (технология цепной записи данных) у большинства читателей ассоциируется с вполне конкретными финансовыми приложениями – криптовалютами (ввиду их широкой известности и значительного ажиотажа вокруг них), такими, например, как Bitcoin и Ethereum. Подобное однобокое восприятие во многом затрудняет понимание идей, заложенных в основу функционирования систем, использующих данную технологию.
Антон
Гуселев
Эксперт технического комитета по стандартизации ТК 26, ISO/IEC JTC1/SC 27, ISO TC 307
Григорий
Маршалко
Эксперт технического комитета по стандартизации ТК 26, ISO/IEC JTC1/SC 27, ISO TC 307
Иван
Лавриков
Эксперт технического комитета по стандартизации ТК 26, ISO/IEC JTC1/SC 27, ISO TC 307

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

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

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


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

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

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

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

Отметим, что для некоторых систем, таких, например, как Bitcoin и Ethereum, блоки объединяются в единую последовательность однозначно связанных блоков, которую и принято называть блокчейном. В то же время уже сейчас существуют системы такие, например, как Corda [7] и IOTA [8], в которых блоки могут иметь произвольные связи (таким образом они являются вершинами некоторого графа).

Для классических, используемых в настоящее время систем характерно наличие оператора (доверенной стороны), который выполняет функции хранения основной копии реестра, ее обновления, а также, возможно, защиты и разграничения доступа. В ряде блокчейн-систем, так называемых децентрализованных, наличие такого постоянно действующего оператора не предусматривается. В этой связи появляется необходимость определения среди пользователей активного оператора, который осуществит изменение реестра в очередной момент времени. Одними из основных подходов к решению данной задачи является реализация так называемой процедуры консенсуса. В зависимости от архитектуры системы такая процедура может иметь различный вид. В настоящее время наиболее распространенными являются процедуры византийского соглашения [4]; с доказательством работы [5]; с доказательством владения, а также некоторые другие [6].

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

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


Отметим, что в отсутствие доверенной стороны для обеспечения возможности работы с реестром различных операторов требуется наличие его идентичных копий у всех операторов, что приводит к системе, использующей так назы-вемые распределенные реестры. Здесь необходимо отметить не совсем удачный перевод понятия Distributed Ledger, которое для существующих информационных систем, как правило, означает территориальную разобщенность ее элементов (что, кстати, реализовано в упомянутой ранее системе Corda). В то же время применительно к технологии блок-чейн данный термин означает дублирование идентичных копий реестра у различных пользователей, в связи с чем уместнее использовать термин "дублированный, или реплици-рованный, реестр".

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

Литература

  1. ГОСТ ISO/TS 22220–2013. Межгосударственный стандарт, информатизация здоровья, идентификация субъектов медицинской помощи.
  2. ГОСТ 7.0.8–2013 СИБИД. Делопроизводство и архивное дело. Термины и определения.
  3. ГОСТ Р 55681–2013 / ISO/TR 26122:2008. Информация и документация. Анализ процессов работы с точки зрения управления документами.
  4. Тель Ж. Введение в распределенные алгоритмы. – МЦНМО, 2009. – 616 с.
  5. Jacobson M., Juels A. Proofs of Work and bread pudding protocols. Secure Information Networks: Communications and Multimedia Security IFIP TC6/TC11 Joint Working Conference on Communication and Multimedia Security (CMS’99), September 20–21, 1999, Leuven, Belgium. Р. 258–272.
  6. Bentov I., Gabizon A., Mizrahi A. Cryptocurrencies without Proof of Work. arXiv:1406.5694 [cs.CR]
  7. Brown Richard G. Introducing R3 CordaTM: A Distributed Ledger Designed for Financial Services. Available at: http://www.r3cev.com/blog/2016/4/4/introducing-r3-corda-a-distrib-uted-ledger-designed-for-financial-services
  8. https://iota.org

Опубликовано: Журнал "Information Security/ Информационная безопасность" #6, 2017

Приобрести этот номер или подписаться

Статьи про теме