company_banner

Мегафон-Райффайзенбанк — первая в России сделка по ценным бумагам на блокчейне

    В конце сентября 2017 года мне и gelbplaneten удалось поучаствовать в подготовке и проведении первой в России сделки по ценным бумагам с использованием блокчейн-технологии.

    Проект проводился НРД под руководством Александра Яковлева, программная реализация была разработана компанией Altoros, архитектор — Олег Абдрашитов.

    Под катом мой рассказ о технических и некоторых юридических аспектах подготовки и проведения сделки.

    Описание блокчейн-сети


    Для проведения пилотной сделки мы развернули блокчейн-платформу на базе 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


    Рассмотрим как выполняются транзакции на блокчейн-платформе Hyperledger Fabric v.1.0 (по материалам «The trend of exploring the use of DLT in Capital market», Japan Exchange Group, September 14, 2017)

    В отличие от публичных платформ вроде Bitcoin или Ethereum, в Hyperledger Fabric v.1.0 есть две специальные роли:

    • Endorser (валидатор) — узел, проверяющий и исполняющий транзакцию, а потом возвращающий её обратно клиенту с результатами и своей подписью.
    • Orderer (упорядочиватель) — узел, устанавливающий последовательность транзакций и рассылающий их другим узлам DLT-сети.

    Чтобы достичь консенсуса при проверке транзакций, используются политики валидации (endorsement policy) — это набор правил, определяющих, какой из узлов может быть валидатором, и сколько подписей валидаторов достаточно для того, чтобы транзакция считалась подтвержденной. При этом политика валидации задаётся отдельно для каждого смарт-контракта, создаваемого в блокчейн-сети. Например, в политике можно прописать, что транзакция будет валидной, если её подтвердят два из трёх заданных узлов.

    Как создаётся и исполняется транзакция:

    1. Клиент направляет транзакцию валидаторам (endorsers).
    2. Валидаторы исполняют транзакцию и возвращают её клиенту вместе с результатами исполнения и своей подписью.
    3. Клиент собирает необходимое количество подписей валидаторов и направляет транзакцию с набором ответов валидаторов на Orderer.
    4. Orderer комбинирует транзакции в последовательность блоков и рассылает их.
    5. Каждый из узлов проверяет, соответствует ли транзакция политике валидации, и «проигрывает» её в своём экземпляре реестра.


    Топология блокчейн-сети пилотной сделки


    В структуре блокчейн-сети было три участника:

    • НРД — оператор сделки и администратор платформы.
    • Мегафон — участник сделки.
    • Райффайзенбанк — участник сделки.

    Каждый участник развернул у себя собственный узел сети, а также дополнительные компоненты, предусмотренные архитектурой Hyperledger Fabric v.1.0:

    • НРД развернул Orderer, обеспечивающий формирование упорядоченного потока транзакций, и
    • установил клиентскую часть с UI, обеспечивающую функциональность оператора сделки.
    • Мегафон и Райффайзен установили клиентские части с UI, обеспечивающие функциональность участника сделки.


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

    • Реестр ценных бумаг (доступен всем участникам сети). Здесь был создан единственный смарт-контракт SecurityMaster, в контексте которого вёлся перечень ценных бумаг.
    • Сводный реестр балансов счетов всех участников (доступен только НРД). Здесь был создан единственный смарт-контракт Book, в контексте которого отражались остатки по счетам всех участников.
    • Реестр балансов счетов Райффайзенбанка (доступен только НРД и Райффайзенбанку).
    • Реестр балансов счетов Мегафона (доступен только НРД и Мегафону).
    • Реестр сделок между Райффайзенбанком и Мегафоном (доступен только НРД, Райффайзенбанку и Мегафону). Здесь был создан единственный смарт-контракт Instruction, в контексте которого регистрировались и обрабатывались все сделки данной пары участников.

    Также в реестрах балансов Райффайзенбанка и Мегафона было создано по одному смарт-контракту Position, в контексте которого отражались остатки по счетам участника.

    Если бы сделка проводилась и легализовалась только через блокчейн, то всё происходило бы так:

    1. В Реестре сделок оба участника создают транзакции инструкций покупки и продажи, которые сохраняются в контексте смарт-контракта Instruction.
    2. При поступлении второй инструкции из пары «покупка-продажа» они сопоставляются друг с другом в смарт-контракте Instruction и получают статус «matched».
    3. Когда клиент НРД получает уведомление о сопоставлении, то по Сводному реестру балансов проверяет балансы на счетах участников сделки.
    4. Если проверка балансов прошла успешно, то клиент НРД:
      • Создаёт в смарт-контракте Instruction транзакции, которые меняют статус соответствующих инструкций на «execute».
      • А затем создаёт транзакции по изменению балансов счетов для смарт-контракта Position.

    Подготовка и проведения сделки


    Есть утверждённый порядок регулирования торговли ценными бумагами, при котором сделка считается юридически значимой, если она проведена через штатную систему учета ценных бумаг НРД «Аламеда». Чтобы соблюсти это условие, в процесс проведения сделки добавили специальные стадии формирования, подписания и обработки поручений действующего формата, с использованием «боевых» ЭЦП участников сделки. Кроме того, чтобы передача поручений через блокчейн считалась легитимной, НРД подписало с участниками сделки лицензионное соглашение и дополнительное соглашение к Договору по электронному документообороту.

    В результате процесс заключения сделки стал выглядеть так:

    1. Мегафон и Райффайзенбанк, каждый на своем узле, создают встречные инструкции на продажу и покупку соответственно, и передают их в смарт-контракт Instruction.
    2. В смарт-контракте Instruction инструкции сопоставляются друг с другом.
    3. Если сопоставление прошло успешно, то:
      • НРД на своём узле создаёт и «прикрепляет» к инструкции каждого из участников соответствующий файл поручения для последующей загрузки в «Аламеду».
      • В Реестры балансов участников сделки (смарт-контракт Position) отправляются соответствующие транзакции об изменении учета бумаг на счетах.
    4. Участники сделки:
      • Извлекают из блокчейна файлы поручений для «Аламеды».
      • Подписывают их своими «боевыми» ЭЦП на соответствующих рабочих местах.
      • Помещают обратно в блокчейн.
    5. НРД извлекает подписанные участниками файлы поручений и загружает в «Аламеду».
    6. «Аламеда» обрабатывает сделку и создаёт файлы отчетности, которые затем отправляет участникам сделки.

    Как всё было


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

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

    Дальнейшие затруднения были связаны с тем, что платформа разрабатывалась и отлаживалась в Amazon Web Services, а теперь ей предстояло вместо стерильно-гомогенной среды облака работать в суровом гетерогенном мире.

    К счастью, реализация платформы предполагала использование Docker-контейнеров, поэтому различия, связанные с использованием участниками разных ОС (RHEL и Ubuntu) не повлияли на работу узлов сети.

    Основные проблемы были связаны с внутренними особенностями Hyperledger Fabric и тем, что в обеих компаниях по-разному построена сетевая инфраструктура:

    • Из-за особенностей смарт-контрактов Hyperledger Fabric пришлось полностью «выравнивать» узлы как по релизу (потому что хэш коммита использовался внутренними алгоритмам), так и по пользователю ОС, под которым запускались компонены платформы (он тоже участвовал в идентификации смарт-контракта).
    • Узел Райффайзенбанка не видел самого себя по своему внешнему адресу, поэтому некоторые стадии скриптов установки и настройки приходилось пропускать по <Ctrl+C>.
    • Возникали загадочные «залипания» сервиса, отвечавшего за выгрузку/загрузку файлов, от которых удавалось избавиться только перезапуском сервиса.

    На развёртывание и настройку платформы ушло примерно три дня (27-29 сентября) и 20 часов в Webex. Как водится в IT-среде, не обошлось и без шаманских бубнов — «… теперь ждем ровно семь минут...»

    Но в итоге первая сделка прошла без единого сбоя и зависания.

    Ниже приведены исторические скриншоты — поручение Райффайзенбанка на покупку облигаций Мегафона и итоговый баланс по результатам сделки.



    Райффайзенбанк 211,35
    Развеиваем мифы об IT в банках
    Поделиться публикацией
    Комментарии 16
    • +6
      Извините, я не в теме, и может тупой вопрос задам, но если необходимо участие 3-го участника (НРД) как оператора системы, то чем это всё отличается от обычного электронного документооборота с ЭЦП и интеграцией с внешними системами (Аламеда)?

      В чем преимущество использования блокчейна?
      • +2
        Не имею отношения к данному проекту, но позвольте выразить своё мнение:
        Когда в системе будет несколько сотен/тысяч участников рынка + НРД, то проверка и валидация событий в блокчейне может производиться любыми участниками. НРД же остаётся для работы по закону, для регистрации сделок в «Аламеде».
        • 0
          Для меня тоже неясно в чем плюсы/минусы по сравнению с существующими подходами.
          Что я услышал: есть некие компоненты, которые разворачиваются у участников, эти компоненты общаются между собой, есть эцп и прочее, чтобы в случае чего, можно было в суде решать спорные ситуации.
          И чем это принципиально отличается от существующих подходов?
          Ниже упоминают, что если участников будет несколько сот тысяч. Но новое решение не предназначено для сотен тысяч. Там участники обмениваются публичными ключами, и контрактами.
          Опять же ниже упоминают про ускорение. Но за счет чего происходит ускорение? И почему этого ускорения нет при традиционных подходах?
          • +3

            Еще интересно были ли отправлены в 30 дневный срок оригиналы бумажных документов с подписью руководителя, главного бухгалтера и юриста предприятия скрепленные печатью?

        • 0
          А будут ли достигнутые решения использоваться в дальнейшем?

          Если будут и это уже прототипы рабочих моделей, то по моему это максимально круто!
          • 0
            это максимально круто
            круто продавать и пилить фонды! Блокчейн никуда не вылезет и не заберёт то что кто-то кому-то должен, вообще, никак. По этому если сделка не выполнена то не важно записана она в блокчейне или нет, будут «выяснения обстоятельств» уже самими участниками. Участники и так сами знают условия сделки и кто что кому должен, по этому в блокчейне в этом плане нет никакого смысла.
            • +2
              В данном конкретном кейсе смысл блокчейна в ускорении процессов, а не в том чтобы все знали кто и что кому должен.
          • 0
            Видимо, если поскрести любую модную блокчейн-платформу, внутри будут всякие СКЗИ и НРД.
            • 0
              1. СКЗИ — это средства криптозащиты информации, то есть хэш и цифровые подписи. Без них блокчейн пока построить не удалось. В данном случае выделены именно сертифицированные СКЗИ, обеспечивающие легетимность сделки по Российскому законодательству — они были за пределами блокчейн-платформы.
              2. Если прочитать отчет Японской фондовой биржи, ссылка на который приведена в статье, то обнаружится, что немалая его часть посвящена роли "доверенных третьих сторон". На текущий момент построение КОРПОРАТИВНЫХ блокчейн-платформ без "доверенных третьих сторон" видится крайне затруднительным. Здесь следует учитывать различие в условиях применения публичных и приватных децентрализованных реестров.
            • 0
              НРД это цензор, а в блокчейне не должно быть цензоров. Это уже не блокчейн а централизованная система, которая будет решать что подписывать а что нет. НЕГОДИТСЯ!
              • 0

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

              • 0
                а криптография по ГОСТу? сертификация ФСТЭК? лицензия ФСБ?
                • 0

                  Строго говоря, криптография по ГОСТ требуется только для работы с госучреждениями. Те компоненты, которые требовали ГОСТ и лицензии были вынесены за пределы собственно блокчейн-платформы.
                  Встроенную крипту по ГОСТ и какие надо лицензии будет иметь Мастерчейн.

                • 0

                  --

                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                  Самое читаемое