阅读约 6 分钟
如何用 Label 309 锚定 AI 数据集清单
对数据集清单计算哈希,用 Merkle 根做批处理,再借助 Label 309 锚定到 Cardano 上——这样日后无需公开数据集,也能证明某次数据集快照包含了哪些内容。

要在日后证明某次数据集快照包含了什么,就锚定它的清单:对清单文件计算哈希,把这个哈希作为一条 Label 309 记录发布到 Cardano 上,而数据集本身保持私密。从此以后,任何拿到交易引用的人都能确认:该清单在某个公开区块时间或更早,就以那个确切形态存在过——无需信任你的服务器,也看不到你的数据。
数据集清单是某次数据集快照的稳定清册:它记录了在某一时间点纳入了哪些文件、记录、URL、许可、哈希、来源与处理步骤。Label 309 让你对这份清单计算哈希或做 Merkle 锚定,把承诺固定在公开记录里,而数据仍留在原处。
这一点对 AI 公司、研究团队、法务与合规团队,以及任何日后可能需要解释模型的训练或评估数据从何而来的人——尤其是在数据湖早已物是人非之后——都至关重要。
什么是 AI 数据集清单?
AI 数据集清单是一份结构化的清册。
它不必包含完整的训练数据,可以只包含数据的稳定引用与哈希。其目标是让一次数据集快照足够可审计、可复现,使日后的审阅者能够理解当时纳入了哪些内容。
一份清单可以描述:
- 文件
- 行
- 文档
- 图像
- 音频片段
- 视频
- 网页
- 许可
- 来源系统
- 采集日期
- 转换
- 过滤规则
- 去重步骤
- 哈希算法
- 模型训练的数据集划分归属
- 内部数据集版本号
没有清单,数据集往往只是一个文件夹、存储桶、数据表或归档包。这在实验阶段或许够用,但日后作为证据就很薄弱。
AI 团队为什么要给清单打时间戳?
因为数据集的历史会变得难以还原。
AI 团队会持续地增删、清洗、过滤、去重、标注、脱敏并重新划分数据。三月用来训练某个模型的数据集快照,到了七月可能已经不再是同一形态。
团队日后可能需要回答:
- 这个模型是用哪些数据训练的?
- 用的是哪个评估集?
- 这份客户数据当时是否存在于数据集中?
- 我们是什么时候移除受限内容的?
- 某项政策变更之前纳入了哪些来源?
- 在某次纠纷发生之前,我们是否已经持有这份数据?
- 这个模型是否用到了受某项特定许可覆盖的数据?
一份打了时间戳的清单,能为答案提供一个固定的基准点。
Label 309 如何契合其中?
Label 309 把清单承诺到公开时间上。简化版的流程是:
- 生成一份确定性的清单;
- 对清单文件计算哈希;
- 把这个哈希作为一条 Label 309 记录发布到 Cardano 上;
- 让清单与源数据保持私密;
- 日后通过重新计算清单哈希并与记录比对来验证。
对于大型数据集,应当锚定一个 Merkle 根,而非一个扁平的哈希。一条 Label 309 记录可以承载一份 Merkle 承诺——一组绑定到单一根的有序 32 字节叶子,外加一个叶子数量——这样链上的一个根就能代表一份任意大的链下叶子列表:
- 把每个清单条目计算哈希得到一个叶子;
- 对叶子做确定性排序;
- 构建 Merkle 树;
- 把根发布到记录中;
- 保留叶子列表与包含证明。
公开记录证明某份数据集承诺曾经存在,私密清单则解释承诺的内容是什么。这与让一条记录代表数千个文件的批处理模式如出一辙。
清单里应该放什么?
清单应当平实、确定且有用。
适合纳入的字段包括:
- 数据集 id
- 快照 id
- 创建时间
- 创建者或流水线 id
- 来源系统
- 来源 URI 或中性的来源引用
- 文件或记录 id
- 字节长度
- 内容哈希
- 哈希算法
- 媒体类型
- 许可或权利状态
- 同意或政策状态(如适用)
- 采集日期
- 转换流水线版本
- 去重分组
- 训练 / 验证 / 测试划分
- 已移除条目的排除原因
- Merkle 叶子索引
不要把敏感个人数据放进公开清单。如果清单本身敏感,就让它保持私密,或将其封存。
是什么让清单具有确定性?
确定性意味着相同的输入产生相同的清单。
这需要清晰的规则:
- 规范化路径
- 选定一种稳定的字符编码
- 定义排序顺序
- 定义时间戳格式
- 尽可能避免使用本机的本地路径
- 准确记录哈希算法
- 冻结转换版本
- 包含 schema 版本
- 避免那些每次导出都会变化的字段
如果清单因为导出工具在每次运行时都添加一个新的随机 id 或时间戳而发生变化,那它就更难验证。
清单应当为充当证据而设计,而不只是为了方便。
私密数据集如何保持私密?
发布的是承诺,而非数据集。
一条 Label 309 记录包含一个哈希或一个 Merkle 根。两者单凭自身都不会泄露数据——哈希是单向摘要,而根只承诺一种叶子结构,并不暴露叶子本身。公司在内部保留清单、文件与访问控制。
日后,你可以针对那个固定的承诺有选择地披露:
- 单个文件及其 Merkle 包含证明
- 清单中的某一行
- 某个子集或来源类别
- 某次训练快照
- 在 NDA 之下披露整份清单
- 一个面向法律顾问、审计方或监管方的封存材料包
这让团队既能证明此前已作出承诺,又不必把私密数据集变成公开的——其思路与无需公开文件的保密披露相同。封存记录会把载荷加密给特定接收方的密钥,但要清楚它的局限:它只保证明文仅对持有密钥的人可读,并不保证匿名性,而且接收方随时都可能把自己解密出的内容泄露出去。
这对 AI 治理有什么帮助?
治理需要能经受审计的记录。
AI 治理团队越来越需要展示数据集是如何获取、过滤、记录、批准与变更的。清单并不等于整个治理体系,但它能给治理体系提供一些具体可验证的东西。
例如:
- 模型卡可以引用数据集快照 id;
- 内部审批工单可以引用清单哈希;
- 数据保留流程可以证明受限数据是何时被移除的;
- 红队评估可以锚定其评估集;
- 合规审查可以把所声称的数据集与已承诺的清单作比对;
- 客户合同可以引用可审计的数据集快照。
这一证明层让数据集记录更难被悄悄改写。
这与 AI 信息披露规则有何关系?
各项规则正朝着更完善的文档化方向演进。欧盟《AI 法案》(EU AI Act)包含针对通用 AI 的义务;2025 年,欧盟委员会发布了一份说明性通知与模板,用于为这类模型公开训练内容摘要。其他法域与平台也在不断更新各自对透明度与来源溯源的期待。
Label 309 并不替你决定必须披露什么,单凭锚定一份清单也无法满足任何特定法规——那取决于你所处的法域和你承担的义务。它能做的,是为你日后需要披露、概述、抗辩或审计的任何内容,在背后保留一份可识别篡改的证据。
这一区别很重要:证明可以支撑一项透明度主张,但它不是法律裁定,也不能取代法律顾问。
清单应该多久锚定一次?
按决策的节奏来锚定。
常见的做法包括:
- 每次训练运行
- 每次评估运行
- 每次数据集发布
- 每次政策过滤规则更新
- 每次面向特定客户的数据集构建
- 每个每日或每周的摄入批次
- 每次大规模去重
- 每次红队数据集快照
高吞吐量的团队应当使用 Merkle 批处理。重要的单次发布,可能还值得配上已签名记录与封存归档。
这不能证明什么?
时间戳证明的是时间与完整性——而非真实性、所有权或权利。对边界要坦诚:
- 它不能证明数据是合法采集的。
- 它不能证明版权所有权或授权许可。
- 它不能证明已获得同意。
- 它不能证明某个模型确实是在这份数据集上训练的——除非你的流水线与日志把那次模型运行与该清单关联起来。
- 如果你的团队遗漏了条目,它也不能证明这份清单是完整的。
它确实能证明的东西既狭窄又持久:所承诺的清单或 Merkle 根,在某个公开区块时间之前就以那个确切形态存在过,事后任何人都无法回溯标注日期或悄悄修改它。这很有力,但前提是它真正接入了你的流程。要全面了解这一边界,请参阅证明不能证明什么。
简短版
AI 数据集需要稳定的清册。
数据集清单把一个不断变动的数据湖,变成一份你日后可以验证的快照。Label 309 用一个哈希或一个 Merkle 根锚定那份快照,还可以选择用一个 Ed25519 记录签名为其签名,并能向指定接收方封存一份私密材料包。公开的链从不需要数据集——只需要那份承诺。
保留清单。保存叶子列表。记录流水线。这样,当数据集受到质疑时,你拿出的是证据,而不是记忆。
Label 309 是一项开放、厂商中立的标准,目前已提交至 Cardano 的 CIP 流程,正作为一项 Metadata 类别的提案接受 CIP 编辑的审阅。其参考实现——网关、各个 SDK,以及 cardanowall CLI(它的 merkle-build 与 merkle-verify 命令负责处理上文提到的叶子列表与包含证明)——以开源形式托管在 github.com/cardanowall。
延伸阅读
- Label 309 标准:label309.org
- 处于 Cardano CIP 流程中的提案(审阅中): github.com/cardano-foundation/CIPs/pull/1205
- 欧盟《AI 法案》监管框架: digital-strategy.ec.europa.eu/en/policies/regulatory-framework-ai
- 欧盟委员会关于通用 AI 模型训练内容公开摘要的说明性通知与模板(2025): digital-strategy.ec.europa.eu/en/library/explanatory-notice-and-template-public-summary-training-content-general-purpose-ai-models
- 相关阅读:一条记录代表数千个文件 · 无需公开文件的保密披露 · 证明不能证明什么