给每一颗 GPU 一个
跨运营方、全球唯一、
机器可验证的身份
算力资产登记与解析协议 · 作为 rentgpu 行情数据交换规范 v0.1 的「机况维度」扩展发布,不新建独立品牌
一台 H100,在四方眼里是四个互不认识的条目
缺的不是数据,是「这四行说的是同一台设备」这件事没法证明
要补的不是一个新的交易所,是一个号码
汽车行业用 VIN 解决了同样的问题:号码本身不值钱,值钱的是号码背后那层谁都能查的记录
一个号码
CVIN 由规格四段 + 序列号哈希构成,同一颗卡的任何写法都收敛到同一个 ID。序列号只存哈希,不可逆。
一层只增不减的登记
观测记录进 append-only 哈希链。改一个字节断资产链,删一段断全局链——技术上不支持修改。
一层谁都能重放的解析
任何人、任何 Agent 都能按公开公式独立验证这段历史没被改写。可信度来自可复算,不来自我们的声明。
三层结构:登记、解析、规范
写入方永远免费,读取方为深度与实时性付费
登记层
公开 listing 采集 + 运营方自助声明 + 设备指纹验证。写入永久免费。
解析层
CVIN → 存在性 / 摘要 / 完整历史 / 连续性证明,附 ed25519 签名供第三方验签。
规范层
编码规范与观测 schema 版本化、公开治理;变更走公开 RFC,决策日志全公开。
CVIN 长什么样
对人可读,对机可解析;序列号不出本机
| 段 | 含义 | 取值 |
|---|---|---|
| mfr | 厂商代码 | nv / amd / intc / hbn … |
| model | 型号族 | h100 / h200 / b200 / a100 / mi300x … |
| form | 形态 | sxm / pcie / oam / hgx |
| mem | 显存规格 | 80g / 141g / 188g / 40g … |
| serial-hash-16 | SHA-256 截断(base36 前 16 位) | 不可逆,保护机主资产清单 |
cvin_encode 只上传哈希结果。规范化会剥离 sn / s/n / serial 前缀与分隔符,保证同一颗卡的多种写法收敛到同一个 CVIN。身份分级:两条轴,不要混
公开 listing 通常不给序列号——这是行业常态,不是采集没做好。所以身份做成可升级的梯,而不是一个开关
| 级 | 作用域 / 依据 | 能断言 | 不能断言 |
|---|---|---|---|
| M | 型号级供方挂牌(不是设备) 平台 × 型号的一条公开报价 | 该平台对该型号存在一条报价,价格变化可被连续记录 | 无法升级为设备级——里面根本没有设备 |
| L0 | 设备级 · 挂牌指纹 | 同一挂牌前后一致 | 不保证是同一台物理设备 |
| L1 | 设备级 · 序列号被看见过 | 同一物理设备跨运营方是同一个 ID | 不保证上报者没说谎 |
| L2 | 设备级 · 硬件信任根 | 设备用 ed25519 自证,运营方无法替代它说话 | 不保证密钥没被物理提取 |
硬规矩:弱身份不能混进法律行为
分级的价值不在分级本身,在这条规矩能被机器执行
机器把关,不靠人记得
GET /v1/permits?cvin=…&use=抵押登记 返回 {allowed, level, upgrade_to}。合同、保单、Agent 都调同一个接口,判断口径只有一个。
升级路径(写入方免费)
L0 → L1:POST /v1/promote 提交序列号证据(CVIN 会变,旧 ID 经别名表永久指向新 ID,历史不丢)。
L1 → L2:POST /v1/attest 设备密钥自证(同一 CVIN 原地升级)。
哈希链:可信度来自可独立重放
只增不减,任何人可验证
global_hash = sha256(canon({prev: 前一条全局哈希, rec: 本条 hash}))
/v1/verify 返回连续性证明 + ed25519 签名,第三方可验签。source_url(公开来源,用于人工复核)。只采集公开来源,机主可申请更正与隐藏。场景一 · 抵押融资
放款前那一分钟:这台设备有没有被押给过别人
POST /v1/schedule,永久免费)eligible_for_pledge、在押状态、重复抵押风险/v1/verify 取连续性证明并验签POST /v1/lien 上簿,下一家放款方才看得到清单会自动拒绝
M 级 · L0 级 · 已在押 · 全合成履历 · 格式不合法 / 表中无记录。判定口径只有一个:/v1/permits?use=抵押登记。
配套条款模板
lien-01:出现两个不同抵押权人即构成违约事件。条款模板永久免费——价值在「填空之后能被核验」,不在模板本身。
场景二、三 · 租赁风控与保险
同一个号码,两种问法
租赁风控 / 承租企业
「我要租的这台,是不是平台上写的那台?」
- 租前验机:设备是否真实存在、运行史是否连续
- 跨运营方比对:换平台后仍是同一个 ID(L1 起)
- 在押期间周期性核验 + 失联告警(订阅)
保险
「核保与定损时,这台设备的历史能不能被独立查证?」
- 核保:设备身份、活跃度、证明状态
- 定损:历史事件流(违约 / 清算 / 争议)可逐条复核
- 连续性证明带签名,可直接进理赔档案
场景四 · Agent 自动验机
API 与 MCP 即产品:没有账户、没有 API Key、没有预充值
{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"cvin_resolve","arguments":{"cvin":"cvin:nv.h100.sxm.80g:6a1kfvdo43buqm34"}}}
| 工具 | 作用 | 计费 |
|---|---|---|
| cvin_resolve | 存在性 + 摘要 | 免费 |
| cvin_history | 完整观测历史 + 哈希链 | $0.05 / 次 |
| cvin_verify | 连续性证明 + ed25519 签名 | $0.05 / 次 |
| cvin_encode | 本地算 CVIN(序列号不出本机) | 免费 |
PAYMENT-RESPONSE 头里,可拿 tx 去 Basescan 核对。已实测跑通。收费:写入免费,读取分层收费
写入方是供给端,永远免费还要倒给价值;读取方为历史深度与实时性付费
- resolve 基础解析
- 90 天延迟摘要
- 事件流 / 条款模板 / 抵押物清单
- 不需要 API key
- cvin_history / cvin_verify
- 无需签约、无需账期
- 链上结算成功才放行
- 身份 + 活跃度 + 证明状态
- 抵押权明细
- 重复抵押风险判定
- 可打印存档
- 周期性签名遥测核验
- 失联 / 转冷即时告警
- 抵押权变动 webhook
- 资产池覆盖率汇总
边界:这个协议不做什么
把边界写死,是这个位置能站住的前提
中立性必须是结构,不能是声明
所以治理不是一页写着「我们很中立」的 HTML,而是一组可查、可复算的东西
提案的事实源在仓库
rfcs/*.md 是唯一事实源,front matter 含利益冲突披露与公示期。改提案 = 提 PR 改 md,没有后台开关。
三层分权 · 7 席
/v1/governance 公开席位、表决门槛与发起方交权清单。委员会 7 席现在全部空缺——章程 v1.0 要由首批进来的委员修订,不是请他们签字。
六条红线可复算
/v1/governance/redlines 每条红线给出判定方法与证据;/v1/provenance 公开合成数据占比与达标缺口。
决策日志全公开
每一次规范变更与争议裁决含时间、理由、影响范围、反对意见;日志本身 append-only,与登记表同样的哈希链保护。
现在到哪一步了
阶段 0:先把真实数据接进来,再谈治理——没有真实数据的标准,没人愿意进它的委员会
三步,今天就能验证
https://cvin.org/v1/resolve/<cvin>永久免费、无限次、不需要 Key
POST /v1/schedule把你手上的设备列表变成可进合同的附件
一般一个工作日内回