Вопросы разработчикам: низкоуровневая демонстрация работы распределённых реестров (Hyperledger Fabric)
Рабочий материал для уточнения у разработчиков (2026-10-13, обновлено по финальной структуре ПМИ v07 и эскизу ЧТЗ v07). Два блока: идеи демонстраций на нижних слоях HLF и вопросы по расхождениям ЧТЗ/стенда (коды В-N — из отчёта сверки сверка_с_обновлёнными_источниками.md, разд. 3; И-N — реестр work/OQ.md).
1. Идеи демонстрации «ниже уровня API» — что подтвердить/показать
№ | Что показать | Как (инструмент, команда) | Что доказывает |
1 | mTLS и gRPC-трафик узлов | tcpdump на сетевом интерфейсе docker стенда (порты 7050/7051/7052/9443) при прогоне проверок А.4–А.7 ПМИ (обращение к чейнкоду) | факт шифрованного канала и взаимной аутентификации узлов |
2 | Gossip-обмен пиров | тот же захват — GossipMessage: StateRequest/StateResponse/DataMsg; | распространение блоков между пирами без orderer |
3 | Proposal/ProposalResponse при query | захват при | запрос к чейнкоду не пишет в блок (только endorsement-фаза) |
4 | Структура транзакции и блока |
| как запись реестра выглядит внутри блока |
5 | Transient-данные | сравнить | параметры через transient не сохраняются в блоке — конфиденциальность |
6 | БД Глобального состояния (world state, CouchDB) | прямые запросы к CouchDB узла или | материальная основа проверок А.8–А.10 ПМИ (псевдонимы КОЛЛЕКЦИЯ_N.M) |
7 | Леджер на диске | каталоги | блоки и мировой уровень отделены |
8 | Консенсус orderer (Raft) | логи/метрики orderer, смена лидера | доставка и упорядочение блоков |
9 | Метрики операций | prometheus-эндпоинт peer ( | количественное подтверждение «высоконагруженности» |
2. Вопросы по расхождениям (решения нужны для ЧТЗ v07 и ПМИ v07)
Инструменты стенда: доступны ли tcpdump / configtxlator / protolator / доступ к CouchDB и метрикам на узлах? Если нет — можно ли развернуть (или выполнять с узла admin0.esiapeer.ru)?
Имена коллекций/таблиц БД (для проверок А.8–А.10 ПМИ): фактические имена баз CouchDB каналов (aca-pub-channel, iit-aca-priv-channel и др.) и состав полей записи —
id/idCertificate/tbsHashпротив_id/hashTBS(И66).Канон endpoint'ов (В-1): прежние пути
/certificate/qual/*(стенд 30.09, swagger, коллекция) или переименованные/qual-certificates/*(снимок 261002); имя метода отмены —certificate-cancelилиcancel?Событие регистрации (В-2): код 1 (ЧТЗ, стенд) или 16 (снимок 261002)?
Модель ответа на создание записи (В-5):
{"cert": …}или расширенный JSON стенда (id,idCertificate,isCA,warnings,isChecked,createdAtCC)?Каналы и чейнкоды УНЭП и УЦ: имена для проверок А.5/А.6 ПМИ (goskey-*, каналы аккредитации) — когда будут развёрнуты на стенде?
Переключение маршрута после ротации (В-7, И62): как REST-прокси/чейнкод узнаёт о ротации и новом канале?
Закрепление uuid отдельной транзакцией (В-6): транзакция через
RegistryContractс журналом коллизий (диаграммы) против формирования при создании записи (ЧТЗ 4.2.4.4); как выполняется межчейнкодный вызов BizCC → RegCC (Р-8)?Битовый состав идентификатора (В-4): 5 бит реестра + 32 бита владельца (ЧТЗ/260714) или 13 + 24 (снимок 261002, §5.2)?
Ответ «на дату» (В-3): расширенный вариант (certId/localStatus/accreditationStatus/…) или упрощённый (cert/event/valid/privateKeyStatus); тип
privateKeyStatus— boolean или строка?CHAIN_CRYPTO_* (В-13): перечень предупреждений и
error_depthпри неуспехе полной криптопроверки цепочки — подтвердить поведение.Коды ошибок публичного канала (В-11): ERR-0729 или ERR-1414 (стенд 08.10 вернул ERR-1414); слитые «ERR-072914» снимка.
Тип сертификата УНЭП (В-10): имя и словарь поля, фиксирующего тип (END_ENTITY), — в моделях снимка поля
certTypeнет (registration_json.owner_type/ownerTypeс разными словарями); какое имя поля фактически возвращают чейнкод/БД — для проверок А.5/А.9 ПМИ.