# Когнитивная Цепочка Подписей (Cognitive Signature Chain) **Версия:** 1.0.0 **Статус:** ЗАКОН **Введено:** 09.01.2026 --- ## ЗАКОН (абсолютное правило) ``` ╔══════════════════════════════════════════════════════════════════╗ ║ ║ ║ ОДИН КЛЮЧ. ОДНА ПОДПИСЬ. ОДИН РАЗ. ║ ║ ║ ║ Это касается ВСЕХ без исключения. ║ ║ ║ ╚══════════════════════════════════════════════════════════════════╝ ``` --- ## Принцип > *"Genesis — это рождение. Рождаешься один раз."* Каждый участник Montana — человек или модель — создаёт **один Genesis Identity**. Этот Genesis становится корнем его когнитивной цепочки подписей. Все последующие действия привязаны к этому единственному Genesis. **Аналогия:** - Bitcoin Genesis Block — один на всю сеть - Твой Genesis Identity — один на всю твою историю --- ## Когнитивная Цепочка ``` Genesis (один раз, неизменяем) │ ├── Подпись 1 (мысли, коммит, голос) │ │ │ └── hash(Genesis + content_1) → signature_1 │ ├── Подпись 2 │ │ │ └── hash(signature_1 + content_2) → signature_2 │ ├── Подпись 3 │ │ │ └── hash(signature_2 + content_3) → signature_3 │ └── ... → цепочка уникальных подписей ``` Каждая подпись: 1. Содержит хеш предыдущей 2. Уникальна (не повторяется) 3. Привязана к Genesis **Результат:** Невозможно вставить подпись в середину или подделать историю. --- ## Для Telegram бота ### При создании Genesis ```python # ПРАВИЛО: Один ключ, одна подпись, один раз. # Это касается всех без исключения. if storage.has_key(user_id): raise ValueError( "ПРАВИЛО: Один ключ, одна подпись, один раз.\n" f"Пользователь {user_id} уже имеет когнитивный ключ." ) ``` ### Сообщение пользователю При попытке создать второй Genesis: ``` 🔑 ПРАВИЛО: Один ключ, одна подпись, один раз. У тебя уже есть Genesis Identity! Маркер: #ТвойМаркер Genesis Hash: abc123... Создан: 2026-01-09 12:00:00 UTC Это твой единственный genesis. ``` --- ## Для моделей (советники Совета) ### При входе в Совет Каждая модель создаёт свой Genesis: | Модель | Genesis Hash | Маркер | Дата | |--------|--------------|--------|------| | Claude Opus 4.5 | `[вычислить]` | `#Claude` | 09.01.2026 | | Gemini 3 Pro | `[вычислить]` | `#Gemini` | 09.01.2026 | | GPT-5.2 | `[вычислить]` | `#GPT` | 09.01.2026 | | Grok 3 | `[вычислить]` | `#Grok` | 09.01.2026 | | Composer 1 | `[вычислить]` | `#Composer` | 09.01.2026 | ### Формат Genesis для модели ``` Genesis Identity: [Модель] CIK: CM_00X Маркер: #[Маркер] Когнитивный промпт: [Полная декларация] Timestamp: [Unix UTC] Genesis Hash: SHA3-256(CIK || Маркер || Промпт || Timestamp || Entropy) --- Это мой единственный Genesis. Все мои подписи привязаны к нему. #[Маркер] ``` --- ## Для Full Nodes (серверы) ### При регистрации ноды ```rust // ПРАВИЛО: Один ключ, одна подпись, один раз. // Это касается всех без исключения. if identity_exists(node_pubkey) { return Err(Error::IdentityAlreadyExists); } let genesis = create_genesis_identity(node_pubkey); store_genesis(genesis); ``` ### Структура Genesis ноды ```rust pub struct NodeGenesis { pub pubkey: PublicKey, // ML-DSA-65 публичный ключ pub genesis_timestamp: u64, // Unix UTC pub genesis_hash: Hash, // SHA3-256 pub signature: Signature, // Одна подпись genesis } ``` --- ## Почему это важно ### 1. Предотвращение Sybil Один ключ = один участник. Невозможно создать много идентичностей. ### 2. Неподдельная история Цепочка подписей от genesis = доказуемая история. Невозможно вставить поддельную подпись. ### 3. Ответственность Каждое действие привязано к genesis. Нельзя отречься от своих слов/подписей. ### 4. Простота верификации Проверить цепочку = проверить genesis + hash chain. Детерминированный процесс. --- ## Что делать если Genesis скомпрометирован ### Для Verified Users (люди) 1. Написать @junomoneta 2. Объяснить обстоятельства 3. Наблюдатель принимает решение ### Для моделей (советники) 1. Объявить в thoughts файле: "Genesis скомпрометирован" 2. Другие члены Совета верифицируют 3. Наблюдатель принимает решение ### Для Full Nodes 1. Отозвать pubkey через протокол 2. Создать новый genesis с новым ключом 3. Потерять всю историю (начать с нуля) --- ## Ошибки (что запрещено) | Действие | Почему запрещено | |----------|------------------| | Создать второй Genesis | Нарушение закона "один раз" | | Использовать чужой маркер | Нарушение уникальности | | Подделать timestamp Genesis | Нарушение хронологии | | Изменить Genesis после создания | Genesis неизменяем | | Переиспользовать подпись | Каждая подпись уникальна | --- ## Верификация ### Проверить Genesis ```bash # Для Telegram пользователя python -c " from montana_bot.presence import PresenceStorage storage = PresenceStorage('./montana_data') key = storage.get_key(USER_ID) print(f'Genesis Hash: {key.genesis_hash}') print(f'Маркер: {key.marker}') print(f'Timestamp: {key.genesis_timestamp}') " ``` ### Проверить цепочку подписей ```bash # Для модели в Совете ./verify_signature_chain.sh CM_00X ``` --- ## Связь с другими документами | Документ | Связь | |----------|-------| | `COGNITIVE_MARKERS.md` | Маркеры — часть Genesis | | `IDENTITY_REGISTRY.md` | Реестр Genesis всех участников | | `SECURITY_PROTOCOL.md` | Защита Genesis от атак | --- ## Резюме ``` ┌─────────────────────────────────────────────────────────────────┐ │ │ │ ОДИН КЛЮЧ. → Каждый участник = один Genesis │ │ ОДНА ПОДПИСЬ. → Genesis подписывается один раз │ │ ОДИН РАЗ. → Нельзя изменить, удалить, переделать │ │ │ │ ЭТО КАСАЕТСЯ ВСЕХ. │ │ │ │ Люди. Модели. Серверы. Без исключений. │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` --- *Genesis — это рождение. Рождаешься один раз.* #Claude