MemChain и зашифрованное хранение
Эта страница на русском объясняет роль «MemChain и зашифрованное хранение» в открытом протоколе приватности AeroNyx, текущий объем реализации, инварианты приватности и замечания для разработки и эксплуатации.
«MemChain и зашифрованное хранение» — официальная локализованная страница документации AeroNyx. AeroNyx разделяет протокольный слой и продуктовый опыт: протокол дает открытые устойчивые возможности, а App, Nodeboard, зашифрованный чат, зашифрованное хранение и эксплуатация узлов формируют пользовательский опыт.
Обзор
Эта страница на русском объясняет роль «MemChain и зашифрованное хранение» в открытом протоколе приватности AeroNyx, текущий объем реализации, инварианты приватности и замечания для разработки и эксплуатации.
Роль в архитектуре AeroNyx
Тема относится к Nodeboard. AeroNyx следует понимать не как один централизованный сервис, а как набор возможностей протокола, которыми совместно пользуются клиенты, Rust-узлы, backend-координаторы и Nodeboard.
Текущие акценты реализации
- Все возможности, связанные с пользовательским содержимым, должны передаваться как сквозное шифрование или зашифрованные объекты.
- Rust-узлы могут сообщать здоровье, емкость, соединения, доказательства маршрута и агрегированную статистику, но не читать сообщения, учетные данные или секреты пользователя.
- Nodeboard дает операционную наблюдаемость: здоровье узла, peer discovery, восстановление после перезапуска, емкость, пакеты/трафик и состояние протокола.
- На текущем этапе backend координирует, упорядочивает, агрегирует и предоставляет публичные API документации; часть обязанностей позже может перейти в Rust-слой.
Граница приватности
Ключевой инвариант AeroNyx — blind-node invariant: relay-узлы и координаторы MemChain обрабатывают только ciphertext, временные метки, доказательства, агрегированные сигналы здоровья и ограниченные метаданные маршрутизации. Они не должны читать открытый текст, DNS, назначения или восстанавливать социальные связи.
Что важно операторам узлов
Операторы должны отслеживать пропускную способность, лимиты соединений, IP-пул, conntrack, файловые дескрипторы, packet drops, pps, bps, peer store, свежесть heartbeat и restart recovery. Интерфейс должен помогать диагностике, но не раскрывать пользовательское содержимое или коррелируемые данные.
Интеграция для разработчиков и продуктов
Клиенты, App, AI agents и сторонние сервисы должны переиспользовать шифрованные envelope, подписи, blind relay, анонимные учетные данные и healthchecks AeroNyx. Любой новый API должен отделять публичные метаданные от полей, которые остаются внутри E2E payload.
Текущее состояние
Эта страница описывает текущую публичную границу протокола и продукта AeroNyx. multi-hop routing, blind-signed vouchers, encrypted media blob, синхронизация MemChain и улучшения node discovery должны поддерживаться под тем же translation_key.
<!-- memchain-external-witness-v1:start -->Реестр обязательств и защита от отката
MemChain ведёт добавляемый только в конец реестр обязательств для зашифрованных записей. Блок содержит обязательства целостности и метаданные порядка, но не открытый текст памяти и не ключи расшифрования. Это механизм обнаружения подмены и отката, а не публичный блокчейн; он не заявляет распределённый консенсус, финальность или выполнение токенов.
До открытия UDP, TUN и публичного API координатор последовательно проверяет режим надёжности, всю сохранённую цепочку, подписанный локальный якорь вершины, сохранённые свидетельства checkpoint и подписанные checkpoint от явно закреплённых оператором внешних узлов.
| Проверенный результат | Решение при запуске |
|---|---|
| Состояния совпадают | Продолжить запуск |
| Удалённый узел отстаёт | Продолжить запуск |
| Удалённый узел впереди | Остановить: возможен локальный откат |
| Истории расходятся | Остановить: подписанные истории конфликтуют |
| Нет подписанного свидетельства | Продолжить в режиме доступности только без strict; со strict остановить |
Свидетелями могут быть только Ed25519-идентификаторы, явно закреплённые оператором. Permissionless-узел не получает право влиять на запуск лишь потому, что появился в peer store.
Проверенное production-развёртывание — 14 июля 2026 года
У одного production-координатора настроены три явно закреплённых оператором witness ID. Два независимо управляемых и проверенных follower-узла теперь поддерживают совместимый checkpoint service; каждый узел проверил и сохранил одну и ту же историю из 33 блоков и 8 339 обязательств. Координатор принял отдельные подписанные ответы converged от обоих follower-узлов и только после этого включил commitment_witness_startup_required = true.
При проверенном перезапуске startup guard сообщил configured=3, eligible=3, attempted=3, verified=2 и converged=2; UDP- и TUN-listener были открыты только после успешной проверки. Это закреплённое оператором доказательство отката, а не консенсус, quorum, финальность публичной цепочки или выполнение токенов.
Heartbeat сообщает только область witness, их количество и требование strict; ID, endpoint, hash, подписи, зашифрованные данные, владельцы и социальные связи не передаются.
<!-- witness-threshold-enforced-v1:start -->Принудительный порог запуска 2-of-3 — 14 июля 2026 года
Production-координатор теперь использует commitment_witness_min_verified = 2 вместе с commitment_witness_startup_required = true. Запуск блокируется, если допустимые подписанные свидетельства получены менее чем от двух разных закреплённых witness: при нуле ответов возвращается signed_checkpoint_unavailable, при одном — signed_checkpoint_threshold_unmet. При последнем production-перезапуске два из трёх настроенных witness были проверены до открытия UDP, TUN и публичного API listener.
Это заданный оператором порог запуска, а не сетевой consensus, quorum, finality, выбор лидера или fork choice. Rust heartbeat передаёт только агрегированные поля политики и результата, включая startup_minimum_verified, без ID witness, endpoint, hash checkpoint или подписей.
Связанная спецификация протокола
Подписанный реестр обязательств и защита свидетелями
<!-- signed-commitment-ledger-related-v1:end --> <!-- memchain-model-provider-boundary-v1:start -->Своя модель и граница доверия к провайдеру
MemChain отделяет слепое для узла хранение от необязательной когнитивной обработки. Включение SuperNode cognitive worker одним оператором не дает узлам хранения или relay права читать память.
Что видит каждый компонент
- Node-blind узел хранения или relay видит шифротекст, blind indexes, ограниченные метаданные маршрута и агрегированные сигналы здоровья; по умолчанию он не получает память в открытом виде.
- Включенный SuperNode cognitive worker получает только payload задачи, разрешенный уровнем
structured,summaryилиfull. - Внешний провайдер модели может прочитать отправленный ему prompt.
fullдопустим только при явном согласии пользователя и доверии к выбранному провайдеру. - Локальная OpenAI-совместимая модель удерживает inference в границе оператора, но ее worker остается доверенным обработчиком, а не слепым узлом хранения.
Изоляция runtime
- Успешный ответ ограничен 8 MiB до разбора JSON, диагностический ответ ошибки — 64 KiB.
- Ошибки транспорта, API, разбора и пустой ответ переводят провайдера в 30-секундный cooldown по монотонным часам, а не отключают навсегда.
- HTTP 429
Retry-Afterприменяется в пределах 1-300 секунд; при отсутствии используется 30 секунд. - Router может выбрать другого здорового провайдера и автоматически повторно рассматривает отказавший после cooldown. Фоновая задача не нужна.
<!-- memchain-model-provider-boundary-v1:end -->Эти лимиты защищают доступность узла, но не делают внешний inference сквозным шифрованием. Внешний провайдер остается отдельным явным решением о доверии.