Magic Contract

合格記録

合格した実行には、合格記録(magic://schemas/inspection/pass-record/v1)が付きます。

  • 媒体・工程・固定セットとその版
  • 入力ごとの名前・形式・大きさ・sha256(ZIP は展開したファイルごとにも)と、入力の組み合わせの sha256
  • 実行した検査器とその版、検査した契約とその版、契約のパッケージの版
  • 保証すること・しないこと、検査した日時
  • Ed25519 の署名(公開鍵は /.well-known/magic-contract-keys.json)

合格済み入力

「合格済み入力」は、出した入力そのもの(inputs/<入力>/<ファイル名>)と pass-record.json をまとめた ZIP です。

合格の引き継ぎ

合格は、その中身に付きます。ファイル名が同じでも中身が 1 バイト違えば、別の入力です。合格記録を書き換えると署名が合わなくなります。受け取った合格記録は、POST /api/v1/pass-records/verify に記録と入力を渡して確かめられます。

  • signature:署名が合うか(valid・invalid・unsigned・unknown_key)
  • issued:このサービスが発行した記録と同じか(issued・altered・unknown)
  • inputs:入力が、合格した入力と同じか(match・mismatch・not_provided)