TJ_ComfyUI_HashRecorder - 「ブロックチェーン風」著作権保護ツールの実態
AI生成コンテンツの著作権問題が議論される中、ComfyUI向けの著作権保護ツール「TJ_ComfyUI_HashRecorder」を見つけたので調べてみた。
https://github.com/TJ16th/TJ_ComfyUI_HashRecorder
概要
ComfyUIのワークフロー内で、創作過程の暗号学的な証拠を記録・保全するカスタムノード集。主な機能は以下の5つ。
| ノード | 機能 |
|---|---|
| LoadImageWithHashAndTimestamp | 画像読み込み時にSHA256ハッシュ+NTP同期タイムスタンプを記録 |
| SaveImageWithMetadata | 保存画像にワークフローJSON・ハッシュ・タイムスタンプを埋め込み |
| CombineHashRecords | 複数画像のログを集約し、Markdown+SQLite DBに保存。チェーンハッシュで改ざん検出 |
| ViewHashRecords | DB内の記録を5つのビューモードで閲覧 |
| SystemInformation | マシン名・OS等のシステム情報を取得 |
READMEには「ブロックチェーン風のチェーンハッシュで改ざん検出」「法的に有効な文書を構築」といった強気な文言が並ぶ。
「ブロックチェーン風」の実態
ソースコードを読むと、チェーンハッシュの実装は以下のようになっている。
# 前回のセッションハッシュを取得(ローカルDB)
cursor.execute('SELECT session_hash FROM sessions ORDER BY id DESC LIMIT 1')
previous_session_hash = last_row[0] if last_row else "0" * 64
# チェーンハッシュ = SHA256(session_hash + previous_chain_hash)
chain_data = session_hash + previous_chain_hash
chain_hash = hashlib.sha256(chain_data.encode('utf-8')).hexdigest()
完全にローカルで完結している。第三者による検証機構は存在しない。
| 本物のブロックチェーン | このツール |
|---|---|
| 分散ノードが検証 | ローカルのみ |
| 過半数の合意が必要 | 自分だけ |
| 改ざんにはネットワーク支配が必要 | DBを消して作り直せばOK |
「ブロックチェーン風」という表現は、単にチェーンハッシュのアルゴリズムを指しているだけで、分散台帳の意味ではない。
できること・できないこと
できること:
- 後から部分的に改ざんした場合、チェーンが壊れるので検出可能
- NTP時刻同期により、ローカル時計の改ざんは困難
できないこと:
- DBを丸ごと再生成する偽造の検出
- 第三者への証明(「このDBは本物」と誰も保証しない)
- NTPレスポンス自体の偽装への対策
タイムラプス動画との比較
結局のところ、このツールの証拠能力はどの程度なのか。Clip StudioやProcreateにあるタイムラプス録画機能と比較してみる。
| タイムラプス動画 | このツール | |
|---|---|---|
| 記録者 | 自分 | 自分 |
| 保管者 | 自分 | 自分 |
| 改ざん | 動画編集で可能 | DB再生成で可能 |
| 第三者認証 | なし | なし |
どちらも「自分が記録したものを自分が提示している」だけで、本質的な差はない。
強いて言えば、ハッシュは「このバイナリが使われた」ことの数学的一意性がある点で、「それっぽく見える」だけの動画より厳密ではある。ただ、悪意を持って偽造しようとする相手には無意味。
法的に有効にするには
このツールの出力を法的証拠として使いたい場合、第三者への提出が必要になる。
- タイムスタンプ局(TSA)に署名してもらう
- 公証役場に提出
- Ethereumなどのパブリックチェーンにハッシュを刻む
READMEの「Contributing」セクションに「Integration with digital signature standards」とあるので、将来的には考えているのかもしれない。ただ現時点では自己証明の域を出ない。
評価
「善意の記録」としては有用。裁判で「当時からこういう記録を取っていた」という傍証にはなりうる。
ただ、争点になったときに「この記録自体が本物である」ことを証明できない点で、お絵かきソフトのタイムラプス機能と同程度の証拠能力だと思っていい。READMEで大仰に「Legal Use Cases」「copyright protection」と謳っているが、過度な期待は禁物。