Блокчейн: что нам стоит кейс построить?

Блокчейн: что нам стоит кейс построить?

Вся история человечества — это попытки разрушить старый порядок вещей и построить новый, разумеется, лучший. (Анонимный автор)

В прошлой статье «Что нам стоит блокчейн построить?» мы разобрались с технологиями, на которых работают все блокчейны. Пришло время понять какие задачи могут решить современные блокчейны. Для начала давайте посмотрим на аналитику текущего состояния блокчейна и перспективах на будущее. Как техническому специалисту, мне импонирует компания Gartner с ее многочисленными циклами зрелости технологий (Hype Cycles). На графике показан цикл зрелости блокчейна в бизнесе на конец 2018 года. Какие выводы можно сделать?

Аналитика от Gartner

  • Из графика видно, что многие современные индустрии пытаются применить блокчейн для решения своих производственных задач, и каждый год появляются новые индустрии, которые начинают исследовать блокчейн.
  • Вместе с тем, пока ни одна индустрия не достигла ни плато продуктивности, ни даже склона просветления.
  • Разумеется, не все индустрии, которые сейчас находятся на пути к пику ожиданий, дойдут до плато продуктивности, но судя по массовости движения, через 5-10 мы станем свидетелями повсеместного использования ряда кейсов.
  • А где же Bitcoin, майнинг и вообще криптовалюта, спросите вы? Эти же технологии приносят существенную прибыль? Они были на графиках прошлых лет, но в этом году уже покинули плато продуктивности в свои положенные 10 лет.

Следующий график показывает зрелость технологий блокчейна:

Что можно сказать про этот график?

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

Теперь посмотрим для каких кейсов индустрии пытаются применить блокчейн. Gartner в конце 2018 года провел исследование и представил его результаты в виде матрицы, где по горизонтали перечислены кейсы, по вертикали индустрии, а круги на пересечениях показывают, насколько в конкретной индустрии востребован определенный кейс:

Какие выводы можно сделать из этой таблицы?

  • Большинство проектов используют блокчейн для записи, распространения и совместного использования данных (Shared Record Keeping и Internal Record Keeping).
  • Существенная часть проектов используют блокчейн для слежения за передвижением ценности или сменой ее владельцев (Asset Tracking).
  • Идентификация (Identity Managment) понемногу, но нужна практически во всех индустриях.
  • На текущий момент токенизация (Digital Tokens) не слишком востребована и, что удивительно, то же можно сказать и про смарт-контракты (Smart Contracts).

Обощенная схема блокчейна

Когда рисуют блокчейн применительно к какой-нибудь индустрии, то все схемы принципиально одинаковые: имеется блокчейн сеть, в нее участники записывают и читают информацию с помощью Dapp (decentralized application). Все различие в деталях, например, информацию в блокчейн могут записывать не только люди, но и устройства платформы IoT (Internet of Things). Рассмотрим обобщенную схему на примере с IoT, т.к. это одно из наиболее обсуждаемых применений блокчейна. Дополнительно оснастим IoT устройства SIM картой для передачи показаний, используя мобильную сеть оператора связи, или лучше eSIM, чтобы можно было использовать произвольные мобильные сети. Мобильная сеть будет, разумеется, 5G, т.к. обслуживание IoT устройств — одно из основных применений сети 5G. Модули GPS / GLONASS пусть отслеживают местоположение. Для полноценной работы смарт-контрактов необходимо иметь информацию из внешних источников, например, актуальные курсы акций или валют. Для этого используются так называемые блокчейн-оракулы. Завершающий штрих — модуль искусственного интеллекта для анализа данных. Исследования говорят, что алгоритмы AI (Artificial Intelligence) будут эффективно работать на данных из блокчейна, т.к. они полны, непротиворичивы и однозначно отсортированы по времени.

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

Блокчейн + IoT + 5G + GPS + AI

Переходим к конкретным кейсам.

Разбор кейсов

Давайте подберем кейсы для перечисленных индустрий и подумаем, на каких блокчейнах их можно реализовать. Оказывается, что искать ничего не надо, т.к. и существует актуальная «Библиотека кейсов блокчейн» с примерами и ссылками. В ней собраны кейсы по применению блокчейна в следующих индустриях:

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

Выводы из анализа набора кейсов

  • Разумеется, блокчейн хорошо ложиться на финтех, т.к. транзакции и смена владельца ценностей являются основой финансовой системы.
  • Блокчейн логично применять в кейсах, где есть «цепочки поставки», например, перевозка контейнеров. Контейнер представляется ценностью, которая передается во владение от одной транспортной компании к другой. Или, например, маркировка продуктов питания и прослеживание всей цепочки поставки продуктов от фермерского хозяйства до розничных магазинов. В этом случае покупатель может убедиться, что продукт произведен конкретным производителем при конкретных условиях. Сейчас же подобной информации на этикетках можно только верить на слово.
  • Актуален кейс с идентификацией людей IAM (Identity and Access Management) и хранением персональных данных. С приходом блокчейна появился способ решения, основанный на хранении персональных данных в распределенном реестре, а с помощью протокола Zero Knowledge Proof человек может сам решать, какие данные кому предоставлять. Например, классический пример — это подтверждение того, что гражданину исполнилось 18 лет. Сейчас для этого используется паспорт или права, где находится данные, не имеющие отношения к самой проверке, такие как прописка. Используя блокчейн можно будет проверить, что человеку есть 18, не разглашая остальной информации.
  • В этой же плоскости лежит и кейс с записью в блокчейн медицинских данных о пациентах, чтобы можно было их передавать между учреждениями, не нарушая конфиденциальности. И это общая черта многих кейсов, где с одной стороны нужна идентификация людей и возможность беспрепятственного распространения информации, а с другой стороны необходимо защищать (шифровать) персональные и приватные данные.

Блокчейн и государство

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

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

Блокчейн и Телеком

Кейсы, реализованные в Телеком индустрии, будут влиять на большинство людей. По мнению TM Forum для операторов связи наиболее актуально применение блокчейна для решения следующих задач:

  • Операторы могут избавиться от посредников (клиринговых центров) в предоставлении роуминга и осуществлять платежи напрямую друг с другом.
  • Идентификация людей и IoT устройств.
  • Автоматический подсчет нарушений правил обслуживания абонентов (SLA) на основе смарт контракта и выплата компенсаций.
  • Ведение распределенной базы данных украденных телефонов.
  • Ведение распределенной базы данных для MNP (Mobile Number Portability) и избавление от посредника в виде централизованной базы.

Разбор блокчейнов

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

  • Первое поколение (Bitcoin): поддерживает только функциональность перевода критовалюты с одного счета на другой.
  • Во второе поколение были добавлены смарт-контракты (Ethereun) и мультивалютность (BitShares).
  • Третье поколение позволяет оперировать не только с криптовалютой, но и с любыми цифровыми активами (assets), реализовывать произвольную бизнес логику, гибко настраивать алгоритм консенсуса. Пример универсального блокчейна — Hyperledger Fabric.

Давайте и рассмотрим представителей всех поколений, с точки зрения характеристик, которые помогут понять какие кейсы можно реализовать на том или ином блокчейне:

Bitcoin Ethereum Bitshares Hyperledger Fabric Exonum
Поколение блокчейна 1 2 2 3 3
Сайт bitcoin.org/en ethereum.org bitshares.org www.hyperledger.org exonum.com
Производительность в TPS 7 20-30 10,000 1000 10,000
Можно ли сделать приватный блокчейн нет нет да да да
Число нод в сети Более 10 000 Более 10 000 Эффективно 20 –30 нод Эффективность определяется системой Apache Kafka Эффективность определяется консенсусом BFT: 10-20 нод
Средняя комиссия за транзакции 0.5$ 0.1$ меньше чем в Ethereum нет нет
Поддерживаемые операционные системы для нод Windows, Linux, MacOS Windows, Linux, MacOS, Rasbery Pi Ubuntu, Windows Windows, Linux, MacOS Linux, MacOS
Развертывание нод Вручную Вручную, Docker Вручную Docker, docker-compose Вручную, Docker
Консенсус PoW Pow DPoS Система голосования, используется Apache Kafka BFT
Smart contract Нет в общепринятом понимании Язык программирования Solidity Предустановленные и их количество ограничено. Дописывать на С++ Языки программирования Go, JS Rust
Язык программирования, на котором написан блокчейн C++ C++ C++ Go Rust
DB для хранения данных блокчейна LevelDB LevelDB LevelDB goleveldb — LevelDB in Go RocksDB
Разработка и поддержка Satoshi Nakamoto & Co Виталик Бутерин & Co Dan Larimer & Co The Linux Foundation, IBM, Oracle Bitfury Group
Ограничения при реализации кейсов Производительность и наличие комиссии. Производительность и наличие комиссии. Подходят для пилотов и PoC-ов. Наличие комиссии и ограниченное число реализованных сценариев использования. Hyperledger Fabric — ничего не ограничивает, если не ожидать высоких характеристик по производительности. Exonum ограничивает консенсус BFT и высокий порог вхождения, т.к. для реализации смарт-контрактов их надо встраивать в исходный код.

Заключение

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

  • Криптография
  • Неизменность и полнота истории данных
  • Распределенность
  • Децетрализация
  • Токенизация
  • Смарт-контракты

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

  • Разные блокчейны имеют разные технические характеристики и ограничения, поэтому в зависимости от кейса надо выбирать соответствующий блокчейн.
  • В зависимости от консенсуса производительность блокчейна отличается на порядки. И если выбран какой-то определенный блокчейн, то скорее всего его не удастся «оптимизировать».
  • Линейная масштабируемость — это обычное требование для информационных систем. Блокчейн же может масштабироваться хуже, чем линейно.
  • Данные, которые нужно хранить, могут иметь структуру, снижающую эффективность применения блокчейна.
  • В приватных блокчейнах необходимо обеспечивать безопасность не хуже, чем в используемых корпоративных IT системах.

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

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

This is only the beginning!