sync 2026-05-04T02:04:21Z
This commit is contained in:
parent
5c74024e8a
commit
67c95b23b3
@ -0,0 +1,145 @@
|
||||
# Критики анализ — 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 между узлами 1–3 окна — нормальная сетевая задержка.
|
||||
|
||||
Что справедливо в критике:
|
||||
- f<n/3 при n=3 = f<1 — нулевой BFT-запас на византийского противника.
|
||||
- Все 3 узла — один автор, один стек кода. Нет «независимого подложного» оператора для проверки.
|
||||
- Нет открытой регистрации новых узлов.
|
||||
|
||||
Контекст: на эквивалентных ранних стадиях у Bitcoin/Ethereum/Solana было 2–8 узлов внутри команды. 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 Реальная стоимость
|
||||
|
||||
- Энергия: 5–15 Вт на ядро под нагрузкой = 0.12–0.36 кВт·ч/сутки = копейки в РФ, заметнее в EU.
|
||||
- Тепло на ноутбуке — постоянный фон вентилятора, на стационаре/мини-ПК — приемлемо.
|
||||
- Параллельно другие ядра свободны.
|
||||
|
||||
### C.4 Сравнение по входу в роль оператора
|
||||
|
||||
| Сеть | Что нужно | Стоимость |
|
||||
|------|-----------|-----------|
|
||||
| Bitcoin mining | ASIC | $5k+ железо + сотни Вт |
|
||||
| Ethereum PoS | 32 ETH ≈ $100k | стейк + хостинг |
|
||||
| Solana | Топ-CPU + 256 ГБ RAM | $5–10k + хостинг |
|
||||
| **Montana** | **1 ядро современного CPU** | **~$100–300 + 5–15 Вт** |
|
||||
|
||||
Монтана — самая лёгкая из существующих 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 для академической рецензии |
|
||||
| Реализация узла | ✅ M5–M8 на 3 узлах | M9 (открытая регистрация), Cargo-публикация, semver-теги |
|
||||
| Тестовая сеть | 🟡 3 узла (один автор) | ≥9–13 независимых узлов из разных юрисдикций |
|
||||
| Внешний аудит | 🔴 только внутренние ИИ-критики | План в [09 Внешний аудит](../../Формальная%20Документация/09%20Внешний%20Аудит/) — Trail of Bits / Cure53 / NCC и подобные |
|
||||
| Формальная верификация | 🔴 не начата | TLA+ модель PoT — [10 Формальная верификация](../../Формальная%20Документация/10%20Формальная%20Верификация/) |
|
||||
| Документация для оператора | 🔴 только для разработчика | Гайд «запустить ноду» для не-программиста |
|
||||
| Калибровка 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. Каждый пункт **открыто признан** в [Формальной Документации](../../Формальная%20Документация/) с привязкой к конкретному milestone закрытия. Текущее состояние сети `montana` — стабильно operating с 2026-05-02, но в pre-launch режиме до закрытия 6 mainnet-гейтов.
|
||||
|
||||
Преждевременная декларация «mainnet» при незакрытых гейтах = противоречие собственной формальной документации = потеря trust-кредита. Архитектор не делает этот шаг.
|
||||
59
Формальная Документация/Mainnet-Readiness.md
Normal file
59
Формальная Документация/Mainnet-Readiness.md
Normal file
@ -0,0 +1,59 @@
|
||||
# Mainnet Readiness — статус 2026-05-04
|
||||
|
||||
**Текущее состояние сети:** ✅ operating, pre-launch
|
||||
**Network name (genesis-manifest):** `montana` (production-grade именование, без testnet-suffix)
|
||||
**Дата запуска цепи:** 2026-05-02 19:28 MSK
|
||||
**Текущая длина цепи:** ≈ 8086 окон ≈ 5.6 суток непрерывной работы
|
||||
|
||||
## Текущие узлы (M8)
|
||||
|
||||
| Узел | Регион | IP | Phase | Window | D |
|
||||
|------|--------|-----|-------|--------|---|
|
||||
| мос | Москва | 176.124.208.93 | **Active** (operator) | 8086 | 325000000 |
|
||||
| фра | Frankfurt | 89.19.208.158 | CandidateVdf | 8085 | 325000000 |
|
||||
| зел | Helsinki | 91.132.142.42 | CandidateVdf | 8083 | 325000000 |
|
||||
|
||||
Все 3 узла:
|
||||
- Подключены через `mt-net-tcp` на TCP/8444 с TLS-A pinning.
|
||||
- Heartbeat OK с двумя другими peer'ами.
|
||||
- Broadcast Proposal к 2 peer(s) на каждом окне.
|
||||
- Drift 1–3 окна между узлами — нормальная сетевая задержка.
|
||||
|
||||
## Почему это НЕ «launched mainnet»
|
||||
|
||||
«Mainnet» в индустриальном смысле = network in production with token-economic finality. Для Монтаны это требует закрытия 6 гейтов:
|
||||
|
||||
| № | Гейт | Статус | Документ |
|
||||
|---|------|--------|----------|
|
||||
| G1 | Внешний аудит критов закрыт | 🔴 не начат | [09 Внешний аудит](09%20Внешний%20Аудит/) |
|
||||
| G2 | Формальная верификация Safety/Liveness | 🔴 не начат | [10 Формальная верификация](10%20Формальная%20Верификация/) |
|
||||
| G3 | Тестовая сеть с независимыми операторами (n≥9, f<n/3 ≥ 3) | 🟡 3 узла одного автора | [11 Тестовая сеть M9](11%20Тестовая%20Сеть/) |
|
||||
| G4 | Bug bounty запущен + итерация | 🔴 не запущен | — |
|
||||
| G5 | Документация оператора для не-программиста | 🔴 только для разработчика | — |
|
||||
| G6 | Token-economic finality заявлена | 🔴 не объявлена | [12 Управление](12%20Управление%20и%20Обновления/) |
|
||||
|
||||
## Pre-mainnet принцип
|
||||
|
||||
Согласно `feedback_premainnet_principle.md`: Montana не запущена, breaking changes применяются сразу. Это **признак**, что мы в pre-launch фазе — не альтернатива «уже запущенному».
|
||||
|
||||
## Что НЕ требуется для mainnet (важно отделить)
|
||||
|
||||
Иногда возникает иллюзия что «mainnet — это другой код, другой genesis, другое имя сети». В Монтане:
|
||||
|
||||
- ❌ Нет отдельной mainnet-конфигурации — `network_name = montana` уже production.
|
||||
- ❌ Нет testnet-токена против mainnet-токена — TC одна, эмитируется по поокнной модели.
|
||||
- ❌ Нет rebrand при «переходе» — имена `org.montana.<component>`, `montana-<component>` зафиксированы по `feedback_production_grade_naming.md`.
|
||||
|
||||
«Mainnet launch» = момент когда G1-G6 закрыты и об этом сделано публичное заявление. Без публичного заявления и закрытых гейтов «переключение в mainnet режим» не имеет смысла — сеть и так работает.
|
||||
|
||||
## Архитекторская позиция
|
||||
|
||||
Премиерное labelling сети как «mainnet» при незакрытых G1-G6 = противоречие собственной формальной документации = потеря trust-кредита перед будущими операторами и аудиторами.
|
||||
|
||||
Закрытие гейтов — единственный путь к mainnet. Запуск этих процессов параллельно начинается с M9 (открытая регистрация, документация, faucet, эксплорер) — он сам является следующим milestone'ом, а не результатом «нажатия кнопки mainnet».
|
||||
|
||||
## Связанные документы
|
||||
|
||||
- [README — статус документов](README.md)
|
||||
- [Внешний аудит — критика 3 столпов](../Монтана-Протокол/Внешний%20аудит/critic-analysis-2026-05-04-3-pillars.md)
|
||||
- [11 Тестовая сеть — M9 план](11%20Тестовая%20Сеть/Testnet.md)
|
||||
Loading…
Reference in New Issue
Block a user