Каналы

Канал в сетях Hyperledger Fabric — это частная «подсеть» для обеспечения связи между двумя или более членами сети с целью проведения частных и конфиденциальных транзакций. Канал определяется участниками (организациями), якорными узлами каждого члена, разделяемым реестром, чейнкодами и узлами службы упорядочивания. Все транзакции в сети выполняются в каналах, причем все стороны должны быть аутентифицированы и авторизованы для совершения транзакций в этих каналах. Все одноранговые узлы, присоединяющиеся к каналам, получают специальные идентификаторы от провайдеров службы членства (MSP), которые аутентифицируют каждый одноранговый узел для взаимодействия с другими одноранговыми узлами и службами канала.

Для создания нового канала, клиент через функции SDK вызывает системный конфигурационный чейнкод, передавая в него такие параметры, как якорный узел и участники (организации). Этот запрос создает первичный блок для реестра канала, в котором будет хранится конфигурация — информация о политиках канала, его членах и якорных узлах. При добавлении нового члена в существующей канал, он получает либо первичный блок, либо, если это возможно, самый последний блок конфигурации.

Примечание

Дополнительная информация о свойствах и базовых структурах транзакций конфигурации приводится в разделе Конфигурация канала (configtx).

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

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