- PVSM.RU - https://www.pvsm.ru -
В конце сентября 2017 года мне и gelbplaneten [1] удалось поучаствовать в подготовке и проведении первой в России сделки по ценным бумагам с использованием блокчейн-технологии [2].
Проект проводился Altoros [3], архитектор — Олег Абдрашитов [4].
Под катом мой рассказ о технических и некоторых юридических аспектах подготовки и проведения сделки.
Для проведения пилотной сделки мы развернули блокчейн-платформу на базе Hyperledger Fabric v.1.0. Проект Hyperledger под эгидой The Linux Foundation — это инициатива по созданию разных блокчейн-платформ и вспомогательных инструментов с открытым исходным кодом. В проекте участвует целая россыпь компаний со всего мира: технологические гиганты (IBM, Intel и так далее), консалтинговые компании (Accenture, Altoros и так далее), представители различных отраслей (Сбербанк, Московская биржа, CME, DTCC, Deutche Burse, Daimler, Airbus и так далее) и стартап-команды (Digital Asset Holding, Soramitsu и так далее). Проект запустили в декабре 2015 года, и сейчас активно развивается пять блокчейн-платформ и четыре инструмента для работы с блокчейн-платформами. Hyperledger открыт для всех, его участники равны между собой и придерживаются принципов «чистого» открытого кода.
Поскольку Hyperledger Fabric v.1.0 не так широко известен, как Bitcoin или Ethereum, то чтобы вам было легче понять топологию этой блокчейн-сети и происходящих в ней процессов, я вкратце расскажу об особенностях архитектуры Hyperledger Fabric v.1.0.
Рассмотрим как выполняются транзакции на блокчейн-платформе Hyperledger Fabric v.1.0 (по материалам «The trend of exploring the use of DLT in Capital market», Japan Exchange Group, September 14, 2017 [5])
В отличие от публичных платформ вроде Bitcoin или Ethereum, в Hyperledger Fabric v.1.0 есть две специальные роли:
Чтобы достичь консенсуса при проверке транзакций, используются политики валидации (endorsement policy) — это набор правил, определяющих, какой из узлов может быть валидатором, и сколько подписей валидаторов достаточно для того, чтобы транзакция считалась подтвержденной. При этом политика валидации задаётся отдельно для каждого смарт-контракта, создаваемого в блокчейн-сети. Например, в политике можно прописать, что транзакция будет валидной, если её подтвердят два из трёх заданных узлов.
Как создаётся и исполняется транзакция:
В структуре блокчейн-сети было три участника:
Каждый участник развернул у себя собственный узел сети, а также дополнительные компоненты, предусмотренные архитектурой Hyperledger Fabric v.1.0:
В сети были созданы реестры, доступ к которым разграничивался внутренним механизмом каналов Hyperledger:
Также в реестрах балансов Райффайзенбанка и Мегафона было создано по одному смарт-контракту Position, в контексте которого отражались остатки по счетам участника.
Если бы сделка проводилась и легализовалась только через блокчейн, то всё происходило бы так:
Есть утверждённый порядок регулирования торговли ценными бумагами, при котором сделка считается юридически значимой, если она проведена через штатную систему учета ценных бумаг НРД «Аламеда». Чтобы соблюсти это условие, в процесс проведения сделки добавили специальные стадии формирования, подписания и обработки поручений действующего формата, с использованием «боевых» ЭЦП участников сделки. Кроме того, чтобы передача поручений через блокчейн считалась легитимной, НРД подписало с участниками сделки лицензионное соглашение и дополнительное соглашение к Договору по электронному документообороту.
В результате процесс заключения сделки стал выглядеть так:
Всех участников проекта в первую очередь интересовала проработка юридических вопросов, связанных с проведением сделок через блокчейн, и выявление технических и организационных трудностей, которые могут возникнуть при развертывании блокчейн-сети в реальных условиях. Тем более, что организации разные, каждая со своей инфраструктурной и сетевой политикой, правилами взаимодействия внешних и внутренних сетей, и так далее и тому подобное.
Мы столкнулись с первыми трудностями еще до начала развертывания платформы: оказалось, что Райффайзенбанк и Мегафон не готовы дать прямой доступ к своим действующим ключам ЭЦП «чужому загадочному» ПО. Так что пришлось разработать специальную утилиту по выгрузке/загрузке файлов поручений, чтобы их можно было подписывать вне ПО платформы.
Дальнейшие затруднения были связаны с тем, что платформа разрабатывалась и отлаживалась в Amazon Web Services, а теперь ей предстояло вместо стерильно-гомогенной среды облака работать в суровом гетерогенном мире.
К счастью, реализация платформы предполагала использование Docker-контейнеров, поэтому различия, связанные с использованием участниками разных ОС (RHEL и Ubuntu) не повлияли на работу узлов сети.
Основные проблемы были связаны с внутренними особенностями Hyperledger Fabric и тем, что в обеих компаниях по-разному построена сетевая инфраструктура:
На развёртывание и настройку платформы ушло примерно три дня (27-29 сентября) и 20 часов в Webex. Как водится в IT-среде, не обошлось и без шаманских бубнов — «… теперь ждем ровно семь минут...»
Но в итоге первая сделка прошла без единого сбоя и зависания.
Ниже приведены исторические скриншоты — поручение Райффайзенбанка на покупку облигаций Мегафона и итоговый баланс по результатам сделки.
Автор: MadJackal
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/268318
Ссылки в тексте:
[1] gelbplaneten: https://habrahabr.ru/users/gelbplaneten/
[2] сделки по ценным бумагам с использованием блокчейн-технологии: https://www.vedomosti.ru/technolo%20gy/articles/2017/10/01/736030-megafon-obligatsii
[3] Altoros: http://altoros.com
[4] Олег Абдрашитов: https://www.altoros.com/training-team/oleg-abdrashitov.html
[5] «The trend of exploring the use of DLT in Capital market», Japan Exchange Group, September 14, 2017: http://www.jpx.co.jp/english/corporate/research-study/working-paper/b5b4pj000000i468-att/E_JPX_working_paper_Vol20.pdf
[6] Источник: https://habrahabr.ru/post/341850/
Нажмите здесь для печати.