SlideShare a Scribd company logo
1 of 27
Download to read offline
Hyperledger Fabric
From Proof Of Concept to Production
Dmitry Zhvakin
S7 Techlab
S7 Aerospace
• S7 Airlines авиакомпания
• S7 Techlab RnD подразделение
• ...
2
Блокчейн в авиации
Взаиморасчеты в агентской сети
Продажа авиабилетов и услуг
Взаиморасчеты при обслуживании самолетов
Топливо, наземное обслуживание
3
Технологии
Ethereum
Система взаимодействия с агентами, 2017-2018
Hyperledger Fabric
Система взаимодействия с агентами, 2018 - ...
Платформа B2B взаимодействия
4
Что есть блокчейн фреймворк?
• Consensus
• P2P Networking
• Identity
• Ledger
• On-chain environment (smart contracts)
• Off-chain tooling (SDK)
5
Трудности выбора: Ethereum
+
● Tooling
● Easy deployment
● Smart contracts libraries
● Ecosystem
-
● Single ledger
● Solidity
● Permissionless / anonymous
by initial design
6
Трудности выбора: Hyperledger Fabric
● Двухфазный коммит
● Изоляция данных на основе каналов
● Идентификация на базе PKI
● Гибкая модель конфигурирования участников сети
(MSP)
● Продвинутая система настройки разрешений на
операции (policies)
● Единая кодовая база на Go
7
Hyperledger Fabric
• Linux Foundation
• Modular architecture
• Customizable and pluggable components
• Containerized smart-contracts (a.k.a chaincodes)
8
Основные компоненты сети
• Peer - подтверждает транзакции и хранит
актуальную версию данных
• Orderer - собирает транзакции в блоки и
гарантирует их доставку
• Client - формирует транзакции, подписывает
их у пиров и отправляет на orderer
9
Основные компоненты сети
• Channel - абстракция на базе сети для
обеспечения конфиденциальности
• Chaincode - обеспечивает доступ и изменение
данных в рамках канала
• Endorsement policy - политика одобрения
внесения изменения данных в рамках канала
10
Transaction flow
11
Блокчейн-платформа
● Инструменты управления сетью
● Конфигурация сети
● Chaincode delivery
● Компоненты создания процессов
12
Проблемы
● Отсутствие best practices при
разработке чейнкодов
● Отсутствие стабильного SDK
на Go
● Отсутствие нативного
мониторинга узлов сети
● Сложное изменение
конфигурации участников сети
13
https://github.com/s7techlab
14
Что такое чейнкод?
● Написан на Go, Java или JS
● Атрибуты уникальности: (название, путь до исходных файлов и версия)
● Запускается в виде Docker-контейнера
● Общается с пиром по протоколу GRPC
15
Проблема #1 - отсутствие best
practice при разработке чейнкодов
● Отсутствие нативного роутера внутри
чейнкода
16
● Отсутствие базового механизма ограничения
доступа в чейнкоде
17
● Многократное дублирование кода в рамках
разработки смарт-контрактов
● Ограниченная функциональность встроенного
интерфейса для тестирования - MockStub
18
Решение
https://github.com/s7techlab/cckit Chancode Kit
• Маршрутизация (routing) обращений к функциям
• Контекст обращения к функции чейнкода
• Функции промежуточной обработки (middleware)
• Конвертация структур данных / маппинг ключей
• Средства отладки и логирования чейнкодов
• Расширенная реализация MockStub
19
Пример использования CCKit
20
Проблема #2 и её решение
https://github.com/s7techlab/hlf-sdk-go -
собственный упрощённый SDK
● Простые и понятные компоненты
● Подключаемые discovery provider и crypto suite
● Встроенные GRPC-метрики
● Отдельный пакет для работы с Fabric CA
21
Hlf-sdk-go internals
22
Проблема #3 - мониторинг
● Отсутствие метрик состояния узлов и сети (до
версии 1.4)
● Отсутствие встроенных алертов при
критических ситуациях
23
Решение - Fabric PromExporter
24
Решение - Fabric Grafana dashboard
25
OpenSource
https://github.com/s7techlab
26
Вопросы?
Контакты:
• Telegram: @iamdm
• E-mail: d.zhvakin@s7.ru
• Github: github.com/dimaxgl
27

More Related Content

Similar to Hyperledger Fabric: From Proof Of Concept to Production

IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаMikhail Chinkov
 
Защита корпоративной среды, Код ИБ, Казань, 15.10.2015
Защита корпоративной среды, Код ИБ, Казань, 15.10.2015Защита корпоративной среды, Код ИБ, Казань, 15.10.2015
Защита корпоративной среды, Код ИБ, Казань, 15.10.2015S-Terra CSP
 
Обратная разработка бинарных форматов с помощью Kaitai Struct
Обратная разработка бинарных форматов с помощью Kaitai StructОбратная разработка бинарных форматов с помощью Kaitai Struct
Обратная разработка бинарных форматов с помощью Kaitai StructPositive Hack Days
 
Защита корпоративной сети. От продуктов к решению.
Защита корпоративной сети. От продуктов к решению.Защита корпоративной сети. От продуктов к решению.
Защита корпоративной сети. От продуктов к решению.Expolink
 
S-Terra. Глеб Клименко, Александр Веселов "Защита корпоративной сети. От прод...
S-Terra. Глеб Клименко, Александр Веселов "Защита корпоративной сети. От прод...S-Terra. Глеб Клименко, Александр Веселов "Защита корпоративной сети. От прод...
S-Terra. Глеб Клименко, Александр Веселов "Защита корпоративной сети. От прод...Expolink
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинSergey Xek
 
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"Fwdays
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
 
Анонс новых моделей серверов ДЕПО Шторм российского производства
Анонс новых моделей серверов ДЕПО Шторм российского производстваАнонс новых моделей серверов ДЕПО Шторм российского производства
Анонс новых моделей серверов ДЕПО Шторм российского производстваDEPO Computers
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Защита корпоративной среды от «С-Терра СиЭсПи»
Защита корпоративной среды от «С-Терра СиЭсПи»Защита корпоративной среды от «С-Терра СиЭсПи»
Защита корпоративной среды от «С-Терра СиЭсПи»S-Terra CSP
 
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...Cisco Russia
 
Новинки и тенденции в развитии продуктов компании КРИПТО-ПРО
Новинки и тенденции в развитии продуктов компании КРИПТО-ПРОНовинки и тенденции в развитии продуктов компании КРИПТО-ПРО
Новинки и тенденции в развитии продуктов компании КРИПТО-ПРОЦифровые технологии
 
GRID-технологии в физическом эксперименте (Введение)
GRID-технологии в физическом эксперименте (Введение)GRID-технологии в физическом эксперименте (Введение)
GRID-технологии в физическом эксперименте (Введение)Dmitry Spodarets
 
Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Yandex
 
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsGDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsMikhail Chinkov
 
Безопасное импортозамещение ПО и ИТ оборудования в энергетических компаниях
Безопасное импортозамещение ПО и ИТ оборудования в энергетических компанияхБезопасное импортозамещение ПО и ИТ оборудования в энергетических компаниях
Безопасное импортозамещение ПО и ИТ оборудования в энергетических компанияхДмитрий Пшиченко
 
доклад про Llvm
доклад про Llvmдоклад про Llvm
доклад про LlvmVadim Evard
 

Similar to Hyperledger Fabric: From Proof Of Concept to Production (20)

IT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчикаIT-инфраструктура. FAQ для разработчика
IT-инфраструктура. FAQ для разработчика
 
Защита корпоративной среды, Код ИБ, Казань, 15.10.2015
Защита корпоративной среды, Код ИБ, Казань, 15.10.2015Защита корпоративной среды, Код ИБ, Казань, 15.10.2015
Защита корпоративной среды, Код ИБ, Казань, 15.10.2015
 
Обратная разработка бинарных форматов с помощью Kaitai Struct
Обратная разработка бинарных форматов с помощью Kaitai StructОбратная разработка бинарных форматов с помощью Kaitai Struct
Обратная разработка бинарных форматов с помощью Kaitai Struct
 
Защита корпоративной сети. От продуктов к решению.
Защита корпоративной сети. От продуктов к решению.Защита корпоративной сети. От продуктов к решению.
Защита корпоративной сети. От продуктов к решению.
 
S-Terra. Глеб Клименко, Александр Веселов "Защита корпоративной сети. От прод...
S-Terra. Глеб Клименко, Александр Веселов "Защита корпоративной сети. От прод...S-Terra. Глеб Клименко, Александр Веселов "Защита корпоративной сети. От прод...
S-Terra. Глеб Клименко, Александр Веселов "Защита корпоративной сети. От прод...
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
 
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
Dmytro Nemesh "Building the perfect infrastructure with Kubernetes"
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
 
Анонс новых моделей серверов ДЕПО Шторм российского производства
Анонс новых моделей серверов ДЕПО Шторм российского производстваАнонс новых моделей серверов ДЕПО Шторм российского производства
Анонс новых моделей серверов ДЕПО Шторм российского производства
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Защита корпоративной среды от «С-Терра СиЭсПи»
Защита корпоративной среды от «С-Терра СиЭсПи»Защита корпоративной среды от «С-Терра СиЭсПи»
Защита корпоративной среды от «С-Терра СиЭсПи»
 
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
Cisco StealthWatch. Использование телеметрии для решения проблемы зашифрованн...
 
Новинки и тенденции в развитии продуктов компании КРИПТО-ПРО
Новинки и тенденции в развитии продуктов компании КРИПТО-ПРОНовинки и тенденции в развитии продуктов компании КРИПТО-ПРО
Новинки и тенденции в развитии продуктов компании КРИПТО-ПРО
 
GRID-технологии в физическом эксперименте (Введение)
GRID-технологии в физическом эксперименте (Введение)GRID-технологии в физическом эксперименте (Введение)
GRID-технологии в физическом эксперименте (Введение)
 
Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"Андрей Сибирёв "Ваше собственное облако — война за независимость"
Андрей Сибирёв "Ваше собственное облако — война за независимость"
 
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на JenkinsGDG meetup #15: Как построить релиз-инжиниринг на Jenkins
GDG meetup #15: Как построить релиз-инжиниринг на Jenkins
 
Безопасное импортозамещение ПО и ИТ оборудования в энергетических компаниях
Безопасное импортозамещение ПО и ИТ оборудования в энергетических компанияхБезопасное импортозамещение ПО и ИТ оборудования в энергетических компаниях
Безопасное импортозамещение ПО и ИТ оборудования в энергетических компаниях
 
доклад про Llvm
доклад про Llvmдоклад про Llvm
доклад про Llvm
 

Hyperledger Fabric: From Proof Of Concept to Production

  • 1. Hyperledger Fabric From Proof Of Concept to Production Dmitry Zhvakin S7 Techlab
  • 2. S7 Aerospace • S7 Airlines авиакомпания • S7 Techlab RnD подразделение • ... 2
  • 3. Блокчейн в авиации Взаиморасчеты в агентской сети Продажа авиабилетов и услуг Взаиморасчеты при обслуживании самолетов Топливо, наземное обслуживание 3
  • 4. Технологии Ethereum Система взаимодействия с агентами, 2017-2018 Hyperledger Fabric Система взаимодействия с агентами, 2018 - ... Платформа B2B взаимодействия 4
  • 5. Что есть блокчейн фреймворк? • Consensus • P2P Networking • Identity • Ledger • On-chain environment (smart contracts) • Off-chain tooling (SDK) 5
  • 6. Трудности выбора: Ethereum + ● Tooling ● Easy deployment ● Smart contracts libraries ● Ecosystem - ● Single ledger ● Solidity ● Permissionless / anonymous by initial design 6
  • 7. Трудности выбора: Hyperledger Fabric ● Двухфазный коммит ● Изоляция данных на основе каналов ● Идентификация на базе PKI ● Гибкая модель конфигурирования участников сети (MSP) ● Продвинутая система настройки разрешений на операции (policies) ● Единая кодовая база на Go 7
  • 8. Hyperledger Fabric • Linux Foundation • Modular architecture • Customizable and pluggable components • Containerized smart-contracts (a.k.a chaincodes) 8
  • 9. Основные компоненты сети • Peer - подтверждает транзакции и хранит актуальную версию данных • Orderer - собирает транзакции в блоки и гарантирует их доставку • Client - формирует транзакции, подписывает их у пиров и отправляет на orderer 9
  • 10. Основные компоненты сети • Channel - абстракция на базе сети для обеспечения конфиденциальности • Chaincode - обеспечивает доступ и изменение данных в рамках канала • Endorsement policy - политика одобрения внесения изменения данных в рамках канала 10
  • 12. Блокчейн-платформа ● Инструменты управления сетью ● Конфигурация сети ● Chaincode delivery ● Компоненты создания процессов 12
  • 13. Проблемы ● Отсутствие best practices при разработке чейнкодов ● Отсутствие стабильного SDK на Go ● Отсутствие нативного мониторинга узлов сети ● Сложное изменение конфигурации участников сети 13
  • 15. Что такое чейнкод? ● Написан на Go, Java или JS ● Атрибуты уникальности: (название, путь до исходных файлов и версия) ● Запускается в виде Docker-контейнера ● Общается с пиром по протоколу GRPC 15
  • 16. Проблема #1 - отсутствие best practice при разработке чейнкодов ● Отсутствие нативного роутера внутри чейнкода 16
  • 17. ● Отсутствие базового механизма ограничения доступа в чейнкоде 17
  • 18. ● Многократное дублирование кода в рамках разработки смарт-контрактов ● Ограниченная функциональность встроенного интерфейса для тестирования - MockStub 18
  • 19. Решение https://github.com/s7techlab/cckit Chancode Kit • Маршрутизация (routing) обращений к функциям • Контекст обращения к функции чейнкода • Функции промежуточной обработки (middleware) • Конвертация структур данных / маппинг ключей • Средства отладки и логирования чейнкодов • Расширенная реализация MockStub 19
  • 21. Проблема #2 и её решение https://github.com/s7techlab/hlf-sdk-go - собственный упрощённый SDK ● Простые и понятные компоненты ● Подключаемые discovery provider и crypto suite ● Встроенные GRPC-метрики ● Отдельный пакет для работы с Fabric CA 21
  • 23. Проблема #3 - мониторинг ● Отсутствие метрик состояния узлов и сети (до версии 1.4) ● Отсутствие встроенных алертов при критических ситуациях 23
  • 24. Решение - Fabric PromExporter 24
  • 25. Решение - Fabric Grafana dashboard 25
  • 27. Вопросы? Контакты: • Telegram: @iamdm • E-mail: d.zhvakin@s7.ru • Github: github.com/dimaxgl 27