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