montana/Монтана-Протокол/Агенты/ГЛОССАРИЙ.md

168 lines
9.9 KiB
Markdown
Raw Normal View History

# Глоссарий Montana
**Версия:** v1.0.0
**Аудитория:** ИИ-агент. Прочитай после `ВВЕДЕНИЕ.md`.
Каждый термин — короткое определение + где встречается + пример. Алфавит русский (для русскоязычных терминов) + английский (для технических).
---
## А
**Adversarial gate** (Враждебный гейт)
Процедурная проверка во время изменения спеки/кода, симулирующая атаку или ошибку. Например, Gate 1 — верификация премисс критика по спеке. Список — в `Протокол/CLAUDE.md` секция «Гейты».
**Где:** `CLAUDE.md`, `CRITIC.md` (роли).
**Anchor** (Якорь)
Точка финализации состояния. Множество узлов BFT-комитета подписывает блок и фиксирует его как канонический. Подписи — ML-DSA-65 (квантустойчивые).
**Где:** `mt-anchor` крейт, спека раздел «Anchor pipeline».
**Пример:** anchor каждые ~N секунд, M из K подписей нужны.
## Б
**BFT** (Byzantine Fault Tolerance)
Консенсус устойчивый к злонамеренным узлам. Montana: BFT-комитет финализирует Anchor.
**Где:** `mt-consensus` крейт.
**Binding KAT vector** (Связывающий KAT)
Test vector в формате `input hex → output hex`, дословно фиксирующий результат формулы. Любая реализация (Rust/Go/TS/Swift) должна выдавать тот же байт-точный output. SSOT для cross-implementation correctness.
**Где:** `mt-conformance` крейт, спека раздел «KAT vectors».
**Bootstrap PoW** (Бутстрап-доказательство работы)
256-bit integer division proof, который новый узел предоставляет при первом подключении к сети. Защита от Sybil-атаки на boostrap.
**Где:** `mt-net::pow` модуль, спека «Bootstrap».
## В
**VDF** (Verifiable Delay Function)
Функция f(x), которую нельзя ускорить параллелизмом, но проверка результата мгновенная. В Montana — итеративный SHA-256 фиксированной длины D. Создаёт TimeChain.
**Где:** `mt-vdf` крейт, спека раздел «TimeChain layer».
**Пример:** D = 325M итераций ≈ N секунд на референсном GPU.
## Г
**Genesis Decree** (Генезис-декрет)
Начальное состояние сети: `protocol_params` (D₀, размеры, лимиты), bootstrap nodes pubkeys, initial accounts. Hard-coded в спеке + reproducible в коде.
**Где:** спека раздел «Genesis Decree», `genesis.json` (планируется).
**Gate** см. Adversarial gate.
## Д
**Dandelion++** (Одуванчик++)
Сетевой протокол приватности транзакций: stem-фаза (релей через одного соседа), fluff-фаза (broadcast). Затрудняет deanonymization.
**Где:** `mt-net::dandelion` модуль.
**Deferred** (Отложенный)
Решение перенесённое «на потом». Запрещено в Pre-mainnet — все правильные решения применяются сейчас. См. feedback `feedback_audit_ready_zero_deferred`.
**Dev/test/temp markers**
Запрещённые префиксы в production-коде. Имена остаются неизменными от M5 до mainnet. См. feedback `feedback_production_grade_naming`.
## И
**IBT** (Identity-Bound Tunnel)
Криптографическое доказательство что туннель связан с конкретной identity (публичным ключом узла). Не позволяет ноде маскироваться под другую.
**Где:** `mt-net::ibt` модуль, спека «Network layer».
**Invariant** (Инвариант, [I-X])
Глобальное правило которое всегда истинно для спеки/кода. Реестр — в `Протокол/CLAUDE.md`. Примеры: [I-1] SSOT, [I-9] KAT vectors обязательны для каждой формулы, [I-15] no deferred decisions.
## К
**KAT** см. Binding KAT vector.
**Карточка замыкания** (Closure card)
Структурированное micro-spec в спеке: для одного механизма — формула + KAT + threat + storage. Используется для детализации сетевого слоя, storage layer и т.п.
**Где:** спека раздел «Карточки замыкания механизмов».
**ML-DSA-65** (Module-Lattice-based Digital Signature Algorithm)
Постквантовая подпись по FIPS 204. Размеры: pubkey 1952B, secret 4032B, signature 3309B.
**Где:** `mt-crypto-native` (через liboqs).
**ML-KEM-768** (Module-Lattice-based Key Encapsulation Mechanism)
Постквантовый KEM по FIPS 203. Размеры: pubkey 1184B, ciphertext 1088B, shared secret 32B.
**Где:** `mt-crypto-native`.
## Н
**NodeChain** (Цепочка узлов)
Параллельная TimeChain цепочка `NodeRecord`s. Содержит метаданные узлов (pubkey, vdf_chain_length при включении, и т.д.). Используется для селекции лидера.
**Где:** спека раздел «NodeChain layer».
**NodeRecord** (Запись узла)
Структура с метаданными узла: pubkey, vdf_chain_length, capabilities, и т.д. Публикуется при включении узла в сеть.
## О
**Окно (window)**
Временной интервал в TimeChain, фиксированной длины (например, 60 секунд). `window_index` — порядковый номер окна. Внутри окна происходят определённые события (proposals, anchors).
## П
**Pre-mainnet принцип**
Montana ещё не запущена. Любые breaking changes применяются сразу, без backward-compatibility. См. feedback `feedback_premainnet_principle`.
**Privacy by default**
Архитектурный принцип: приватная сеть, пользователь сам выбирает что раскрыть. См. project memory `project_privacy_default`.
**Protocol params**
Часть Genesis Decree: размеры подписей, тайминги, лимиты (`max_protocol_payload_bytes`, `max_sf_ciphertext_bytes`, `bootstrap_pow_difficulty` и т.п.). Меняются только через hard fork.
## Р
**Role** (Роль)
Структурированный промпт для ИИ-агента, формализующий задачу. В Montana 4+ ролей: архитектор спеки, критик спеки, архитектор кода, критик кода. См. `КАРТА-РОЛЕЙ.md`.
## С
**Scale baseline 1B+**
Все архитектурные решения проверяются на ≥1 миллиард активных пользователей. Механизмы которые не масштабируются отбрасываются. См. project memory `project_montana_scale_1b`.
**Selection / Lottery** (Селекция / Лотерея)
Детерминированный выбор лидера для следующего blockround. Формула: `sort_key = H(VDF_output || node_pubkey || ...)`. Узел с минимальным sort_key — лидер.
**SSOT** (Single Source of Truth)
Глобальный инвариант [C-1]: каждая значимая сущность (версия, константа, формат) живёт ровно в одном месте. Дублирование запрещено. Ссылка вместо копии.
**Store-and-Forward**
Сетевой слой: если получатель оффлайн, сообщение буферизуется промежуточным узлом и доставляется позже.
**Где:** `mt-net::store_forward` модуль.
## Т
**TimeChain** (Цепочка времени)
Последовательная цепочка VDF-хешей. Доказательство «прошло время T». Не blockchain, не DAG — просто длинная цепочка SHA-256(SHA-256(...(seed))) с длиной D.
**Где:** `mt-vdf` крейт, спека «TimeChain layer».
**Threat Model** (Модель угроз)
Структурированное описание атак и mitigation. В спеке — 7×7 matrix для сетевого слоя.
**Где:** спека раздел «Threat Model».
## У
**Узел (Node)**
Участник сети Montana. Каждый узел имеет identity (pubkey), может публиковать NodeRecord, участвовать в селекции, релеить сообщения.
## Ф
**FIPS 203 / 204** (Federal Information Processing Standards)
Стандарты NIST для постквантовой криптографии. FIPS 203 — ML-KEM, FIPS 204 — ML-DSA.
**FN-DSA** см. ML-DSA.
## Ч
**Chain length** (Длина цепочки)
Количество VDF-итераций. В прозе — «длина цепочки», в коде — `chain_length`.
## Ш
**SHA-256**
Хеш-функция, основа VDF в Montana. Итерируется D раз для создания TimeChain.
---
**Время чтения:** ~5 минут.
**Следующий шаг:** `КАРТА-РОЛЕЙ.md`.