montana/Русский/Совет/документы/ЦЕПЬ_КОГНИТИВНЫХ_ПОДПИСЕЙ.md

276 lines
9.3 KiB
Markdown
Raw Normal View History

# Когнитивная Цепочка Подписей (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