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

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

iqa:// · 128-byte attestation envelope · 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 个字节。


iqa:// scheme 与 AE-128 信封定义于草案 draft-li-rttp-iqa-addressing(IETF 独立提交通道审核中);一致性测试向量(AE128-VECTOR-1)公开可复现;参考实现三语言上架(PyPI / npm / crates.io)。

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

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

目录
相关文章
|
2天前
|
人工智能 缓存 数据库连接
遇到环境报错,先别让 AI 急着改业务代码
本文强调环境报错需先精准归因:区分“环境缺失”与“业务异常”,要求AI按执行命令→首错定位→配置核查→最小验证的逻辑链排查,拒绝盲目改代码,并珍视诚实声明“暂时无法验证”的专业判断。(239字)
24 0
遇到环境报错,先别让 AI 急着改业务代码
|
1天前
|
人工智能 缓存 关系型数据库
当修改代码不再昂贵:我们还需要那么追求复用吗?
当越来越多的代码开始由 AI 生产,我们究竟应该怎样设计和组织软件,才能用更低的开发成本、更少的不必要复杂度,把真正可用、可维护的软件做出来?
25 0
|
2天前
|
人工智能 测试技术 定位技术
用 Agent Skills 重构测试流程:从用例生成到缺陷定位
本文介绍如何用Agent Skills重构支付网关回归测试流程:将传统断点式人工流程(需求→用例→执行→排查→Bug)拆解为四大可复用能力单元——需求拆解、用例生成、失败归因、缺陷定位,并通过CI流水线自动串联。实测周期从5天压缩至1.5天,关键在于把隐性经验封装为标准化、可复用、可验证的AI技能,实现“人只做最终判断”。
|
18天前
|
云安全 人工智能 安全
|
2月前
|
存储 人工智能 JavaScript
在 vibe coding 里,唯一真正重要的,是管理好文档
vibe coding 时代,AI 生成代码已成常态,但真正决定项目质量与迭代速度的,不是模型多强,而是文档是否被系统化管理。文档承载上下文、约束、决策与共识,是人与 AI 协作的“协议”和“记忆”。管好文档,才能让 AI 稳定输出、避免失真、持续复用——它不是附属品,而是核心生产要素。(239字)
880 111
在 vibe coding 里,唯一真正重要的,是管理好文档
|
22天前
|
Web App开发 安全 网络协议
从IP到支付到行为,Facebook如何判定多个广告账户同属一人
本文深度解析Meta广告账户“连坐”风控机制,指出BM实为信用枢纽而非文件夹,其信任分、支付资料、设备指纹、操作行为及关联图谱共同决定风险传导。强调安全关键不在“一个BM挂几个账户”,而在于切断IP、指纹、支付、邮箱等共用边。推荐MostLogin等独立隔离环境方案,并给出配置范式与批量API示例。
|
1月前
|
人工智能 API 内存技术
刚刚 DeepSeek V4.1 Flash 开启内测,1 分钟教你用上!
刚刚 DeepSeek 内测群发布了 DeepSeek V4.1 Flash 中间版本内测的消息,这次的模型采用了新的结构,原生支持多模态、能力更强、速度更快、且成本更低。
2220 15
|
2天前
|
弹性计算 Java 开发工具
阿里云 V4 签名实战(第1篇)· Python:手写 OSS PutObject V4 签名(附完整工程)
为什么 SDK 之外还要手写签名?本篇用约 130 行纯 Python 实现阿里云 OSS V4 签名(OSS4-HMAC-SHA256)完成 PutObject 上传:四步流程图解、规范化请求与派生密钥链逐段讲解,配套完整工程可直接导入运行,并用官方文档示例做离线测试向量证明实现逐字节正确,附 7 条签名踩坑清单。
67 27
|
27天前
|
缓存 API 开发工具
DeepSeek V4.1 Flash API 接入指南:价格说明与调用方法全解析
本文详解直连 DeepSeek V4.1 Flash(`deepseek-flash`)的完整接入流程:从平台选型(官方API/第三方网关)、费用估算(分缓存/非缓存输入与输出计价)、Key与模型匹配,到Python/curl首次调用验证。内容基于2026年9月11日官方文档核查,含实操代码与避坑提示。
|
1天前
|
内存技术
一直免费3.8FLASH的话,能不能把订阅会员的积分往后延长,不然我们很吃亏啊,我买了几个高级订阅
用户反馈:3.8版FLASH长期免费,但高级订阅会员积分未同步延期,导致已购会员权益缩水,呼吁延长积分有效期以保障付费用户权益。