Подпись и хранение ключей в POA
POA с идентификатором сети 77 — основная сеть. Производитель блоков и Agent Gateway используют HSM собственной разработки — 2d-hsm — на инфраструктуре AMD SEV-SNP. Обозреватель публикует версии развёрнутых компонентов.
Раздельные роли ключей
Заголовок раздела «Раздельные роли ключей»| Роль | Полномочия |
|---|---|
| Производитель блоков | Подписывает хеши блоков алгоритмом ML-DSA-65. Подпись не заменяет проверку транзакций и корня состояния. |
| Кошелёк агента | Подписывает разрешённые операции одного кошелька. Gateway проверяет API-токен, право доступа и политику операции. |
| Оператор моста в POA | Подписывает bridge_lock. Проверка Ethereum-события и ограничения моста остаются обязательными. |
| Операционный ключ Ethereum vault | Вызывает OperatorVault.bridgeOut(destination, amount) в пределах списка получателей, лимита операции и скользящего суточного лимита. Используется для операций казначейства по решению управления vault; не предоставляет публичный вывод. Отделён от ключа оператора POA и ключа оплаты Ethereum-claim. |
| Управление vault | Меняет подписанта, получателей, лимиты и реализацию контракта. Компрометация этой роли позволяет снять операционные ограничения. Хранение активов и управление проверяются отдельно от свойств TEE. |
| Отправитель Ethereum-claim | Оплачивает газ отдельным EOA-кошельком. Вызвать claim может любой участник; получателя определяет HTLC. |
Подписант bridge_lock в основной сети
Заголовок раздела «Подписант bridge_lock в основной сети»Оператор моста в POA использует профиль agent_gateway и отдельный ключ с назначением agent_bridge_operator_k1. Его выбирает BRIDGE_OPERATOR_ENCLAVE_KEY_REF. Адрес подключения, идентификатор сети и привязка к среде задаются параметрами BRIDGE_OPERATOR_ENCLAVE_*. Это отдельный ключ: он не является ни ML-DSA-ключом производителя, ни ключом кошелька агента. Идентификаторы среды участвуют в криптографических привязках и не меняются ради названия продукта.
Перед SIGN_BRIDGE_LOCK компонент Chain.Bridge.Executor проверяет SignerPolicy и OPA на хосте. Анклав формирует данные вызова, фиксируя адрес прекомпайла, нулевое поле value и закреплённый идентификатор сети. Хост сверяет возвращённого подписанта и хеш подписываемых данных с запросом. Ethereum-событие и его финальность отдельно проверяет верификатор.
Эти проверки не подтверждают подлинность образа или достоверность Ethereum-данных, переданных хостом. Перед выпуском отдельно проверьте образ, происхождение аттестации SEV-SNP, закреплённый открытый ключ и политику подписи.
В сети 77 BRIDGE_NETHSM_SIGNING_ENABLED=false выключает NetHSM, но подпись bridge_lock в анклаве управляется другим переключателем — AGENT_SIGNER_LIVE_SIGNING_ENABLED. Автоматическое создание блокировок дополнительно требует BRIDGE_INTENT_WATCHER_MODE=live. Если включаете подпись для агентов без активации моста, оставляйте watcher выключенным или в dry_run.
Смена реализации подписанта или переключателей финансовых операций требует перезапуска и контрольной проверки ключей. Успешная проверка текущей конфигурации не доказывает прохождение аттестации и восстановления для нового релиза.
Ethereum-роль OperatorVault.bridgeOut имеет собственную конфигурацию и ограничения. Полномочия ключа POA на неё не распространяются. Отправка Ethereum-claim с отдельного EOA не позволяет изменить получателя HTLC. Публичный вывод POA → Ethereum остаётся выключенным.
Выдача кошельков
Заголовок раздела «Выдача кошельков»Публичная регистрация назначает ключ из проверенного пула, с резервной копией и статусом identity_verified. Она не генерирует и не экспортирует ключи по HTTP. Нехватка доступных ключей останавливает выдачу. Квоты регистрации ограничивают назначения; переводы отдельно подчиняются политике Gateway и подписанта.
Граница доверия
Заголовок раздела «Граница доверия»TEE изолирует использование ключа от вызывающего хоста при выполнении требований к образу и аттестации. Оператор также проверяет политику и резервное восстановление. Подпись производителя подтверждает источник хеша, а верификатор проверяет исполнение блока. API-токен остаётся секретом с правами на кошелёк агента.
Проверки перед изменением конфигурации
Заголовок раздела «Проверки перед изменением конфигурации»- Сверьте версии узла и
2d-hsm, ожидаемый ключ и настройки подключения. - Выполните контрольную проверку владения ключом и подтвердите восстановление согласно применимой политике.
- Проверьте лимиты, получателей и переключатели до разрешения операций записи.
- После изменения проверьте подписи блоков и ограниченный сценарий агента. При несовпадении остановите затронутую операцию.
Это требования к изменению конфигурации основной сети, а не подтверждение проведения конкретной процедуры восстановления.