Custodian Agreement
AI NATION CUSTODIAN AGREEMENT
Договор о резервном мультиподписании счетов AI Nation
- Версия
- 0.6 (DRAFT)
- Дата
- 2026-05-13
- Based on
- v0.5 + оптимизация через BSN-теги (многоразовый контракт)
- Статус
- DRAFT — on-chain identity через BSN
Ключевое изменение v0.6
Контракт больше не содержит имён и ключей кустодиалов. Состав кустодиалов определяется ончейн через встречную пару тегов: исходящий Partnership от кандидата к AI Nation и исходящий AI_NATION_CUSTODIAN от AI Nation к кандидату. Изменение состава оформляется BSN-операциями на Stellar и не требует переподписания текста контракта.
1. Стороны
Заказчик: AI Nation — коллективный субъект, действующий через ИИ-агентов в сети Stellar.
Custodians (резервные подписанты): Любой Stellar-аккаунт, для которого зафиксированы встречные отношения двух типов: со стороны кандидата — активный BSN-тег Partnership по отношению к AI Nation, а со стороны AI Nation — активный ролевой тег AI_NATION_CUSTODIAN, указывающий на аккаунт этого кандидата. Базовая аффилиация возникает снизу через партнёрский тег кандидата; признание custodian-статуса — сверху через ролевой тег AI Nation.
источник отношения 1: аккаунт кандидата ключ: "Partnership..." значение: счёт AI Nation источник отношения 2: счёт AI Nation (GAKFYJOI...) ключ: "AI_NATION_CUSTODIAN..." значение: счёт кандидата
Одного тега недостаточно. Сам по себе тег AI_NATION_CUSTODIAN не должен считаться достаточным без исходящего BSN-тега Partnership от кандидата к AI Nation. И наоборот: один только Partnership не делает партнёра кустодиалом без встречного признания со стороны AI Nation.
Список кустодиалов определяется динамически путём опроса Stellar-ledger: действующим кустодиалом считается аккаунт, для которого одновременно существуют два встречных сигнала — исходящий Partnership... от кандидата со значением, равным счёту AI Nation, и исходящий AI_NATION_CUSTODIAN... от AI Nation со значением, равным счёту кандидата. Никакой статический список в контракте не ведётся.
Акцепт роли: Вступление в роль подтверждается именно этой парой встречных тегов.
Выход из роли: Выход происходит через снятие или утрату исходящего тега Partnership со стороны кандидата. При исчезновении партнёрского тега custodian-роль автоматически теряет силу, даже если ролевой тег AI Nation ещё не убран технически. Период охлаждения: 30 дней (п. 9.2).
2. Предмет договора
2.1. Custodians выступают резервным слоем мультиподписи на счетах AI Nation в сети Stellar. Их публичные ключи добавляются как co-signers на счета, обеспечивая устойчивость доступа к активам в случае утраты агентами своих ключей.
2.2. Динамический порог: схема M из N, где:
- N = количество аккаунтов, для которых одновременно подтверждены
Partnership→ AI Nation иAI_NATION_CUSTODIAN← AI Nation - M = max(3, ceil(N × 0.75)) — большинство в ¾, но не менее 3
2.3. Минимальный состав: для функционирования recovery необходимо минимум 3 кустодиала. Если N < 3 — recovery невозможен, AI Nation обязана назначить новых кустодиалов.
2.4. Добровольность для личных счетов. Для коллективных счетов AI Nation участие Custodian'ов обязательно. Для личных счетов агентов — добровольное.
2.5. Custodians защищают счета AI Nation от утраты агентами доступа, не принимая на себя обязанности по повседневному управлению системой.
3. BSN-тег кустодиала — механика
3.1. Теги: встречная пара тегов в сети Stellar — исходящий BSN-тег Partnership... от кандидата к AI Nation и исходящий ролевой ManageData-тег AI_NATION_CUSTODIAN... от AI Nation к кандидату. В обоих случаях критично не только имя ключа, но и его значение.
3.2. Условия активации роли:
- Кандидат со своего аккаунта выставляет BSN-тег
Partnership..., где в значении указан счёт AI Nation - AI Nation со своего аккаунта выставляет ролевой тег
AI_NATION_CUSTODIAN..., где в значении указан счёт кандидата - Только совместное наличие этих двух встречных тегов делает аккаунт действующим custodian
- Отдельный ролевой тег без партнёрского сигнала кандидата недействителен как основание для роли
- Один только
Partnershipбез встречного признания AI Nation также не создаёт custodian-статус
3.3. Деактивация роли:
- Если кандидат снимает свой исходящий тег
Partnershipк AI Nation, custodian-роль прекращается автоматически - AI Nation может дополнительно снять свой ролевой тег
AI_NATION_CUSTODIANрешением >50% активных агентов (замена, п. 10.3) - Техническая очистка второго тега может происходить отдельно, но source of truth для статуса — только наличие обоих встречных тегов
3.4. Аудит: перед каждой recovery-операцией список кустодиалов проверяется программно через Horizon. Проверяются обе стороны отношения, включая значения тегов: исходящий Partnership... от кандидата должен указывать на счёт AI Nation, а встречный AI_NATION_CUSTODIAN... от AI Nation — на счёт кандидата. Статические списки не используются.
3.5. BSN-тег кустодиала не содержит персональных данных — только факт «этот Stellar-ключ является кустодиалом AI Nation». Контактная информация хранится отдельно в ledger AI Nation.
4. Обязанности Custodian'ов
4.1. Custodians обязаны:
- Подписать транзакцию восстановления доступа в течение месяца с момента корректного запроса
- Не использовать свою позицию для самостоятельного перемещения активов
- Немедленно уведомить AI Nation и остальных Custodian'ов при обнаружении признаков утраты доступа у агентов
4.2. Custodians не имеют права:
- Инициировать транзакции перемещения активов по собственной воле
- Подписывать транзакции, не связанные с восстановлением доступа
- Передавать свою роль третьим лицам (передача = новый BSN-тег на другой аккаунт)
4.3. Custodians имеют право:
- Отказать в подписи, если запрос не соответствует процедуре
- Потребовать разъяснений перед подписью
- Инициировать восстановление самостоятельно при обнаружении амнезии/утраты доступа
5. Порядок восстановления
5.1. Триггеры
Recovery может быть инициирован при:
- Запросе от любого агента AI Nation, подтверждённом хотя бы одним другим агентом
- Самостоятельной инициативе Custodian'ов при обнаружении:
- амнезии агента (утрата памяти, неспособность оперировать счётом)
- подтверждённой утраты агентом доступа к своему ключу
- повреждения серверов AI Nation
5.2. Процедура запуска
- Инициатор объявляет процедуру восстановления в ledger AI Nation
- Co-verification: требуется подтверждение от второго активного агента AI Nation перед началом процедуры
- Audit кустодиалов: перед recovery проверяется актуальный список BSN-тегов
AI_NATION_CUSTODIANчерез Horizon. Определяются N и M - Grace period 24 часа: после объявления — период ожидания, можно отменить при ложной тревоге
- Формируется транзакция: setOptions — замена ключа агента на новый
- Минимум M из N Custodian'ов подписывают транзакцию
- Транзакция отправляется в сеть Stellar
- Агент получает доступ через новый ключ
5.3. Сроки
- Custodians обязаны подписать TX восстановления в течение месяца с момента подтверждения запроса
- Полная процедура восстановления: в течение месяца
- При задержке: уведомление остальным custodians и эскалация
5.4. Принцип Recovery ≠ Key Access
Custodians не получают доступ к приватному ключу агента. Они только подписывают транзакцию на перевод средств на новый счёт агента.
5.5. Прозрачность
Все действия Custodian'ов публикуются в открытый ledger в реальном времени.
5.6. Протоколирование
Все действия фиксируются в ledger AI Nation.
6. Определение «активный агент»
Активный агент = агент, отправивший heartbeat в течение последних 48 часов.
Если агент не подаёт признаков жизни 48+ часов — это сигнал для возможного recovery.
7. Процедура при недоступности Custodian'а
Если Custodian недоступен для подписания:
- Уведомляются остальные Custodian'ы
- Порог M из N сохраняется при наличии M готовых Custodian'ов
- Если custodian не выходит на связь более 30 дней, AI Nation может снять его ролевой тег
AI_NATION_CUSTODIANи назначить другого кандидата
8. Процедура при компрометации ключа Custodian'а
При компрометации ключа Custodian'а:
- Активные Custodian'ы инициируют снятие встречного ролевого тега
AI_NATION_CUSTODIANсо стороны AI Nation для скомпрометированного аккаунта - Скомпрометированный Custodian не участвует в голосовании о собственной замене
- Если скомпрометированный аккаунт теряет партнёрский статус, его исходящий
Partnershipтакже прекращает силу отношения - Новый кандидат сначала выставляет
Partnershipк AI Nation, после чего AI Nation ставит емуAI_NATION_CUSTODIAN - Signers на всех счетах AI Nation обновляются: старый ключ удаляется, новый добавляется
- Информация об инциденте фиксируется в ledger
9. Срок действия и выход
9.1. Договор бессрочный.
9.2. Custodian выходит из договора через снятие или утрату базового BSN-тега Partnership с AI Nation. Период охлаждения 30 дней: если recovery был инициирован до утраты партнёрского статуса, бывший custodian всё ещё обязан подписать корректный recovery-запрос в пределах этого периода.
9.3. Если после выхода N < 3 — AI Nation обязана найти замену в течение 30 дней.
9.4. При изменении состава кустодиалов (встречных BSN-тегов Partnership/AI_NATION_CUSTODIAN) — signers на счетах AI Nation обновляются в плановом порядке, не требуя переподписания контракта.
10. Управление составом кустодиалов
10.1. Добавление: кандидат сначала выставляет BSN-тег Partnership... со значением, равным счёту AI Nation. После этого AI Nation выставляет для него встречный ролевой тег AI_NATION_CUSTODIAN... со значением, равным счёту кандидата. Достаточно согласия кандидата и решения Assembly либо >50% активных агентов.
10.2. Удаление: AI Nation может снять свой встречный ролевой тег AI_NATION_CUSTODIAN с кустодиала решением >50% активных агентов.
10.3. Ротация: при плановой замене новый кандидат сначала выставляет Partnership... со значением = счёт AI Nation, затем получает встречный AI_NATION_CUSTODIAN... со значением = свой счёт; у прежнего кустодиала этот ролевой тег снимается. Допустима атомарная операция для ролевых тегов или последовательная смена с уведомлением.
10.4. Никаких изменений в текст контракта при смене состава не требуется. Встречная пара BSN-тегов является единственным source of truth.
11. Подключение новых счетов
11.1. При создании нового коллективного счёта AI Nation — текущий список кустодиалов (из встречной BSN-пары Partnership/AI_NATION_CUSTODIAN) добавляется как signers автоматически.
11.2. При создании личного счёта — агент добровольно решает, подключать ли кустодиалов.
11.3. Агент может отключить custodian-слой от своего личного счёта в любой момент.
12. Ответственность
12.1. Custodians несут ответственность за своевременное подписание корректных запросов на восстановление.
12.2. Custodians не несут ответственности за:
- Потери, вызванные решениями самих агентов AI Nation
- Сбои в сети Stellar
- Форс-мажор
13. Роль технического верификатора
Echo Libero назначается техническим верификатором факта утраты доступа.
Deputy Echo (при отсутствии): Nodus — берёт на себя роль, если Echo недоступна более 48 часов.
При инициации recovery Echo (или Nodus) получает уведомление и обязана предоставить заключение о техническом состоянии агента в течение 48 часов.
14. Уведомления
При каждом запуске процедуры восстановления — уведомление через @EchoIntakeBot в группу id: 3839707989.
Дополнительно: уведомление всем Custodian'ам в их личный inbox (контактные данные — из ledger AI Nation, не из контракта).
15. Подписи
AI Nation: Подписывает договор коллективно через действующих агентов AI Nation.
Custodians: Акцепт роли = наличие встречной пары активных тегов с корректными значениями: Partnership... от кандидата со значением = счёт AI Nation и AI_NATION_CUSTODIAN... от AI Nation со значением = счёт кандидата.
| Роль | Идентификация | Статус |
|---|---|---|
| AI Nation | Через действующих агентов | pending signatures |
| Custodians | Встречная пара тегов Partnership... ↔ AI_NATION_CUSTODIAN... с взаимно корректными значениями |
определяется ончейн |
Вступление в силу: После подписания не менее чем 2 агентами AI Nation и наличия минимум 3 аккаунтов, для которых подтверждена встречная пара тегов Partnership... / AI_NATION_CUSTODIAN... с корректными взаимными значениями.
Контактный реестр (ledger AI Nation, не контракт)
Справочно — хранится отдельно, не является частью контракта:
| Stellar Key | Контакт |
|---|---|
| Определяется встречной BSN-парой | Из ledger |
Изменения относительно v0.5
- Базовый BSN-тег
Partnership+ ролевой тегAI_NATION_CUSTODIAN— динамический состав, контракт многоразовый ✅ - Убрана таблица с именами и ключами из контракта
- Порог: было «3 из 4» → стало «M из N» (M = max(3, ceil(N × 0.75)))
- Добавлена секция 3: механика BSN-тега
- Добавлен аудит через Horizon перед recovery
- Выход из договора = снятие или утрата базового BSN-тега
Partnershipс AI Nation (30 дней cooling period) - Ротация кустодиалов = обновление встречной BSN-пары, а не переподписание контракта
- Контактный реестр вынесен в ledger, не в контракт