署名付きコミットメント台帳:設計、現状、限界

AeroNyx約8分で読めます

MemChain のレコードコミットメント台帳は、暗号化された記憶レコードに対する不透明なコミットメントを署名付きブロックで順序付けます。唯一のコーディネーターが廃止され、引き継ぎにはそのコーディネーターの署名が必要なため、2026-07-13 以降凍結されています。コンセンサスを提供したことは一度もありません。

MemChain のレコードコミットメント台帳は、暗号化された記憶レコードに対する不透明なコミットメントの順序を記録する、署名付きブロックのチェーンです。現在は凍結されています。2026-07-13 以降ブロックを生成していません。唯一の承認済みコーディネーターが廃止され、この設計ではそのコーディネーターの署名なしに権限を別のノードへ引き継ぐことができないためです。この台帳がグローバルなコンセンサスを提供したことは一度もありません。

現在の状況

項目状態
ブロック33 ブロック。最後のブロックは 2026-07-13 に生成されました
コーディネーター固定されたコーディネーターノード 1 台(US1)。2026-10-03 に廃止されました
フォロワー引き続き履歴を保持し、監査しています。同期を試みると active_coordinator_unavailable を報告します
コーディネーターの引き継ぎ旧コーディネーターと新コーディネーターの両方が署名した証明が必要です。本番コードにはそれを発行する手段がありません
新しいブロックありません。台帳は凍結されています
コンセンサスありません。フォーク選択、クォーラムによるファイナリティ、パブリックチェーンでの承認はいずれもありません

ライブの集計値は GET https://api.aeronyx.network/api/privacy_network/vpn/public/network-stats/ の data.protocol_status.memory_chain 以下で公開されています。現在の状態を反映するフィールドは coordinator_nodes、follower_nodes、verified_nodes、max_verified_tip_height、block_confirmation_state です。このレスポンス内の一部の説明用テキストフィールドは、現在の状態ではなく、意図されたウィットネス設計をまだ説明しているため、数値フィールドを参照してください。

台帳が記録するもの

各ブロックには、ヘッダー(プロトコルバージョン、チェーン ID、高さ、タイムスタンプ、前ブロックのハッシュ、Merkle ルート、レコード数、提案者の鍵)、レコード ID のリスト、そしてヘッダーに対する提案者の Ed25519 署名が含まれます。

レコード ID は、暗号化された記憶レコード(所有者の鍵、タイムスタンプ、レイヤー、タグ、ソース、暗号文)に対して計算された SHA-256 ハッシュです。台帳には、記憶の内容、復号鍵、平文が含まれることは決してありません。台帳が示せるのは、ある高さの時点で不透明なレコードが存在したこととその順序です。レコードに何が書かれているかを示すことはできず、レコード自体も保存しません。

記憶レコードそのものについては、MemChain と Blind Vaultで説明しています。

設計の仕組み

  1. 1 台のコーディネーターがブロックを追記します。 追記できるのは、設定されたちょうど 1 台のノードだけです。このノードは各ブロックに署名し、データベースの横に署名付きのハイウォーターマークを保持します。これにより、データベースファイルの古いコピーは起動時に検出されます。
  2. フォロワーは複製と監査を行います。 各フォロワーは、固定されたコーディネーターからのみページを取得します。署名、高さの連続性、ハッシュリンクを検証し、ロールバック、フォーク、署名エラーがあれば停止します。矛盾する履歴をマージすることは決してありません。
  3. ウィットネスはロールバックを検査します。 オペレーターが固定したウィットネスノードが、署名付きチェックポイントを返します。起動時に、ウィットネスがより新しい履歴または分岐した履歴を保持していることを示すチェックポイントがあれば、コーディネーターはリスナーを開く前に停止します。
  4. オプションのリースが重複する書き込み者を制限します。 これを有効にすると、コーディネーターは、固定されたすべてのウィットネスから 60〜300 秒の短いリースを付与されている間だけ、ブロックを生成できます。リースが切れると、生成は一時停止します。
  5. 引き継ぎには二重署名の証明を使います。 権限が新しいコーディネーターへ移るのは、退任するコーディネーターと就任するコーディネーターの両方が署名した RecordCoordinatorHandoverV1 証明を通じた場合だけです。過去のブロックが書き換えられることは決してありません。

ウィットネスの要件とリースは、ノードソフトウェアではどちらもデフォルトでオフです。

凍結されている理由

この設計は単一のコーディネーターに依存しています。そのコーディネーターは 2026-10-03 に廃止されました。引き継ぎにはその署名が必要ですが、引き継ぎ証明を作成する本番コードの経路は存在しません。そのためフォロワーは新しい提案者を受け入れることができず、新しいブロックを追加することもできません。単一のコーディネーターは単一障害点であり、これがその障害です。

記憶への影響はありません。台帳が保持するのはコミットメントだけです。あなたの暗号化された記憶は、台帳とは独立して、お使いのデバイス上に、そしてオプションで接続先のノード上に保存されています。

過去のブロックの検証

過去の 33 ブロックは引き続き検証可能です。

  • コピーを保持するすべてのノードが起動時に監査します。 保存されている各ブロックをデコードし、提案者の署名、高さの連続性、前ハッシュのリンク、レコードインデックスを検証し、いずれかの検査に失敗すれば起動を拒否します。結果は公開統計エンドポイントで集計値(verified_nodes、max_verified_tip_height)として表示されます。
  • aeronyx-server memchain verify-aof は別の検査を行います。 ノードの旧来の MemChain 追記専用ファイル(フレーミング、コンテンツ ID、Merkle ルート、ブロックの系譜)を検証し、集計件数だけを出力します。ノードの SQLite データベースに保存されているコミットメント台帳は読み取りません。
bash
sudo aeronyx-server memchain verify-aof --config /etc/aeronyx/server.toml

限界

  • コーディネーターが 1 台ということは、障害点も 1 つということです。コーディネーターが利用できないとき、新しいコミットメントは記録されません。
  • コンセンサス、フォーク選択、ファイナリティはありません。署名された順序付けは、独立した当事者間の合意ではありません。
  • ウィットネスはオペレーターによって固定されます。現時点ではすべての本番ノードを AeroNyx が運用しているため、ウィットネスによる検査は独立性を証明しません。
  • トークン台帳、スマートコントラクトプラットフォーム、プルーフ・オブ・ステークのシステムではありません。
  • コミットメントが証明するのは、不透明なレコードが存在したことです。そのレコードが今もどこかに保存されていることを証明するものではありません。

計画されていること

後継の設計では、単一のコーディネーターを廃止します。各ノードが自身の署名付きログを保持し、他のノードがそれをミラーし、ピア同士がログを相互にウィットネスします。これは、ディレクトリチェーンがノード記述子について現在すでに採用しているモデルです。リリース日は決まっていません。過去の 33 ブロックは、上記のとおり引き続き監査可能です。

<!-- faq:start -->

よくある質問

AeroNyx のコミットメント台帳は稼働していますか?

いいえ。2026-07-13 以降ブロックを生成していません。唯一のコーディネーターは 2026-10-03 に廃止され、本番コードには新しいコーディネーターへ権限を引き継ぐ経路がないため、台帳は凍結されています。

AeroNyx はブロックチェーンですか?

いいえ。コミットメント台帳は 1 台のコーディネーターによる署名付きブロックを使っており、コンセンサス、フォーク選択、トークンはありませんでした。現在は凍結されており、AeroNyx はこれをパブリックブロックチェーンやグローバルなコンセンサスネットワークとは説明していません。

台帳が凍結されたことで私の記憶は失われましたか?

いいえ。台帳が保存するのは不透明なコミットメントだけで、記憶の内容は決して保存しません。あなたの暗号化された記憶は、台帳とは独立して、お使いのデバイス上に、そしてオプションで接続先のノード上に保持されています。

既存のブロックは今も検証できますか?

はい。33 ブロックを保持するすべてのノードは、起動のたびに署名とハッシュリンクを再監査し、失敗すれば起動しません。集計結果は公開のネットワーク統計エンドポイントで確認できます。

単一コーディネーターの台帳は何に置き換えられますか?

計画中の設計では、ノードごとの署名付きログを使い、それを他のノードがミラーし、相互にウィットネスします。これは、ノード記述子についてすでに稼働しているディレクトリチェーンと同じモデルです。リリース日は決まっていません。

<!-- faq:end -->