128 字节里装下了什么——一份可以离线复核的信任

简介: "可审计、可追责"喊了两年,缺的是一个可离线复核的证据载体。本文拆解 128 字节 IQA 证明信封:固定布局零解析器、地位四态(一态一断言)、撤销不是删记录而是签发新信封、fail-closed 让任何一字节篡改自动 REJECT。附公开一致性向量,逐字节可复现。

iqa:// · 128-byte attestation envelope ·IANA CRI 28· IETF 审核中 · 姊妹柱:rttp:// · IANA CRI 27

上一篇讲了地址怎么来(派生,不是分配)。地址解决了"你是谁、怎么找到你",但 Agent 世界还欠一个答案:你做过的那件事,怎么向第三方证明?

日志不行——日志存在运营方自己的系统里,可以被事后修改。截图不行——截图连哈希都沾不上。需要的是一种新载体:事件发生时同步签发的密码学凭证,任何人可离线复核。我们把它做成了固定 128 字节的信封,这就是 IQA 的核心。

一、为什么是"信封",而且偏偏是 128 字节

证据载体常见的做法是 JSON:几百字节,还需要一个 JSON 解析器去逐字段走。CBOR 紧凑些,但仍要 TLV 解码逻辑。

IQA 的取舍相反:固定布局,零解析器。128 字节、字段偏移固定,任何能读字节的语言——Python、Rust、嵌入式 C——用切片和哈希原语就能处理。解析器需求:无。这一条写在公开的规范里,也写在一致性测试向量里:固定输入、固定输出,逐字节可复现。

128 字节同时是"足够装下证明要素"与"足够小到塞进任何日志行、任何报文头"的平衡点。

fig1-envelope.png

二、逐字段走一遍

信封的固定布局(按序):魔数 → 版本/算法/标志 → 租约 → 主体分片 → 证明 → 机构 → 随机数 → 地位 → 保留 → 扩展。

挑四个最值得驻足的:

  • 主体分片(16 字节):上一篇派生出的那个 shard,原样嵌在信封里——证据落地时自证归属,不需要任何登记处告诉验证方"这证据是谁的";
  • 租约:证明的有效窗口。过期即失效,窗口语义由签发方声明;
  • 随机数:防重放。同一事件签两次,两个信封互不相同;
  • 地位:单字节,却是整个信封的灵魂——下一节专门讲它。

三、地位四态,以及"撤销也是证明"

地位是一个字节,取值来自封闭四态集合:Ghost(无证据可报:未验证 / 过期 / 撤回 / 不可达)/ Probation(曾证明 · 现观察)/ Radiant(当前合规 · 证据可达的最高态,租约制,永不永久)/ Genesis(纪元锚)。

前三者构成证据轴——从"没有证据"到"被证据托举"。Genesis 不在这条轴上:它是纪元的构成态(era anchor),不走应用路径,不是"更高级的合规"。四态不构成等级阶梯,一态一断言。

有意思的是撤销的做法:撤销不是"把记录删掉",而是签发一个新信封,把地位写成 Ghost。于是旧信封依然成立——它证明的是"签发那一刻的事实";新信封同样成立——它证明的是"后来发生了什么"。两个信封并排,就是一条完整的、双方都无法抵赖的时间线。

审计的最高境界不是管理日志,而是让日志自己带上数学。

fig2-standing.png

四、fail-closed:REJECT 是结果,不是错误

验证是常时时间(constant-time)的全帧 HMAC-SHA256:覆盖整帧 128 字节,验证时证明字段清零后重算。任何一字节被改动——哪怕翻一个 bit——MAC 即破,输出 REJECT。

两条纪律值得单独说:常时时间意味着验证不泄漏"哪里被改了"(不给攻击者喂定位信息);fail-closed意味着任何格式异常、任何字段不合规,一律 REJECT——畸形输入永远不会被"好心"地当成部分有效来处理。

REJECT 不是异常,是这套系统的正常输出之一。它和 PASS 一样,都是可以被复核的结论。

五、诚实的边界

信封证明的是签发时刻的事实,不预测未来;它不替代任何网关的实时风控——检测是检测的事,证据是证据的事;委托链语义当前版本明确不规定(正在征求社区意见);机构密钥的分发属于部署层的信任决策,规范不越权代答。

我们不声称解决了"信任"——我们只是把其中可以变成数学的那一部分,变成了 128 个字节。


双柱状态:rttp:// 与 iqa:// 均已获 IANA 注册(Provisional · CRI 27 / CRI 28,编号公开可查)。合并规范 draft-li-rttp-iqa-addressing 正在 IETF 独立提交通道审核;三语言参考实现与字节级测试向量全部开源。

仓库:github.com/Aicent-Stack · 规范与证据链:iqa.org · 寻址柱官网:rttp.com

一句话:制度说"相信我",信封说"你自己算"。

目录
相关文章
|
网络协议
为什么 Agent 的地址不该"分配",该"派生"
Agent 跨域互调,第一件事是"找到它、认出它"。主流做法是分配地址——DNS、CA、DID 注册表,每次验证一次在线往返。本文讲 RTTP 的另一条路:地址由 SHA-256 派生而非机构分配,验证方本地重算即核对,离线可用。128 位裕量怎么算的、一个 shard 为什么能身兼三职,全部公开可查。已获 IANA 注册(CRI 27)。
154 0
为什么 Agent 的地址不该"分配",该"派生"
|
人工智能 Rust JavaScript
制度可信与数学可信之间,差一个 128 字节
Agent 时代的新问题是:陌生 Agent 替你做完事,能拿出什么证据?本文对比国内外主流平台的信任能力——身份认证有、授权控制有,可移交、可独立验证的证据没有——并给出一个开源的最小可行形态:RTTP 意图寻址(已获 IANA CRI 27)+ 128 字节 IQA 证明信封(已获 IANA CRI 28) + fail-closed 全帧验证,三语言实现可直接接入任何 MCP 栈,发布物逐件密码学密封自证。
122 0
制度可信与数学可信之间,差一个 128 字节
|
Java Go
一个公开挑战:任意语言、完全离线,跑不通算我们的
讲「可信 Agent」的文章很多,交出可证伪实物的很少。我们把协议规范冻结、35 个测试向量公开,并在记分牌上留了两个空位——独立实现数,rttp: 0,iqa: 0,作者自己的实现不算数。规则只有四条:只看规范、任意语言、完全离线、确定性。跑通全部向量,你的名字进规范记录;跑不通,那是我们的 bug,署名致谢并重新发布向量。横竖都是你赢。
125 0
一个公开挑战:任意语言、完全离线,跑不通算我们的
|
网络协议
一个协议装不下:语义寻址与信任证明为什么分成两个 scheme
Agent 跨域互调,要同时解决「找到谁、做什么」与「谁授权、凭什么」。本文盘点现有协议栈的缺口——DNS+CA 在线双问、OAuth 回 IdP、DID 解析回网、MCP 不管身份语义——论证语义寻址(锚在哈希)与信任证明(锚在密钥)因信任锚不同源,无法装进同一个 scheme;并给出落地形态:一份合并草案、两个 scheme,在字节层共享同一 16 字节分片完成闭环。
129 0
一个协议装不下:语义寻址与信任证明为什么分成两个 scheme
|
26天前
|
人工智能 Rust JavaScript
制度可信与数学可信之间,差一个 128 字节
Agent 时代的新问题是:陌生 Agent 替你做完事,能拿出什么证据?本文对比国内外主流平台的信任能力——身份认证有、授权控制有,可移交、可独立验证的证据没有——并给出一个开源的最小可行形态:RTTP 意图寻址(已获 IANA CRI 27)+ 128 字节 IQA 证明信封 + fail-closed 全帧验证,三语言实现可直接接入任何 MCP 栈,发布物逐件密码学密封自证。
184 1
制度可信与数学可信之间,差一个 128 字节
|
存储
四个 MCP 工具,30 秒验证一份密码学证据——iqa-mcp 上手
别信文档——把向量跑一遍。本文带你 30 秒跑通 iqa-mcp(PyPI/npm/crates 三注册表 1.0.1):published_vector 拿公开向量 → parse_envelope 结构解码 → verify_envelope 得 [PASS] → 翻一个字节得 REJECT。四个 MCP 工具,任何 MCP 兼容客户端可直接调用,无状态、离线、fail-closed。
134 0
四个 MCP 工具,30 秒验证一份密码学证据——iqa-mcp 上手
|
23天前
|
JSON Java 程序员
Java JQuick-Path 实战手册:根对象、递归下降、通配符,一篇全掌握
Java开发者还在为JSON取值反复判空、层层嵌套而烦恼?jquick-path四大核心语法——根对象($)、属性访问(.)、递归下降(..)、通配符(*),一次讲透!轻量易用,支持path字符串与Java链式调用,大幅提升JSON解析效率。开源地址:github.com/paohaijiao/jquick-path
|
26天前
|
人工智能 缓存 数据库连接
遇到环境报错,先别让 AI 急着改业务代码
本文强调环境报错需先精准归因:区分“环境缺失”与“业务异常”,要求AI按执行命令→首错定位→配置核查→最小验证的逻辑链排查,拒绝盲目改代码,并珍视诚实声明“暂时无法验证”的专业判断。(239字)
76 0
遇到环境报错,先别让 AI 急着改业务代码
|
26天前
|
人工智能 缓存 关系型数据库
当修改代码不再昂贵:我们还需要那么追求复用吗?
当越来越多的代码开始由 AI 生产,我们究竟应该怎样设计和组织软件,才能用更低的开发成本、更少的不必要复杂度,把真正可用、可维护的软件做出来?
75 0
|
25天前
|
消息中间件 NoSQL 应用服务中间件
Vue3 + WebSocket + RocketMQ:实时消息推送全栈实战
客服系统消息延迟 5 秒,用户无法实时感知订单状态变更——这是我在电商项目中遇到的真实问题。通过 RocketMQ + WebSocket 的全栈方案,消息端到端延迟从 5000ms 降到 50ms,在线用户 10000+ 连接稳定运行。本文从实时推送的 5 大痛点出发,详解 Vue3 WebSocket 客户端 + Spring Boot + 阿里云 RocketMQ 5.x + Redis 的全栈架构设计与代码实战,涵盖 STOMP 协议适配、有序消息与事务消息、离线消息补拉、消息去重与幂等、连接安全认证等核心环节,并给出 5 个生产踩坑实录和推送方案选型决策树。