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

276 lines
9.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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