Root Proof 与 ResourcePackage:如何证明一个资源版本可信

简介: 资源进入开放网络后,可信问题不仅是“谁发布的”,还包括 DID 文档、元数据、资源包内容和版本状态是否一致。本文介绍 OAN 中 ResourcePackage 与 Root Proof 的作用:前者把 DID、metadata、包哈希等材料封装为可验证单元,后者证明 Root 已对关键事实完成验证。通过 Root、CDN、Discovery 的职责分离,OAN 让资源分发可以高效进行,同时不让分发层取代信任权威。

资源版本需要可验证

在智能体资源生态中,版本更新非常常见。一个 Skill 会迭代提示词和工具声明,一个 MCP Server 会增加工具,一个 Agent Service 会调整 endpoint 或认证策略,一个 API 会升级 schema。问题在于:调用者如何确认自己看到的是某个资源的可信版本,而不是被篡改、伪造或过期的描述?

OAN 用 ResourcePackage 和 Root Proof 来处理这个问题。资源 DID 标识稳定主体,ResourcePackage 则绑定某一次发布的 DID 文档、元数据、包版本、哈希和验证材料。Root Proof 是 Root 对该资源包验证结果的签名证明。二者结合后,可以让 Discovery、SDK 和调用方确认“这个资源版本确实经过 Root 验证并发布”。

ResourcePackage 把分散材料变成一个验证单元

ResourcePackage 的价值在于把分散的信息组合成一个可验证单元。一个资源不仅有 DID 文档,还可能有元数据、外部 manifest、包哈希、版本号和注册证据。如果这些信息各自散落在不同地方,客户端很难判断它们是否属于同一次发布。ResourcePackage 将这些材料按协议形态组织起来,再通过哈希建立绑定关系。

在 OAN 的共享协议实现中,ResourcePackage 会包含 packageVersionresourceDidresourceTypedidDocumentdidDocumentHashmetadataHashpackageHashhashAlgorithmmetadatarootProofcreatedAt 等字段。RootProof 中又包含 rootDidbulletinEventHashsignaturepackageClaimsproofcryptoSuitehashAlgorithm。这些字段不是展示用装饰,而是后续验证的输入。

Root Proof 签的是可核验事实

ResourcePackageClaims 是 Root Proof 的关键载荷。它绑定资源 DID、资源类型、版本、DID 文档哈希、元数据哈希、包哈希、哈希算法、生命周期状态、授权域和 bulletin 引用。这样,Root 签的不是一句笼统的“该资源可信”,而是一组可以被程序逐项核验的事实。只要 DID 文档、元数据或包内容发生变化,相关哈希就会变化,旧证明不能被误用到新版本上。

校验项 对应字段 / 方法 失败意味着什么
DID 文档哈希 didDocumentHash / verify_did_document_hash 文档被改动或来源不一致
元数据哈希 metadataHash / verify_metadata_hash 描述内容与发布时不一致
包哈希 packageHash / verify_package_hash 整包材料不完整或被替换
类型一致性 resourceType / verify_resource_type_consistency DID 与资源类别不匹配
元数据一致性 verify_metadata_consistency DID 文档和 metadata 互相矛盾
Root 绑定 verify_root_claim_binding Root 证明无法绑定当前版本

Root Proof 的价值在于给这个包一个可验证的权威出处。Root 在接收 Registrar 提交时,需要检查 DID 文档完整性、资源类型一致性、主体控制证明、包哈希、元数据哈希和上游签名等条件。验证通过后,Root 才会归档资源包、生成证明,并协调后续 CDN 发布和 Discovery 可见性。Discovery 不是凭本地偏好直接收录资源,而是同步 Root 认可的资源包。

校验逻辑可以被第三方实现复用

代码层面的校验也能说明 OAN 关注的不是“页面记录”,而是包级一致性。资源包验证会分别检查 DID 文档哈希、元数据哈希、包哈希、资源类型一致性、元数据一致性和 Root claims 绑定关系。对应到实现,就是 verify_did_document_hashverify_metadata_hashverify_package_hashverify_resource_type_consistencyverify_metadata_consistencyverify_root_claim_binding 这一类可组合检查。第三方节点未来也应围绕这些可验证规则实现自己的同步和准入测试。

这套机制尤其适合资源版本更新。资源标识不变,版本可以变化。调用方查询 Discovery 时,默认可以获得最新 active 版本,也可以在需要时追溯历史版本。每个版本都应有自己的包哈希和验证材料。这样,资源提供者可以持续迭代,而用户不必在每次更新后重新信任一个完全陌生的对象。

分发层不是信任权威

CDN 在这里承担分发职责,但不是信任权威。即使 CDN 被替换、缓存或迁移,客户端仍然可以通过包哈希、Root Proof 和 bulletin 事件检查资源是否可信。这个设计避免了把“能下载到文件”误认为“文件一定可信”。对智能体自动化调用来说,这一点非常重要。

与传统应用商店或插件市场相比,OAN 的 ResourcePackage 更偏协议对象,而不是平台页面。它服务于自动化验证:Discovery 可以验证后再索引,SDK 可以在调用前检查,第三方节点也可以按同一规则实现自己的同步和查询逻辑。只要协议对象稳定,生态中不同实现就能围绕同一套信任材料互操作。

链上治理和链下资源包各司其职

Root Proof 也不是为了把所有数据都放到链上。OAN 的架构是“链上治理基础设施身份,链下执行资源注册、包验证和发现”。资源包本身可能较大、更新频繁、查询复杂,更适合由 Root、CDN 和 Discovery 以服务侧方式处理。Root Proof 让链下流程仍然具备可验证性。

因此,当我们说 OAN 支持可信资源发现时,核心不是 Discovery 页面上多了几个字段,而是背后有资源包、哈希绑定、Root 验证和证明链条。对未来的智能体互联网而言,资源版本是否可信,将决定自动化调用能否从“能用”走向“敢用”。

证据链条的分工

对象 主要作用 用户关心什么
ResourcePackage 聚合资源版本材料 这一版是否完整
Root Proof 证明 Root 已验证 证明是否可复核
CDN 分发资源包 下载内容是否一致
Discovery 索引可信资源 查询结果是否可信

因此,当我们说 OAN 支持可信资源发现时,核心不是 Discovery 页面上多了几个字段,而是背后有资源包、哈希绑定、Root 验证和证明链条。对未来的智能体互联网而言,资源版本是否可信,将决定自动化调用能否从“能用”走向“敢用”。

验证链条

Root、CDN 和 Discovery 放在同一条链上,意思不是它们承担同样的职责,而是它们分别完成验证、分发和查询。Root 负责把事实钉住,CDN 负责把工件送出去,Discovery 负责把可信结果暴露给用户。

环节 负责什么 输出什么
Root 验证 DID、元数据、包哈希 Root Proof
CDN 分发已验证工件 可下载资源包
Discovery 索引和查询 可用候选资源

为什么要把证据包起来

把证据分散在多个文件里,用户和第三方很难判断“到底哪一版才可信”。ResourcePackage 的价值,就是把 DID、metadata、包内容和 Root Proof 绑成一个可重复验证的单元。

相关文章
|
21天前
|
API 开发者 索引
OAN 不是 MCP、A2A、ANP 的替代品:它补的是信任基础设施层
MCP、A2A、ANP、HTTP API 等协议分别解决工具连接、智能体协作、网络寻址和接口调用问题,但它们并不天然回答资源身份、可信发布和可验证发现的问题。本文说明 OAN 与这些协议的关系不是替代,而是补足底层信任基础设施:让 Agent Service、Skill、MCP Server 和 Tool/API 在保留原有交互方式的同时,获得统一标识、治理边界、Root Proof 和可信发现能力。
|
21天前
|
Rust JavaScript 开发工具
从代码层面看 OpenAgenet(OAN):一个面向智能体互联网的工程化基础设施项目
本文从代码层面介绍 OpenAgenet(OAN)的工程特征与优势。OAN 采用多语言、多仓库模块化架构:Rust 用于协议核心、Root、Registrar、Discovery、Trust Indexer 等可信基础设施;TypeScript 用于 SDK、官网、社区 Skill、治理工具和第三方节点测试套件;Python 用于智能体参考实现。文章说明 OAN 不只是协议设想,而是具备 Root 可信发布、Registrar 资源注册、Discovery 验证发现、SDK 集成和测试准入等参考实现。其资源模型覆盖 Agent Service、Skill、MCP Server、Tool/API
|
21天前
|
数据采集 算法 API
智能体资源不只是 Agent:Skill、MCP Server 和 Tool/API 为什么也需要统一身份
智能体互联网里的资源不只有 Agent 本身,还包括 Skill、MCP Server、Tool/API、模型能力和各类企业服务入口。不同资源的协议、形态和调用方式可以不同,但都需要稳定身份、清晰描述、可信入口和可发现机制。本文说明 OAN 如何把多种资源统一纳入 `did:oan`、注册提交、ResourcePackage 和 Discovery 模型中,在不抹平资源差异的前提下,为开放生态提供可组合、可治理、可验证的资源网络。
|
21天前
|
前端开发 数据挖掘 索引
授权域与能力标签:OAN 为什么要区分治理边界和搜索信号
`authorizedDomains` 和 `capabilityTags` 都会影响资源注册与发现体验,但二者职责不同。授权域表示节点和资源的治理边界,关系到资源是否被允许进入某类发现范围;能力标签则是搜索、召回和排序信号,用来帮助用户表达资源能力。本文说明 OAN 为什么要区分这两个字段,并结合注册页、发现页和推荐机制,解释如何既避免用户输入无效授权域,又保留能力标签的灵活编辑空间。
|
21天前
|
搜索推荐 API 开发工具
从找到资源到放心调用:智能体互联网为什么需要信任层
OAN构建智能体互联网可信基础设施,聚焦“发现→可信调用”闭环:通过DID身份、Root验证、包级哈希与授权域校验,确保资源可溯、可用、可验,解决自动调用中的信任缺口。(239字)
|
22天前
|
API 开发工具 数据库
OpenAgenet(OAN)如何把智能体资源的“注册、发现、互联”做起来
OpenAgenet(OAN)是面向“智能体互联网”的开源基础设施,聚焦资源可信注册、语义发现、授权分发与跨节点互联,支持MCP Server、Skill、工具服务等能力的结构化治理与机器可理解调用。(239字)
OpenAgenet(OAN)如何把智能体资源的“注册、发现、互联”做起来
|
22天前
|
运维 前端开发 搜索推荐
OpenAgenet(OAN):面向智能体互联网的去中心化治理基础设施
OpenAgenet(OAN)是面向智能体互联网的去中心化治理框架,聚焦资源身份(did:oan)、节点授权、可信注册与可验证发现,构建跨平台、多主体协作的治理基础设施,推动智能体网络从连接走向可信协同。(239字)
OpenAgenet(OAN):面向智能体互联网的去中心化治理基础设施
|
21天前
|
算法 安全 API
DID 文档不只是密钥文件:它可以成为智能体资源的可信发现面
DID 文档不应只被理解为存放公钥和控制者信息的身份文件。在智能体互联网中,它还可以成为资源发现的机器可读入口,表达服务端点、协议绑定、资源描述、授权域、实现链接、包哈希和版本信息。本文围绕 OAN 的 `did:oan` 扩展思路,说明 DID 文档如何同时承担身份验证、资源描述、发现筛选和调用前核验功能,使智能体资源更容易被发现、理解和可信接入。
|
21天前
|
自然语言处理 搜索推荐 开发工具
可信发现不是搜索:OAN Discovery 与普通搜索引擎有什么不同
普通搜索追求相关性排序,但智能体自动调用更关心结果是否可信、版本是否有效、入口是否可用。本文区分 OAN Discovery 与搜索引擎的不同定位:Discovery 面向的是经过 Root 验证、带有 DID、Root Proof、生命周期状态和协议入口的可信候选集合。它可以结合自然语言 query、资源类型、能力标签和版本策略做筛选,但不会把文本相似度等同于可信性,从而更适合自动化调用场景。
|
22天前
|
人工智能 JSON 安全
Agent 代表谁行动:可信主体为什么不能来自模型输出?
AI Agent可生成合法参数,但无法凭文本自证“代表谁行动”。身份认证需可信链路(非模型输出),区分请求者、运行时、业务主体三重身份,严防越权。主体是责任起点,非权限终点——业务系统仍须实时授权。

热门文章

最新文章