Блокчейн, финтех, новая экономика, блэкджек

Hyperledger logo

Hyperledger Fabric: блокчейны — предпринимателям

Аналитика/Статьи

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

Бизнес-машины

Одна из старейших IT-компаний сейчас не на слуху у массового потребителя. А ведь именно IBM была прародительницей стандарта PC. Старшее поколение до сих пор называет их «IBM-совместимыми». Хотя совмещать уже не с чем — производство ноутбуков и десктопов уж 12 лет как продано китайской Lenovo.

Но PC — не единственный и не главный бриллиант короны IBM. Корпорация всегда была славна своими мейнфреймами. И до сих пор остается лидером в этом сегменте. Везде, где нужна надежность и производительность, работает их продукция. На атомных электростанциях и в диспетчерских энергосистемах, в банках, на биржах — везде, где цена ошибки или потери данных слишком велика.

IBM знает своего клиента. Она знает, как работают корпорации и что им нужно. Hyperleger Fabric — для них.

Мама — анархия, папа…

Зонтичный проект Hyperledger был основан Linux Foundation в 2015 году для развития технологии блокчейн. Со временем участниками проекта, кроме IBM, стали компании Cisco, Fujitsu, Hitachi, Intel, J.P. Morgan, SWIFT, Wells Fargo — всего более сотни, и все тяжеловесы.

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

Одной из особенностей Hyperledger является принципиальный отказ от создания собственных криптоактивов. Участники Hyperledger развивают проекты сугубо как информационную технологию.

В рамках работы в консорциуме IBM и создала блокчейн-фреймворк Hyperledger Fabric (изначально проект назывался OBC — Open Blockchain). Первая версия HLF, под номером 0.6.0, появилась осенью 2016 года. 1 июля 2017 вышла первая производственная версия — Hyperledger Fabric 1.0.

Визуализация развития проекта HLF с июля 2016 г. по февраль 2017 г.

Основы

Блокчейны бывают разными. Самый известный тип — публичный блокчейн. Каждый участник обладает всем объемом возможностей и прав. Он может читать данные, осуществлять транзакции, формировать блоки.

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

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

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

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

Hyperleger Fabric создавался корпорацией для корпораций, поэтому в него «пускают по билетам». Участник сети должен получить сертификат и быть идентифицирован. Разным участникам могут быть предоставлены разные права, ограничения и привилегии.

В Fabric есть три основных типа участников блокчейна:

■ Клиенты (client / committing peers). Конечные пользователи, которые могут совершать транзакции.
■ Узлы (peers). Этот тип управляет транзакциями. К ним также относится специальный тип узлов поручителей (endorsers), которые проверяют, удовлетворяет ли транзакция необходимым требованиям.
■ Сервисные узлы (orderers from ordering service). Они формируют блоки транзакций и добавляют их в блокчейн. Кроме того, они обрабатывают все конфигурационные транзакции по настройке сети.

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

Зато в HLF есть смарт-контракты, называемые в данной сети чейн-кодами. Для программирования смарт-контрактов в HLF используется язык GO (Golang) и предусмотрена поддержка Java и Javascript. Приятный момент, ведь для написания смарт-контрактов на Ethereum приходится осваивать специальный внутренний язык виртуальной машины Ethereum.

Отсутствие токенов не означает невозможность организации обмена активами — HLF позволяет хранить информацию о физическом имуществе и обязательствах. Благодаря этому механизму работает, например, торговая платформа Batavia, помогающая отслеживать и оплачивать транспортировку и поставку партий товаров по всему миру по мере прохождения ими каждого этапа.

31 июля 2017 года компания Fujitsu (один из участников Hyperledger) объявила о внедрении технологии, которая повышает производительность сети Hyperledger Fabric v0.6.1 примерно в 2,7 раза. С использованием этой технологии производительность достигла 1350 транзакций в секунду (TPS 1350), а следовательно HLF стала совместима с онлайновыми транзакционным системам, требующими не менее 1000 транзакций в секунду.

Hyperledger Fabric схема

Консенсус

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

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

Византийский

Основным механизмом, который предлагают разработчики, является Practical Byzantine fault tolerance — практический подход к византийской отказоустойчивости, он же — Sieve. Он обеспечивает устойчивость к двум типам ошибок распределенных систем: когда узел полностью выходит из строя и перестает откликаться и когда он продолжает работать, но выдает ошибки.

Устройство алгоритма основано на старой «Задаче византийских генералов»:

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


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


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


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


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


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


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

Good Bad Evil map

Алгоритм PBFT работает, на всякий случай предполагая, что (n-1)/3 узлов в сети — «предатели», то есть из 10 — скомпрометированы три. Алгоритм устойчивый, но с ростом количества узлов скорость достижения консенсуса в нем падает. Для случаев, когда это становится критичным, у HLF есть другой механизм.

Кафкианский

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

Солирующий

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

Для чего все это

Indian icecream

Давайте для примера возьмем мумбайское мороженое сети Papacream (два магазинчика расположены в районах Ошивара и Черчгейт).

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

И тут на помощь приходит Hyperleger Fabric. Фабрика мороженого в Мумбаи ежедневно отгружает в порту контейнер десерта. По факту выполненного обязательства смарт-контракт проводит оплату фабрике. Ей не нужно кредитоваться, ожидая оплату из Европы, европейскому покупателю не нужно аккумулировать лишнее мороженое у себя — отгрузка идет каждый день. Груз прибывает Марсель в срок и в порядке — смарт-контрактом оплачивается работа транспортной компании. Причем в той юрисдикции, где она зарегистрирована. Все платежи проходят мгновенно. Дальше мороженое разными путями попадает в магазины. По факту доставки автопредприятия получают оплату за свою работу, а магазины осуществляют финальные платежи.

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

Фантастика? Нет. Подобным образом, только гораздо сложнее и интереснее, будет работать уже упомянутая Batavia.

И это не единственный масштабный проект, в основе которого стоит Hyperledger Fabric. На базе этого блокчейн-фреймворка консорциум CLS group (Barclays, Bank of America, Bank of China (Hong Kong), Bank of Tokyo-Mitsubishi UFJ, Citibank, Goldman Sachs, JPMorgan Chase и Morgan Stanley и другие) разрабатывает альтернативу SWIFT-переводам. Да и сам SWIFT экспериментирует с имплементацией Hyperledger Fabric. Sony разработала систему хранения данных об образовании. В свете этого вполне верится в то, что IBM удастся создать самый масштабный блокчейн в мире.

BTC
6465.59-0.23%
ETH
202.66-0.76%
XRP
0.44-2.69%
BCH
439.66-1.56%

Блокчейн, финтех и новая экономика* в одной рассылке

*блэкджек
Электронная почта
Ту зе МУН