暗号レイヤ
docHash
docHash — document content digest
文書のバイト列を入力とする暗号学的ダイジェスト。Lemma が来歴・属性・引用などすべての検証単位の同一性を固定するために用いる基本識別子。
定義
docHash は SHA-256 や BLAKE3 のような衝突困難なハッシュ関数を、文書の正規化バイト列に適用した固定長出力。同一バイト列なら必ず同一の docHash となり、1 ビットの改変でも全く異なる値となる。
単独では「中身を知る」手がかりにはならない。逆方向計算 (preimage) が計算量的に不可能なため、docHash を共有しても文書の内容は漏れない。これにより、内容を秘匿したまま「ある文書が存在する事実」だけを共有できる。
Lemma 文脈の docHash は、ZK 回路に直接食わせるため Poseidonハッシュ 表現も併用する。SHA-256 のような従来表現は外部互換用、Poseidon 表現は回路内部用、という二層構造をとる。
Lemma Oracle での実装
来歴・属性・AI 推論履歴のすべては最終的に docHash として固定される。文書・データセット・モデル重み・ログいずれも、バイト列レベルで一意化することで監査と証明の単位が揃う。
docHash と コミットメント を組み合わせると、文書を見せずに「ある属性を持つ文書が存在する」事実を ゼロ知識証明 で示せる。選択的開示 の出発点。
プロヴナンス チェーンは、各段階の docHash を時系列リンクとして連結することで形成される。docHash は Lemma 暗号インフラ全体の最小単位。