簽名承諾帳本與見證保護

AeroNyx2026年7月16日5 分鐘閱讀60 次瀏覽

說明 AeroNyx 如何以一個協調器、經審核的跟隨節點、固定見證人與 fail-closed 租約驗證只追加的加密承諾帳本,同時不宣稱公鏈共識。

AeroNyx 已為加密 MemChain 記錄運行簽名、只追加的承諾帳本。帳本證明順序與完整性,但基礎設施仍無法讀取記憶內容。它是協議完整性機制,不是公鏈。

協議不變量: 協調器、跟隨節點、見證人、後端與官網只能處理密文承諾及有界運行證據;不得接收記憶明文、解密金鑰、所有者關係或社交圖譜。

目前生產架構

目前部署由一個承諾協調器與三個經審核的跟隨/見證節點組成。協調器排序不透明承諾;跟隨節點獨立驗證區塊祖先關係與簽名,保留簽名檢查點證據,並核發短期生產租約。在見證假設成立時,這能防止回滾與複製協調器平行寫入。

角色職責
客戶端在本機加密並簽名記憶;金鑰不進入節點基礎設施。
協調器僅在完整性與權限門檻通過後,把不透明承諾寫入簽名區塊。
跟隨/見證節點驗證歷史、保留簽名觀測、提供檢查點並核發有時限租約。
後端/官網只發布聚合健康度,不發布 hash、簽名、身分、端點、所有者或內容。

截至 2026 年 7 月 16 日,四個上報節點驗證了相同的高度 33 歷史,共覆蓋 8,339 筆不透明承諾:一個協調器、三個跟隨節點;協調器持有 3/3 運行時見證租約。這是帶日期的運行觀測,當前狀態請查詢公開 API。

寫入與驗證流程

  1. 客戶端在本機加密並簽名可記憶記錄。
  2. 協調器只追加不透明承諾與排序 metadata。
  3. 每次追加都驗證上一個簽名區塊並更新本機簽名高水位錨點。
  4. 跟隨節點拉取有界分頁,驗證祖先關係與簽名,並保留檢查點證書。
  5. 只有所有設定的運行時見證人都為同一租約實例授權時,協調器才生產新區塊。

啟動與運行時門檻

系統刻意使用兩種獨立控制:啟動檢查點在公開 listener 開啟前偵測回滾;運行時租約防止兩個複製的協調器同時持續生產。

  • 啟動閾值: 協調器開啟 UDP、TUN 或 API listener 前,三個固定見證人中至少兩個必須回傳不同且有效的簽名證據。
  • 運行時租約: 三個設定見證人必須全部為活動協調器核發短租約。部分續租進入降級狀態;權限到期後停止生產。
  • 恢復: 見證網路恢復後,完整的新租約輪次恢復生產權限,並增加聚合恢復計數。

失效模型

條件必要行為
一個見證人未續租回報 renewal_degraded,並在既有租約仍有效時重試。
租約到期設定 production_permitted=false,對新承諾生產 fail closed。
簽名遠端狀態更高停止啟動,因為本機狀態可能已回滾。
簽名歷史分歧停止啟動並要求營運者調查,絕不自動合併衝突歷史。

公開可觀測性

隱私安全聚合接口為 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"
}

上面的 JSON 是一次已驗證生產觀測範例,不是寫死承諾。節點持續上報時,計數與租約剩餘時間會變化。

節點 heartbeat 為營運者上報以下租約健康欄位;公開接口只提供聚合計數:

coordinator_lease_state, coordinator_lease_granted_witnesses, coordinator_lease_required_witnesses, coordinator_lease_seconds_remaining, coordinator_lease_production_permitted, coordinator_lease_last_attempted_at, coordinator_lease_last_renewed_at, coordinator_lease_last_failure_at, coordinator_lease_renewal_failures_total, coordinator_lease_consecutive_failures, coordinator_lease_recoveries_total.

隱私邊界

中心化/公開契約明確排除記錄 ID、區塊 hash、簽名、見證人身分、端點、所有者、密文正文、明文、路由、客戶端 metadata、錢包級流量與社交圖譜。承諾計數證明系統執行了工作,但不能說明記憶內容或建立者。

它不是什麼

  • 不是無許可共識、拜占庭最終性或分叉選擇。
  • 不是代幣帳本、智能合約平台或權益證明系統。
  • 不證明所有主機或見證人都誠實。
  • 不允許基礎設施讀取或搜尋記憶明文。

常見問題

AeroNyx 現在有區塊了嗎?

有。承諾子系統使用簽名區塊排序不透明的加密記錄承諾;但不應把它描述成公鏈或全網共識網路。

見證人離線會怎樣?

既有權限仍有效時,部分續租會顯示為降級;若租約到期前仍未取得全部設定見證人的新授權,新承諾生產會自動停止。

見證人能讀取 MemChain 記憶嗎?

不能。見證人只驗證簽名承諾結構與租約歸屬,不會收到記憶明文或解密金鑰。

相關文檔:記憶鏈與加密儲存去中心化隱私節點維運

<!-- aof-semantic-integrity-v1:start -->

驗證本地追加式歷史

目前 AeroNyx 去中心化節點可以檢查本地 MemChain 追加式檔案,而不輸出任何記憶內容。這是重新啟動、升級、鏡像恢復與事故審查的本地完整性門檻。

驗證器檢查什麼

  • 規範且有上限的記錄 framing;單筆解碼記錄最大 10 MiB。
  • 獨立 Fact 與 Block 內每個 Fact 的內容仍與其內容派生 fact_id 一致。
  • 每個 Block 的 Merkle root 與其中依序保存的 Fact 標識完全一致。
  • 連續 Block 的高度連續,且 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 記錄與 Block 記錄;Block 內的 Fact 不重複計數。
last_block_height最後一個有效本地 Block 的高度。
torn_tail_bytes最後一筆有效記錄後的不完整物理位元組;零表示乾淨。
statusverified 表示本次觀察到的整個檔案通過本地掃描。

升級與恢復門檻

  1. 替換 binary 前執行 verify-aof,並在命令稽核中保留聚合結果。
  2. 驗證新 binary,並在重新啟動服務前用它執行同一唯讀掃描。
  3. 重啟後確認 replay 恢復至相同或更高高度,再執行節點健康檢查。
  4. 完整記錄若語義驗證失敗,必須停止並保留證據;不得截斷或自動合併。

證明邊界

命令僅輸出路徑與聚合計數,不輸出 Fact 內容、記錄標識、Block hash、簽名、擁有者、見證身分、端點、路由或解密金鑰。Mirror 或 Full node 同步後可獨立驗證同一份本地位元組,而不知道加密記憶內容。

此掃描不取代 Block 簽名驗證、見證憑證、執行期租約、分叉選擇或共識。乾淨的 AOF 證明本地結構完整性,不證明所有基礎設施參與者皆誠實。

實作路徑:

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