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

168 lines
9.9 KiB
Markdown
Raw 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.

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