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
|