Открыть сервис

Канал 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) — механизм изоляции данных между подмножествами участников сети. Каждый канал имеет свой собственный реестр и набор пиров.

Принцип работы транзакции

  1. Предложение (proposal): клиент отправляет запрос на выполнение транзакции endorsing peers.
  2. Исполнение (endorsement): endorsing peers запускают chaincode и возвращают подписанные результаты (read-write set).
  3. Упорядочивание (ordering): клиент собирает достаточное количество одобрений и отправляет транзакцию в orderer.
  4. Валидация и запись (validation & commit): orderer формирует блок, который распространяется на все пиры. Каждый пир проверяет транзакции и записывает блок в свой реестр.

Каналы (Channels)

Канал в Hyperledger Fabric — это частная подсеть, объединяющая определенное количество участников сети. Каждый канал имеет:

  • Собственный реестр (ledger), который хранится только на пирах, входящих в канал.
  • Собственный набор chaincode, развернутый для этого канала.
  • Собственную политику одобрения (endorsement policy), определяющую, сколько и какие участники должны одобрить транзакцию.

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

Создание канала

Для создания канала необходимо:

  1. Определить состав участников (пиры, которые будут входить в канал).
  2. Создать конфигурационный блок (genesis block) с правилами канала.
  3. Подписать конфигурацию всеми участниками.
  4. Запустить канал через 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 FabricEthereum (публичный)R3 Corda
Тип доступаРазрешенныйПубличныйРазрешенный
КонсенсусПлуг-ин (Raft, Kafka, PBFT)Proof of StakeПлуг-ин (Raft, BFT)
Языки смарт-контрактовGo, Java, JavaScriptSolidity, VyperKotlin, 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 →