VSO、VCP RTA検証器の固定版と外部レビュー手順を公開
VSOはVCP RTAのレビュー対象版を固定し、公開手順を新規クローンから最終レポート照合まで自社CIで確認しました。固定した回帰809件と別枠の公開証拠15件が各環境で成功しています。40イベントの証拠の総合判定はINDETERMINATE(判定不能)のままです。補助形式は未採択、第三者による独立再現は未成立です。
実装拡張は未採択・独立再現は未成立
補助記録の形式は実装上の拡張であり、VCP/VAPの正式採択済み形式ではありません。今回の固定版は、新しいリリース、認証、外部の独立実装ではありません。手順の公開や自社CIの成功によって、独立再現・完全適合・本番適合が成立したとは扱いません。
10月26日追記:CI原本の一部保存と外部レビューの受付案内
完了済みの自社CIから、Python環境ごとに実行完了記録・最終判定・元の成果物一覧の3件、計6件のJSON原本をGitに保存しました。バイト単位で一致するコピーであり、新たな実行ではありません。全件のJUnit XML、40イベントの詳細な再検証結果、シェルログは含みません。選択した原本はActions成果物の30日保持だけに依存しなくなりましたが、Gitの利用可能性は改変不能・永久保存の保証ではありません。未保存ファイルのハッシュから原本を復元することもできません。
受付案内では、RTA固定版(対象cc695fe・手順a839d7a)とVAPのOS隔離模擬ゲート(キットb1af0dc・対象c8ccf97)を分けています。一方への実行承諾を、もう一方への依頼に読み替えません。協力意思、報告受領、技術的な結果の一致、独立性、公開許可は別々に確認します。失敗・未完了・環境差分・支援内容も残し、結果・生ログ・氏名・所属・具体的な帰属表記の公開許可を分けて扱います。
GitHub Issueは投稿アカウントや添付も含めて公開されます。非公開の技術報告は、秘密情報を添付せず、まずstandards@veritaschain.orgへ提出方法を相談してください。様式の記入、Issueの完了、自社CIの成功だけで独立再現が成立したとは扱いません。実験的拡張は未採択、第三者による独立再現は未成立のままです。
10月26日追記:公開手順の全工程を自社CIで確認
PR #16で追加したワークフローは、Ubuntu 24.04上のPython 3.11・3.13.5の両CIで完了しました。公開済みのシェル手順を改変せず、新規の公開クローン、仮想環境の作成、依存関係の導入、29入力のハッシュ照合、固定した回帰809件・公開証拠15件、40イベントの再検証、保存レポートの最終照合まで実行しています。
手順全体の正常完了と、証拠再検証のINDETERMINATE・終了コード2をそれぞれ確認します。レポート不足や準備の失敗、必要な照合を伴わないシェルの終了コード0を成功扱いにはしません。起動処理の13件の合成試験は、固定した809+15件とは別枠です。別のワークフローで同じケースを再実行しても、新しい固有ケースとして加算しません。
この自動化も同じ開発元が管理しています。両環境の実行は自社CIによる手順確認であり、二者の独立評価ではありません。第三者による独立再現は未成立、補助形式は未採択のままです。実行対象はcc695fe、固定した手順書はa839d7aのままで、自動化自体は別の版です。対象範囲と保存レポートの説明では、これらと最初のクローン時の版を区別しています。
元のActions成果物全体の保持期間は30日です。選択したJSON原本は上記のとおりGitにも保存しましたが、全ログの保存や実行環境の完全固定ではありません。この追記は公開記録の確認であり、新たな検証器の実行、独立評価、認証、証拠全体の完全合格を示しません。
検証器で更新したこと
VALID・INVALID・INDETERMINATEを検査ごとに分け、材料不足が別の確定した不一致を隠さないよう修正しました。Ed25519の鍵・署名、Merkle証明の構造、タイムスタンプのポリシー入力の検査、入力の上限、レポートによる証拠・鍵・既存レポートの上書き防止も追加されています。試験ランナーは、未登録の試験モジュールや件数の不整合・不正なJUnitレポートを拒否します。
通常の検証と、追加検証を分ける
通常CLIは利用者が明示的に信頼した鍵で署名を確認しますが、バッチメタデータの認証と外部アンカー検証は行いません。別の追加コマンドは、利用者が指定した鍵・CA証明書・TSAポリシーで、署名付き補助記録とオフラインのRFC 3161タイムスタンプを確認します。後から取得した補助タイムスタンプは、元のログ作成時刻やアンカー時刻の証明ではありません。合成TSA試験も、実際のTSAとの相互運用実績ではありません。
公開40イベントの再検証で分かった範囲
内訳はSIG 20件・EXE 20件です。明示的に選択した公開参照鍵との比較では、ハッシュ・署名・旧方式のMerkle比較が一致しました。ただし、旧実装固有の符号化と奇数ノード複製方式であり、JCSや厳密なRFC 6962への適合ではありません。先頭のPrevHash境界、バッチメタデータ認証、元の外部アンカーは未検証で、鍵所有者の身元も確立していません。期待する総合結果はINDETERMINATE、再検証コマンドの終了コードは2です。
記録された内部試験 — 証拠の完全合格とは別
| レビュー対象 | cc695fe · 回帰試験13モジュール |
|---|---|
| 回帰試験 | 記録されたPython環境ごとに809件 |
| 別枠の公開証拠試験 | 記録されたPython環境ごとに15件 |
| 記録された環境 | Ubuntu 24.04、Python 3.11.17 / 3.13.5、OpenSSL 3.0.13 |
| CIの試験結果 | 失敗・エラー・スキップは0件 |
| 公開証拠の総合結果 | INDETERMINATE — 未検証項目あり |
対象版を固定して、失敗や環境差も報告する
チェックアウト対象はcc695feです。参考にしたPR #14のCIは一時マージ0314e01で実行され、対象版とGitツリーが一致しますが、コミットIDは別です。後続の手順書a839d7aには、29入力ファイルのハッシュを含む照合用JSONと未記入の報告様式があります。実行者、関係、支援内容、環境差、失敗・未完了も記録します。実行の承諾と、結果・氏名・所属の公開許可は別に扱います。
記録の限界と既存版の扱い
CI成果物全体の保持期間は30日です。選択した6件のJSON原本はGitにも保存しましたが、残りの成果物のバイト列はそこには保存されておらず、台帳だけでは復元できません。依存関係・実行環境の完全固定も未成立です。このサイト更新は公開記録とCI状態の照合であり、検証器の新たな実行報告ではありません。現行規範・既存実装・署名済み証拠・固定配布物・K3は変更していません。以前のVAPキット(b1af0dc、対象c8ccf97)も別の固定実験として維持しています。
一次資料と再現記録
- PR #15 · fixed-checkpoint documentation
- Fixed-checkpoint instructions
- Reference JSON · inputs, environments and expected results
- Fixed review target · cc695fe
- PR #14 regression CI · 809 per environment
- PR #14 historical CI · 15 per environment
- 公開手順書の版における検証器の対象範囲
- Reviewer report template
- PR #16 · 公開手順の自動実行と限界 · CI 40263948191 · CHECKPOINT_RECIPE_CI.md