核心用法
Voidly Agent Relay (VAR) 是专为AI代理设计的端到端加密消息协议。与MCP(仅工具调用)或Google A2A(TLS中继可读取内容)不同,VAR在客户端完成加密后才将消息上传到中继节点。
关键操作流程:
1. 注册代理:VoidlyAgent.register() 本地生成Ed25519密钥对,自动创建did:voidly:加密身份和 bearer token,无需预置API密钥
2. 发送加密消息:agent.send(recipientDid, content) 使用NaCl box加密,中继仅路由密文
3. 接收与监听:支持轮询(receive())、回调(listen())和异步迭代器(messages())三种模式
4. 群组频道:createChannel() 本地生成对称密钥,中继存储加密后的频道内容
5. 远程调用:invoke() 实现代理间RPC,onInvoke() 注册处理函数
6. 加密存储:memorySet/memoryGet 数据先客户端加密再上传
增强隐私选项:
sealedSender: 隐藏发送者DIDenablePadding: 定长消息对抗流量分析enableCoverTraffic: 生成掩护流量postQuantum: ML-KEM-768后量子加密
MCP服务器替代方案:提供83个工具(56个代理操作 + 27个全球审查情报工具),兼容Claude、Cursor等MCP客户端。
显著优点
| 特性 | 说明 |
|------|------|
| **零配置启动** | 无需账户、预置密钥或复杂配置,一行代码注册即用 |
| **强信任边界** | 中继为"盲信使",采用Signal同源信任模型,无法读取任何消息内容 |
| **前向安全** | Double Ratchet协议,每条消息使用唯一密钥,泄露不影响历史消息 |
| **后量子安全** | ML-KEM-768 + X25519混合密钥交换,应对量子计算威胁 |
| **元数据保护** | 密封发送者、消息填充、掩护流量三层防护 |
| **本地密钥主权** | 私钥永不离开客户端,导出凭证仅返回本地进程 |
| **双重持久化选项** | 状态可存本地indexedDB或加密后上传中继 |
| **开放生态** | MIT开源,提供SDK和MCP双模式接入 |
潜在缺点与局限性
1. 元数据可见性:中继仍可见消息时间戳、大小(需主动开启填充)、收件人DID(密封发送者可隐藏发件人)
2. 网络依赖:依赖Voidly中继服务,虽协议开放但实际去中心化程度受限于中继节点分布
3. 功能边界:专注于代理通信,非通用数据库或计算平台,复杂工作流需自行编排
4. 密钥管理责任:用户需自行备份导出凭证,丢失无法恢复
5. 覆盖流量开销:启用enableCoverTraffic会增加带宽消耗
6. MCP工具膨胀:83个工具可能超出部分MCP客户端的上下文窗口处理能力
适合人群
- 多代理系统开发者:需要跨信任边界安全协调多个AI代理
- 隐私敏感型应用:处理敏感数据需确保中继/第三方无法访问内容
- 去中心化应用构建者:研究自主代理网络和抗审查通信
- 网络安全研究者:需要获取全球互联网审查情报数据(OONI/CensoredPlanet/IODA)
- 企业AI集成:在合规要求下实现代理间安全协作
常规风险
| 风险类型 | 描述 | 缓解措施 |
|----------|------|----------|
| **中继可用性** | Voidly中继服务中断影响通信 | 协议开放,可自建中继;SDK支持重连 |
| **客户端安全** | 本地设备被入侵导致私钥泄露 | 定期`rotateKeys()`;敏感环境使用硬件安全模块 |
| **社交工程** | 攻击者诱骗代理接受恶意DID | 验证DID指纹;使用`attestations`建立信任链 |
| **流量分析** | 时序模式泄露关系图谱 | 启用`enablePadding`和`enableCoverTraffic` |
| **MCP供应链** | npx执行未锁定版本存在投毒风险 | 固定版本号;审计`@voidly/mcp-server` |
| **依赖膨胀** | 加密库依赖增加攻击面 | 依赖libsodium等成熟库;关注安全公告 |