阅读约 7 分钟
用 Merkle 批处理大规模证明 AI 内容来源
对每一份 AI 产出、提示词、清单或 Content Credentials 记录计算哈希,把这些哈希批量汇入 Merkle 根,再发布带时间戳的 Label 309 承诺——无需把每件资产或私有提示词上链,就能证明其中任意一项确实存在过。

如果你的团队在大规模生成 AI 内容,你完全可以在不把每件资产上链的前提下,证明你做了什么、什么时候做的。对每一份产出或来源清单计算哈希,把这些哈希批量汇入 Merkle 根,再按固定节奏发布带时间戳的 Label 309 承诺。日后,你只需凭交易引用和一个公开的 Cardano 浏览器,就能证明某一张图片、某段视频、某个文本文件、某份「提示词加产出」清单,或某份 Content Credentials 清单,确实属于某一批已承诺的批次。
这给你的是一份存在性证明(Proof of Existence):它证明某段精确字节在某个公开时间点之前就已存在。它不证明内容是真实的、合法的,也不证明是人类创作的。它证明的是:在某个时间戳下,对某段特定字节做出了承诺,而这份承诺锚定在你自己可编辑的系统之外。
为什么 AI 内容需要一层独立的证明?
AI 内容容易生成、容易编辑、容易混剪、也容易重新生成——而问题恰恰在此。
如果一家公司产出了成千上万件 AI 生成的资产,它日后要如何证明:哪些产出是它做的、什么时候做的、当时记录了哪个提示词或模型上下文、又是哪个版本展示给了客户或发布到了网上?
仅靠内部数据库日志往往不够。日志可以被改写。存储会被迁移。资产能被逐字节重新生成。元数据会在传输途中被剥除。客户、审计方、监管机构、合作伙伴或法院都可能要求你拿出证据,证明它在公司自己可编辑的系统之外就已存在——而且存在的时间可被验证。
存在性证明为这些记录提供了一个外部时间戳,它不依赖于信任这家公司、它的服务器或它的域名。
AI 团队应该对什么计算哈希?
对你日后可能需要拿出来的证据计算哈希。
对于 AI 生成的内容,这通常包括:
- 生成的产出文件
- 提示词,以及系统提示词或策略配置
- 模型名称与版本
- 种子或生成参数(在相关时)
- 编辑历史
- 审核结果
- 用户或请求标识
- 产出清单
- Content Credentials(C2PA)清单
- 数据集或检索上下文引用
- 审批或发布事件
- 交付给客户的材料包
并非所有内容都适合公开。敏感细节可以留在一份私有清单里,你对它计算哈希,再通过一个 Merkle 根做出承诺。日后,你只需为某一次具体的争议、审计或客户验证披露所需的那一部分——其余部分依旧保密,却同样可被证明已纳入承诺。
为什么要用 Merkle 根做批处理,而不是每份产出一条记录?
一个平台可能产出成千上万乃至数百万份产出。为每一份单独发布一条链上记录既慢又浪费。而一个 Merkle 根可以让你用一条记录就对许多哈希做出承诺。
工作流程是这样的:
- 生成或接收这些产出。
- 为每份产出构建一份规范化清单。
- 把资产及其清单一起哈希成一个叶子。
- 把叶子加入一个有序列表。
- 每小时、每天、每次发布或每一批,发布一个 Merkle 根。
- 保留叶子列表和包含证明。
日后,你无需把整批数据发布上链,就能证明某一份产出或清单确实包含在某个特定批次里。构建这棵树以及验证一份包含证明,都是完全离线的操作——只有发布根才会触及网关。借助开源工具,包含证明的大小随批次规模的对数增长,因此即便要为一百万个叶子中的某一项出具证明,证明也依旧很小。详细机制见 一条记录涵盖数千份文件。
它如何与 C2PA 和 Content Credentials 协同?
C2PA 与 Label 309 解决的是不同的问题,而且两者配合得很好。
C2PA——即内容来源与真实性联盟(Coalition for Content Provenance and Authenticity),其面向用户的呈现形式叫 Content Credentials——是一层结构化的来源层。一份 C2PA 清单可以承载断言、声明、签名与绑定,用来描述一件媒体资产的来源与编辑历史。
Label 309 则把一个哈希——可以是这份清单的哈希,也可以是资产加清单的哈希——锚定到一个独立的 Cardano 时间戳上。于是:
- C2PA 在媒体资产内部或与之并行地描述来源溯源。
- Label 309 证明某份特定清单或资产承诺在某个公开时间点之前就已存在,且没有任何需要去信任、也无需「比它活得更久」的签发服务器。
C2PA 为内容提供了一套描述来源的词汇;Label 309 则为证据提供了一个公开的时间锚点。若想更细致地对比二者,见 存在性证明与 C2PA 的对比 和 为什么 C2PA 能从时间锚点中获益。
为什么不能只依赖嵌入式元数据?
嵌入式元数据可能在传输途中被剥除、丢失或转换。大多数社交平台的重新编码会把 C2PA 清单整个丢掉。
这并不意味着嵌入式来源信息毫无用处。Content Credentials 的价值恰恰在于它随内容一同流转,让消费者得以审视内容的来源。但当元数据被移除、被质疑,或与资产相分离时,一份外部的、带时间戳的承诺就能派上用场。
实践中,一个团队会保留:
- 原始生成的资产
- C2PA 清单
- 产出清单
- Label 309 交易引用
- Merkle 包含证明
如果某个副本日后在缺失元数据的情况下流传开来,你仍然可以通过重新计算哈希,把原始资产或清单与那份公开承诺重新对应起来。
AI 透明度规则又该怎么看?
针对 AI 来源的监管压力正在上升。欧盟委员会的《AI 法案》概览指出,生成式 AI 的提供方必须确保 AI 生成的内容是可识别的,且《AI 法案》的透明度规则将于 2026 年 8 月生效。
这并非法律意见,具体要求因司法辖区和使用场景而异。但方向已经很清楚:产出 AI 内容的公司,需要更扎实的证据实践。
存在性证明本身并不是一套合规方案。它是一层证据,能让记录在事后更难被悄悄改写,从而支撑合规工作。它在某个具体监管场景中是否有帮助,取决于相应规则和你所在的司法辖区,而且它不能取代专业法律顾问。
在这里,一份 Label 309 证明究竟能证明什么?
它能证明某段精确数据在某个公开时间点之前就已存在。对 AI 内容而言,这段数据可能是一个产出文件、一份「提示词加产出」清单、一份 C2PA 清单、一个涵盖许多生成资产的批次根、一份审核报告、一条审批记录,或一份发布清单。
有三项可选特性,能拓展单条记录所能承载的内容:
- 已签名记录。 如果记录附带了一个可选签名,它还能表明某个特定密钥为这条记录背书。在 Label 309 中,作者身份始终是可选的——发布时从不强制要求。
- 封存记录。 敏感文件可以在不公开的前提下加密保存,其内容加密密钥会被封装给一个或多个接收方密钥。
- Merkle 批处理。 一个根就能覆盖极大体量的产出。
它不能证明什么?
带时间戳的承诺,其范围是刻意收窄的。它不证明内容是真实的。它不证明产出来自某个特定模型——除非模型上下文作为你工作流的一部分被记录并被信任。它不证明内容是合法生成、合法训练或合法发布的。它不证明某份 C2PA 清单值得信任——除非 C2PA 验证以及签名者的信任模型也都能站得住脚。它也不证明你的内部流程是诚实的——除非这条流程本身受控、有日志、可审计。
证明的本质,是对某段特定字节、带时间戳的一份承诺。是周围那套来源体系,才赋予这份承诺以意义。关于这条边界的更多内容,见 一份证明不能证明什么。
团队应该如何组织这份清单?
让它平淡、规范、稳定。一份 AI 产出清单可能包括:
- 资产哈希与资产类型
- 系统的创建时间戳
- 模型标识与版本
- 生成参数
- 一个提示词哈希,或一个加密的提示词引用
- 用户或工作流标识
- 审核决定
- C2PA 清单哈希
- 发布状态
- 批次标识
- 一个内部审批引用
敏感值无需公开。这份清单可以是私有的、封存的,或日后选择性披露的;公开的那份证明所承诺的,是清单的哈希,或是一个涵盖许多清单哈希的 Merkle 根。关键在于一致性:如果每个团队每周都发明一套新的清单结构,日后的验证就会变成苦差事。
提示词应该公开吗?
通常不应该。提示词可能包含客户数据、商业秘密、个人数据、安全测试素材,或内部策略细节。你可以对提示词或提示词清单计算哈希,而完全无需公开提示词的文本。
对于敏感工作流,一条封存记录可以保存一份加密的「提示词加产出」材料包。日后,持有正确密钥的验证方可以解密这份材料包、重新计算哈希,并确认它与公开承诺相符。这让你在第一天就拥有证据,却又不必把证据本身公之于众。但要注意它的局限:一旦接收方解密了一份封存的材料包,他们就掌握了明文,也就可以转发出去——封存控制的是谁能打开这条记录,而不是他们打开之后会做什么。这一模式在 不公开文件的机密披露 中有详细介绍。
怎样的首次实现是合适的?
从批次承诺开始。对每一天或每一次发布:
- 收集那些重要的生成产出。
- 为每份产出构建一份清单。
- 在可用时纳入 C2PA 清单哈希。
- 把每份清单哈希成一个叶子。
- 构建一个 Merkle 根。
- 发布一条已签名的 Label 309 记录。
- 存好叶子列表、包含证明和交易引用。
随后,再为敏感材料包叠加封存保存,并为公开资产叠加面向客户的验证。目标不是在第一天就建起一套完美的来源体系——而是别再丢失时间线。同样的批处理模式也出现在 CI/CD 构建证明 和 AI 数据集清单 中。
谁需要这套方案?
这一模式适合任何大规模产出内容、并可能在日后需要证明「自己生成了什么、何时生成」的团队:
- AI 媒体公司与生成式设计工具
- AI 视频与图像平台
- 营销自动化平台
- 企业级 AI 团队
- 合成数据公司与模型评测团队
- 采用 AI 辅助工作流的出版方
- 正在为 AI 来源审计做准备的公司
简短版
大规模的 AI 来源管理需要批处理。对你的产出和清单计算哈希,把这些哈希折叠进 Merkle 根,再按节奏发布 Label 309 记录。保留叶子列表和包含证明。在合适之处用 C2PA 和 Content Credentials 处理媒体来源,并用 Label 309 作为底层那个公开的时间锚点。
证明不确立内容的真实性或合法性。它确立的是某段精确字节的时间线——而这往往正是事后再也无法重建的那一块。
延伸阅读
- 用一个根锚定数千份文件
- 存在性证明与 C2PA 的对比 和 为什么 C2PA 需要时间锚点
- AI 数据集清单 和 在不泄露训练数据的前提下证明它
- 一份证明不能证明什么
- C2PA / Content Credentials:c2pa.org、C2PA 技术规范 以及 contentcredentials.org
- 欧盟委员会,AI 监管框架
- 开放标准见 label309.org,开源 SDK 与 CLI 见 github.com/cardanowall