Канал Hyperledger Fabric
Hyperledger Fabric — это модульная платформа с открытым исходным кодом для создания и развертывания распределенных реестров (блокчейн-сетей) с разрешенным доступом (permissioned blockchain). Проект разрабатывается под эгидой Linux Foundation в рамках проекта Hyperledger и предназначен для корпоративного использования, где требуется высокая производительность, конфиденциальность транзакций и контроль над участниками сети.
История
Hyperledger Fabric был основан в 2016 году как один из первых проектов, принятых в инкубатор Hyperledger. Изначально он базировался на коде, предоставленном компаниями Digital Asset Holdings, Blockstream и IBM. Первая стабильная версия (v1.0) была выпущена в июле 2017 года. Ключевым отличием Fabric от публичных блокчейнов (например, Ethereum) стала архитектура с разделением ролей узлов, поддержка смарт-контрактов на стандартных языках программирования (Go, Java, JavaScript) и возможность создания каналов (channels) для изоляции данных между группами участников.
В 2019 году вышла версия v2.0, которая ввела новую модель управления смарт-контрактами (chaincode lifecycle) и улучшила поддержку конфиденциальности через приватные коллекции данных. По состоянию на 2024 год Fabric остается одним из самых зрелых и широко применяемых корпоративных блокчейнов.
Архитектура
Hyperledger Fabric отличается от многих других блокчейн-платформ модульной архитектурой, которая позволяет настраивать сеть под конкретные бизнес-требования.
Основные компоненты
- Peer-узлы (пиры) — хранят копию реестра и исполняют смарт-контракты. Пиры делятся на endorsing peers (одобряющие транзакции), committing peers (записывающие в реестр) и anchor peers (точки входа для обнаружения сети).
- Orderer-узлы (упорядочивающие) — отвечают за согласование порядка транзакций и формирование блоков. Orderer не хранит полный реестр, а только упорядочивает транзакции.
- Certificate Authority (CA) — центр сертификации, выдающий цифровые удостоверения участникам сети.
- Chaincode (чейнкод) — смарт-контракты, реализующие бизнес-логику. В Fabric цепочки кода исполняются в изолированных контейнерах (Docker).
- Каналы (channels) — механизм изоляции данных между подмножествами участников сети. Каждый канал имеет свой собственный реестр и набор пиров.
Принцип работы транзакции
- Предложение (proposal): клиент отправляет запрос на выполнение транзакции endorsing peers.
- Исполнение (endorsement): endorsing peers запускают chaincode и возвращают подписанные результаты (read-write set).
- Упорядочивание (ordering): клиент собирает достаточное количество одобрений и отправляет транзакцию в orderer.
- Валидация и запись (validation & commit): orderer формирует блок, который распространяется на все пиры. Каждый пир проверяет транзакции и записывает блок в свой реестр.
Каналы (Channels)
Канал в Hyperledger Fabric — это частная подсеть, объединяющая определенное количество участников сети. Каждый канал имеет:
- Собственный реестр (ledger), который хранится только на пирах, входящих в канал.
- Собственный набор chaincode, развернутый для этого канала.
- Собственную политику одобрения (endorsement policy), определяющую, сколько и какие участники должны одобрить транзакцию.
Каналы позволяют реализовать конфиденциальность данных: транзакции внутри одного канала не видны участникам других каналов. Это критически важно для бизнес-сценариев, где разные группы партнеров не должны иметь доступ к коммерческой информации друг друга.
Создание канала
Для создания канала необходимо:
- Определить состав участников (пиры, которые будут входить в канал).
- Создать конфигурационный блок (genesis block) с правилами канала.
- Подписать конфигурацию всеми участниками.
- Запустить канал через orderer.
Приватные коллекции данных
Дополнительно к каналам Fabric поддерживает приватные коллекции (private data collections). Это механизм, позволяющий хранить конфиденциальные данные только на определенных пирах, даже в рамках одного канала. Например, в канале с несколькими участниками можно создать приватную коллекцию, где данные будут доступны только двум из них, а остальные увидят лишь хеш от этих данных.
Применение
Hyperledger Fabric используется в различных отраслях, где требуется доверенная, но контролируемая среда для обмена данными:
- Финансы: межбанковские расчеты, торговое финансирование, управление активами.
- Логистика и цепочки поставок: отслеживание происхождения товаров, контроль качества, автоматизация документооборота.
- Здравоохранение: обмен медицинскими записями между клиниками при сохранении конфиденциальности пациентов.
- Государственные услуги: цифровые паспорта, реестры недвижимости, голосования.
- Промышленность: управление сертификатами, контроль цепочек поставок комплектующих.
Примеры внедрения
- IBM Food Trust — платформа для отслеживания продуктов питания, построенная на Fabric, используемая крупными ритейлерами (Walmart, Carrefour).
- WeTrade — блокчейн-платформа для торгового финансирования, объединяющая несколько банков.
- Everledger — система для отслеживания происхождения бриллиантов и других ценных товаров.
Преимущества и недостатки
Преимущества
- Модульность: возможность заменять компоненты (например, алгоритм консенсуса) под конкретные задачи.
- Конфиденциальность: каналы и приватные коллекции позволяют скрывать данные от неавторизованных участников.
- Производительность: высокая пропускная способность (тысячи транзакций в секунду) за счет отказа от глобального консенсуса всех узлов.
- Поддержка стандартных языков: разработка смарт-контрактов на Go, Java, JavaScript.
- Управление доступом: строгая аутентификация и авторизация через PKI (инфраструктура открытых ключей).
Недостатки
- Сложность настройки: развертывание и поддержка сети Fabric требуют высокой квалификации администраторов.
- Отсутствие анонимности: все участники идентифицированы, что неприемлемо для публичных блокчейнов.
- Ограниченная децентрализация: в разрешенных сетях обычно меньше узлов, чем в публичных, что может снижать устойчивость к цензуре.
- Зависимость от orderer: порядок транзакций зависит от централизованного или ограниченного набора orderer-узлов.
Критика
Основные критические замечания в адрес Hyperledger Fabric связаны с его сложностью и тем, что он не является полностью децентрализованным в классическом понимании блокчейна. Некоторые эксперты отмечают, что Fabric больше похож на распределенную базу данных с криптографической защитой, чем на блокчейн в традиционном смысле. Кроме того, высокая стоимость внедрения и обслуживания (требуется инфраструктура Docker, Kubernetes, сертификационные центры) ограничивает его применение крупными организациями.
Сравнение с другими платформами
| Параметр | Hyperledger Fabric | Ethereum (публичный) | R3 Corda |
|---|---|---|---|
| Тип доступа | Разрешенный | Публичный | Разрешенный |
| Консенсус | Плуг-ин (Raft, Kafka, PBFT) | Proof of Stake | Плуг-ин (Raft, BFT) |
| Языки смарт-контрактов | Go, Java, JavaScript | Solidity, Vyper | Kotlin, Java |
| Конфиденциальность | Каналы, приватные коллекции | Шифрование, zk-SNARKs | Потоки (flows) |
| Производительность | Высокая (тысячи TPS) | Низкая (15-30 TPS) | Средняя (сотни TPS) |
Интересные факты
- Hyperledger Fabric не использует нативный криптовалютный токен, что отличает его от большинства блокчейн-платформ.
- Проект поддерживается более чем 100 организациями, включая IBM, Intel, SAP, Oracle, Accenture.
- В 2020 году компания IBM запустила облачный сервис IBM Blockchain Platform, основанный на Fabric, для упрощения развертывания сетей.
Источники
- Hyperledger Fabric Documentation (официальная документация проекта)
- Linux Foundation. Hyperledger Project Overview
- IBM. IBM Blockchain Platform Technical Overview
- Androulaki, E. et al. "Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains" (EuroSys 2018)
- Cachin, C. "Architecture of the Hyperledger Blockchain Fabric" (IBM Research, 2016)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →