Ваш браузер устарел. Он имеет уязвимости в безопасности и может не показывать все возможности на этом и других сайтах. Узнайте, как обновить Ваш браузер.

OK

Блокчейн, распределенный реестр и доверенная третья сторона

И почему производителю сенсоров для Интернета вещей надо об этом знать

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

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

Блокчейн (от англ. blockchain, «цепочка блоков») — это «открытый, распределенный реестр, куда эффективным, поддающимся проверке и неизменяемым способом записываются транзакции между двумя сторонами»[1]. Технологии блокчейн уже десять лет: она появилась 3 января 2009 года.

После создания первичного блока к каждому блоку добавляется следующий с использованием криптографической хэш-функции (это выполняется так называемыми майнерами [2]). Предыдущий блок нельзя изменить, заменить или удалить без обновления всех последующих блоков во всех копиях цепочки. Копия цепочки хранится на каждом узле в системе. Такой механизм предполагает, что чем больше узлов в цепочке, тем надежнее становится блокчейн. Независимо от того, какие данные записаны в блок, они не могут быть изменены (или сфальсифицированы). Технология блокчейн и ее самая известная реализация Bitcoin («биткоин») на настоящий момент уже стала мировым явлением — данные, записываемые в блоки биткоина, соответствуют «финансовым» транзакциями между сторонами, то есть фактически это электронный реестр. Именно поэтому блокчейн иногда называют распределенным реестром.

Что такое блокчейн
Пример блокчейна: биткоин

Пример блокчейна: биткоин

Поскольку каждый узел не зависит от любого другого и у всех узлов есть копия цепочки (или реестра), не существует ответственного узла, где хранится централизованная сертифицированная копия — на каждом узле хранится реальная цепочка. Это означает, что отсутствует необходимость в доверенной третьей стороне. Биткоин называют криптовалютой, потому что он гарантирует, что никто просто так не «печатает» и не генерирует биткоины — следовательно, не девальвирует валюту. В случае обычной валюты это делает центральный банк страны — единственное возможное слабое звено. Биткоин является децентрализованной валютой и фактически не зависит от какого-либо «давления правительства». В технологии биткоина нет доверенной третьей стороны, однако эта валюта застрахована от DoS-атак и функционирует практически без комиссионных платежей.

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

Куда передаются все данные?

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

Куда передаются все данные?

Концепция и проблемы смарт-контрактов

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

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

Блокчейн Ethereum («эфириум»), конкурент биткоина, стал первой криптовалютой, для которой была внедрена технология смарт-контрактов, поэтому его создатели начали работать над решением: оракулы.

Возможное решение: оракулы

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

Концепция и проблемы смарт-контрактов

Проблема доверия

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

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

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

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

Если появляется доверенная третья сторона, целесообразность использования децентрализованного доверенного блокчейна ставится под сомнение. «Стандартная» централизованная сеть базы данных предлагает те же функциональные возможности с теми же недостатками.

Проблема доверия
Идеальное решение: надежные камеры

Идеальное решение: надежные камеры

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

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

Это всего лишь один из примеров надежного сенсора-видеокамеры.[3] Существует множество возможностей для других сенсоров.

Выводы

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

ССЫЛКИ

[1] M. Iansiti, K.R. Lakhani "The Truth about Blockchain", Harvard Business Review, January 2017.

[2] D. Drescher, “Blockchain Basics”, mitp, Chapter 14, 2017.

[3] Patent Pending, B16000DE / FK, em 18-009.