# Глоссарий 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`.