provin
← トップへ戻る

ARCHITECTURE

実行と証明を、同じデータフローに置く

受信・検証・処理・署名・受け渡しを一つの流れとして扱い、次の区間で検証できる記録を残す。

チェーンをつくる、3 つの役割

Source で線を始め、Chained で前の記録を引き継ぎ、Sink で検証して外へ渡す。各役割の実装は、用途に合わせて拡張できる。

01

Source

入力を署名付きの記録にして、新しい線を始める。

02

Chained

直前の記録を検証し、処理後の記録へつなぐ。

03

Sink

記録を検証し、データと判定結果を外へ渡して線を終える。

丸は、各境界が発行する署名付きの記録。

Chained の処理パターン

前の記録を検証し、処理後のデータへ署名する流れは共通。その間に入る処理を選べる。

データプレーンの一往復

前の証跡を確かめてから処理し、次の区間で検証できる記録を残す。

  1. 01 入力
  2. 02 前区間を検証
  3. 03 評価・変換
  4. 04 記録へ署名
  5. 05 次区間へ発行

コード上の責務

公開 API の名前は、現在の実装方式ではなく、長く残る役割に合わせる。

pipeline/

プロセスの実行、入出力、来歴の継承、処理結果の通知。

vc/ · canon/ · crypto/

署名対象の正規化、記録の発行、署名と検証。

did/ · delegation/ · resolver/

発行者、鍵、権限委譲を解決し、誰の記録かを確かめる。

network/ · cmd/

登録・解決・監査サービスと、ノードおよび運用 CLI。

設計上の境界

file-backed を既定にする

node は YAML / files で動作し、storage / PDP は interface で差し替える。選択する auth provider、PDP、adapter の外部依存は個別に確認する。

失敗時は閉じる

不明な状態や検証できない入力を、暗黙に受け入れない。

実行面を分離する

パイプラインと支援サービスを直接結合せず、通信境界を保つ。

証跡を持ち出せる

必要な記録をまとめ、稼働中のノードから離れて再検証できる。

ソースコードを見る