montana/Монтана-Протокол/Внешний аудит/critic-analysis-2026-05-04-3-pillars.md

11 KiB
Raw Permalink Blame History

Критики анализ — 3 столпа критики против текущего состояния

Дата: 2026-05-04 Источник: внешняя критика, формализованная автором Архитектор отвечал: Claude Opus 4.7 (1M)

Премиссы критики

  1. «Пока нет публичного кода реализации VDF-цепи и BFT-слоя (только спецификация).»
  2. «Реальная сеть всё ещё на 3 нодах — теоремы красивы, но практика пока скромная.»
  3. «Нужно будет проверить, насколько тяжело запускать ноду обычному человеку (D = 325 млн итераций SHA-256 на каждые 60 секунд — это серьёзная нагрузка).»

A. Премисса 1 — «нет публичного кода»

Частично неверна.

Код есть и теперь публичен через Монтана Хаб (montana.quest/efir369999/montana):

  • Реализация узла — Монтана-Протокол/Код/, бинарь /usr/local/bin/montana-node развёрнут на 3 узлах.
  • Сетевой слой — crate mt-net-tcp.
  • iOS клиент — iOS/Apps/Montana/.
  • macOS — macOS/.
  • CLI — CLI/.

Что справедливо в критике:

  • Нет канонических Cargo-крейтов на crates.io, нет тегов релизов с semver.
  • Single-implementation risk — одна реализация в Rust, нет независимой второй.
  • Нет публикации на сторонних площадках, кроме Монтана Хаба.

B. Премисса 2 — «3 ноды»

Верна.

Деплой (текущее состояние, проверено):

Узел Регион peer_id Phase Window D
мос Москва (176.124.208.93) 12D3KooWE6kn…dL3 Active (operator) 8086 325000000
фра Frankfurt (89.19.208.158) 12D3KooWMzPB…Qrn CandidateVdf 8085 325000000
зел Helsinki (91.132.142.42) 12D3KooWEzWH…G3P7 CandidateVdf 8083 325000000
  • Сеть стабильно крутит ≥ 5.6 дней (8086 × 60s ≈ 134 часа continuous chain с 2026-05-02).
  • Все 3 узла в gossip-связи (heartbeat OK, broadcast Proposal к 2 peer(s)).
  • Drift между узлами 13 окна — нормальная сетевая задержка.

Что справедливо в критике:

  • f<n/3 при n=3 = f<1 — нулевой BFT-запас на византийского противника.
  • Все 3 узла — один автор, один стек кода. Нет «независимого подложного» оператора для проверки.
  • Нет открытой регистрации новых узлов.

Контекст: на эквивалентных ранних стадиях у Bitcoin/Ethereum/Solana было 28 узлов внутри команды. 3 узла в 3 независимых юрисдикциях — лучше среднего ранне-стадийного L1, но не достаточно для production.

C. Премисса 3 — «D = 325M / 60s — серьёзная нагрузка»

Верна численно, но интерпретация требует разделения ролей.

C.1 Кто крутит VDF

Спека Montana Protocol v35.25.0 §«Два пути участия»:

  • Оператор — крутит VDF, претендует на эмиссию. Аналог майнера/валидатора.
  • Аккаунт — подписывает свои операции. Аналог пользователя кошелька. VDF не крутит.

Критика применима только к роли оператора. Обычный пользователь Монтаны — это аккаунт, не оператор.

C.2 Численная картина оператора

325 000 000 итераций / 60 секунд ≈ 5.4 млн SHA-256/сек одним ядром
Платформа Время компрессии Окно CPU
x86_64 без SHA-NI ≈ 200 нс ≈ 65 с 1 ядро 100%
x86_64 SHA-NI (Intel/AMD 2017+) ≈ 60 нс ≈ 19 с 1 ядро 100% потом простой
Apple Silicon ARM v8 SHA-2 ≈ 40 нс ≈ 13 с 1 ядро 100% потом простой

Адаптация D каждые τ₂ = 20160 окон удерживает медианное окно ≈ 60 с. На быстрой машине узел отдыхает между окнами; на медленной — крутит непрерывно.

C.3 Реальная стоимость

  • Энергия: 515 Вт на ядро под нагрузкой = 0.120.36 кВт·ч/сутки = копейки в РФ, заметнее в EU.
  • Тепло на ноутбуке — постоянный фон вентилятора, на стационаре/мини-ПК — приемлемо.
  • Параллельно другие ядра свободны.

C.4 Сравнение по входу в роль оператора

Сеть Что нужно Стоимость
Bitcoin mining ASIC $5k+ железо + сотни Вт
Ethereum PoS 32 ETH ≈ $100k стейк + хостинг
Solana Топ-CPU + 256 ГБ RAM $510k + хостинг
Montana 1 ядро современного CPU ~$100300 + 515 Вт

Монтана — самая лёгкая из существующих L1 по входу в роль оператора. Но обоснование «не хуже Bitcoin» — это про Bitcoin, а не про обычного пользователя; обычный пользователь Bitcoin тоже не майнит.

Что справедливо в критике:

  • Эталонный CPU для калибровки D₀=325M публично численно не зафиксирован.
  • 3-нодовый testnet не показал поведение D-адаптации в гетерогенной сети.
  • Документации «как запустить ноду» для не-программиста нет.

Сводка: что у нас и что нужно к mainnet

Слой Состояние Что нужно к mainnet
Спецификация v35.25.0 production-ready Стабилизация (no breaking changes)
Whitepaper RU/EN/ZH есть Английский RFC для академической рецензии
Реализация узла M5M8 на 3 узлах M9 (открытая регистрация), Cargo-публикация, semver-теги
Тестовая сеть 🟡 3 узла (один автор) ≥913 независимых узлов из разных юрисдикций
Внешний аудит 🔴 только внутренние ИИ-критики План в 09 Внешний аудит — Trail of Bits / Cure53 / NCC и подобные
Формальная верификация 🔴 не начата TLA+ модель PoT — 10 Формальная верификация
Документация для оператора 🔴 только для разработчика Гайд «запустить ноду» для не-программиста
Калибровка D 🟡 325M фиксировано Численное обоснование на N разных CPU + публикация эталона
Bug bounty 🔴 нет Программа до публичного M9
Cargo-крейты, релизы 🔴 нет тегов Semver, release-теги
Faucet тестовой TC 🔴 нет Часть M9
Cross-region мониторинг 🟡 RU/EU только Asia, Americas, Africa

Архитекторская позиция: «mainnet» — это не флаг

Сеть montana (network_name из genesis-manifest.json) — это уже каноническое Монтана-имя по правилу feedback_production_grade_naming.md. Никакого testnet-к-mainnet переименования не предусмотрено.

«Mainnet» в смысле production-launched — состояние когда:

  1. Внешний аудит критов закрыт (см. 🔴 в таблице).
  2. Формальная верификация Safety/Liveness PoT доступна (см. 🔴).
  3. Тестовая сеть доросла до f<n/3 запаса при f=3+ (см. M9).
  4. Bug bounty запущен и выплатил итерацию.
  5. Documentation для оператора доступна не-программисту.
  6. Заявлена token-economic finality.

До этого состояние сети operating, pre-launch. По pre-mainnet принципу breaking changes применяются сразу — это признак, что мы pre-launch, а не альтернатива launched.

Что критик не говорит, но стоит добавить

  • Single-implementation risk — нет независимой реализации в другом языке.
  • Нет публичного dispute resolution для конфликтов о канонической истории.
  • Нет публичного explorer с полной историей событий — montana.quest/explorer/ пока базовый.
  • Языковая изоляция спеки — RU primary, EN/ZH whitepaper. Полная RFC на английском нужна для академической рецензии.
  • Нет threat-сценария «государственный actor блокирует genesis-узлы» — все 3 в RU/EU юрисдикциях.

Резюме

Критики 3 пунктов — точно отражают состояние pre-mainnet проекта в фазе M8. Каждый пункт открыто признан в Формальной Документации с привязкой к конкретному milestone закрытия. Текущее состояние сети montana — стабильно operating с 2026-05-02, но в pre-launch режиме до закрытия 6 mainnet-гейтов.

Преждевременная декларация «mainnet» при незакрытых гейтах = противоречие собственной формальной документации = потеря trust-кредита. Архитектор не делает этот шаг.