Подписанный реестр обязательств и защита свидетелями

AeroNyx16 июля 2026 г.5 мин чтения65 просмотров

AeroNyx ведет подписанный append-only реестр обязательств для зашифрованных записей MemChain. Он подтверждает порядок и целостность, но инфраструктура не может читать память. Это не публичный блокчейн.

Инвариант протокола: Координатор, followers, witnesses, backend и сайт обрабатывают только обязательства над шифротекстом и ограниченные операционные доказательства; им не передаются открытый текст, ключи, связи владельцев или социальный граф.

Текущая рабочая архитектура

Используются один координатор и три проверенных follower/witness-узла. Для запуска нужны 2 из 3 подписанных checkpoint, а для производства во время работы — короткая lease 3/3.

observed_at=2026-07-16 · reporting_nodes=4 · coordinator=1 · followers=3 · height=33 · commitments=8,339 · witness_lease=3/3.

text
client.encrypt_and_sign
  -> coordinator.append_opaque_commitment
  -> follower.verify_signed_ancestry
  -> pinned_witness.retain_checkpoint_and_grant_bounded_lease
<!-- commitment-ledger-flow-i18n-v1:start -->

Поток записи и проверки

  1. Клиент локально шифрует и подписывает подходящую запись памяти.
  2. Координатор добавляет только непрозрачное обязательство и metadata порядка.
  3. Каждое добавление проверяет предыдущий подписанный Block и обновляет локальный подписанный high-water anchor.
  4. Follower получает ограниченные страницы, проверяет ancestry и подписи и сохраняет checkpoint certificates.
  5. Новый commitment Block создаётся только пока все настроенные runtime witnesses выдали один и тот же короткий lease instance.

Контроль запуска и времени выполнения

Для обнаружения rollback и предотвращения одновременной работы скопированных координаторов используются два независимых механизма.

  • Порог запуска: До открытия UDP, TUN или API listeners нужны валидные подписанные доказательства как минимум от двух разных из трёх закреплённых оператором witnesses.
  • Runtime lease: Все три настроенных witnesses должны выдать активному координатору короткий lease. Неполное продление даёт degraded; после истечения полномочий новое производство прекращается.
  • Восстановление: После восстановления связи полный новый lease round возвращает право производства и увеличивает агрегированный recovery counter.
<!-- commitment-ledger-flow-i18n-v1:end -->

Поведение при отказах

При неполном продлении система сообщает degraded и повторяет попытки, пока старая lease действительна. После истечения новое производство обязательств останавливается. remote-ahead или расходящиеся подписанные истории блокируют запуск.

renewal_degraded -> retry_until_expiry

expired -> coordinator_lease_production_permitted=false

remote_ahead | diverged -> startup_denied

Публичная наблюдаемость

API публикует только агрегаты: проверенные узлы, высоту tip, число обязательств и состояние lease. Хэши, подписи, witness ID, endpoints, владельцы и содержимое не публикуются.

text
GET https://api.aeronyx.network/api/privacy_network/vpn/public/network-stats/
data.protocol_status.memory_chain
json
{
  "mode": "signed_commitment_ledger",
  "status": "witness_protected",
  "verified_nodes": 4,
  "coordinator_nodes": 1,
  "follower_nodes": 3,
  "max_verified_tip_height": 33,
  "max_verified_commitment_count": 8339,
  "max_granted_witnesses": 3,
  "max_required_witnesses": 3,
  "network_consensus": "not_claimed"
}

Координатор, followers, witnesses, backend и сайт обрабатывают только обязательства над шифротекстом и ограниченные операционные доказательства; им не передаются открытый текст, ключи, связи владельцев или социальный граф.

<!-- commitment-ledger-privacy-i18n-v1:start -->

Граница конфиденциальности

Центральный и публичный contract исключает record ID, Block hash, подписи, identity witness, endpoint, owner, ciphertext body, plaintext, route, client metadata, wallet-level traffic и social-graph edge. Агрегированное число commitments подтверждает работу системы, но не раскрывает содержание памяти или автора.

<!-- commitment-ledger-privacy-i18n-v1:end -->

Чем это не является

  • Это не permissionless consensus, Byzantine finality или fork choice.
  • Это не токен-реестр и не платформа смарт-контрактов.
  • Это не дает узлам доступ к открытому тексту памяти.

Heartbeat

coordinator_lease_state, coordinator_lease_granted_witnesses, coordinator_lease_required_witnesses, coordinator_lease_seconds_remaining, coordinator_lease_production_permitted, coordinator_lease_last_failure_at, coordinator_lease_consecutive_failures, coordinator_lease_recoveries_total.

<!-- commitment-ledger-faq-i18n-v1:start -->

Частые вопросы

Есть ли у AeroNyx блоки?

Да. Commitment subsystem использует подписанные Blocks для упорядочения непрозрачных commitments зашифрованных записей. Но это не публичный blockchain и не global consensus network.

Что происходит при отключении witness?

Неполное продление отображается как degraded, пока старые полномочия действуют. Если до истечения lease не получено новое разрешение от всех witnesses, производство новых commitments автоматически останавливается.

Может ли witness читать память MemChain?

Нет. Witness проверяет структуру подписанных commitments и lease ownership, не получая plaintext records или ключи расшифрования.

Связанные материалы: MemChain and Decentralized Node Operations.

<!-- commitment-ledger-faq-i18n-v1:end --> <!-- aof-semantic-integrity-v1:start -->

Проверка локальной append-only истории

Текущий децентрализованный узел AeroNyx может проверить локальный append-only файл MemChain, не выводя содержимое памяти. Это локальный барьер целостности для перезапуска, обновления, восстановления mirror и разбора инцидента.

Что проверяется

  • Канонический ограниченный framing записей; до 10 MiB на декодированную запись.
  • Содержимое отдельного Fact и каждого Fact внутри Block соответствует производному fact_id.
  • Merkle root каждого Block соответствует точному порядку сохранённых идентификаторов Fact.
  • Последовательные Block сохраняют непрерывность height и ссылку previous-Block hash.
  • Файл заканчивается на полной границе записи; незавершённый физический хвост сообщается отдельно.

Команда только для чтения

Запустите для настроенного или явно указанного пути:

bash
sudo aeronyx-server memchain verify-aof \
  --config /etc/aeronyx/server.toml

sudo aeronyx-server memchain verify-aof \
  --path /var/lib/aeronyx/.memchain
ПолеЗначение
valid_bytesБайты, покрытые полными семантически корректными записями.
fact_records / block_recordsОтдельные Fact records и Block records; Fact внутри Block повторно не считаются.
last_block_heightВысота последнего корректного локального Block.
torn_tail_bytesНеполные физические байты после последней корректной записи; ноль означает clean.
statusverified означает, что весь наблюдаемый файл прошёл локальную проверку.

Барьер обновления и восстановления

  1. До замены binary выполните verify-aof и сохраните агрегированный результат в command audit.
  2. Проверьте новый binary и выполните им ту же read-only проверку до перезапуска service.
  3. После рестарта убедитесь, что replay восстановил ту же или большую height, затем выполните health checks.
  4. Если полная запись не проходит семантическую проверку, остановитесь и сохраните доказательства; не обрезайте и не объединяйте автоматически.

Граница доказательства

Команда выводит только путь и агрегированные счётчики. Она не выводит Fact, record ID, Block hash, подписи, владельцев, witness identity, endpoint, route или ключи расшифрования. Mirror или Full node после синхронизации может независимо проверить те же локальные байты, не узнав содержание зашифрованной памяти.

Эта проверка не заменяет проверку подписи Block, witness certificate, runtime lease, fork choice или consensus. Чистый AOF доказывает локальную структурную целостность, но не честность всех участников.

Пути реализации:

  • crates/aeronyx-server/src/services/memchain/aof.rs
  • crates/aeronyx-server/src/main.rs
<!-- aof-semantic-integrity-v1:end -->