Arch Day 199
Arch Day 199: ZK应用 — zkTLS、身份验证与ZK Coprocessor
ZK的杀手应用不只是Rollup扩容——zkTLS(证明Web2数据)、ZK身份(隐私合规)、ZK Coprocessor(链上大数据)三大方向正在将ZK从"区块链底层技术"变成"全栈应用工具"。其中zkTLS被视为"连接Web2和Web3的桥梁"。
2026-10-15
第七阶段 - Web3专题深度zkTLSZK身份ZKCoprocessorAxiomWorldIDPolygonIDReclaim
日期: 2026-10-15 (Day 199) 阶段: 第七阶段 - Web3专题深度 标签: #zkTLS #ZK身份 #ZKCoprocessor #Axiom #WorldID #PolygonID #Reclaim
核心概念
一句话定义
ZK的杀手应用不只是Rollup扩容——**zkTLS(证明Web2数据)、ZK身份(隐私合规)、ZK Coprocessor(链上大数据)**三大方向正在将ZK从"区块链底层技术"变成"全栈应用工具"。其中zkTLS被视为"连接Web2和Web3的桥梁"。
知识点详解
1. zkTLS — 证明Web2数据的真实性
zkTLS的核心问题:如何在链上证明"我在Coinbase有$10K余额"而不泄露我的Coinbase账户?
zkTLS工作原理:
传统TLS:
浏览器 ←→ HTTPS ←→ 服务器(如Coinbase)
├── TLS保证通信加密
├── 但只有用户和服务器知道内容
└── 第三方无法验证"用户从服务器收到了什么"
zkTLS:
浏览器 ←→ HTTPS ←→ 服务器
↓
ZK Prover
↓
生成证明: "服务器返回的JSON中balance字段 > 10000"
↓
链上验证: 证明有效 → 执行合约逻辑
关键: 不泄露balance具体值/用户名/API密钥
zkTLS方案对比:
| 项目 | 技术路径 | 优势 | 劣势 | 融资 |
|---|---|---|---|---|
| TLSNotary | MPC(多方计算)拆分TLS密钥 | 最成熟、最去中心化 | 需要Notary节点配合 | 开源(PSE资助) |
| Reclaim Protocol | HTTPS代理+ZK证明 | 最易集成(SDK)、最多用例 | 依赖代理节点 | $15M(a16z) |
| Primus(前PADO) | TEE+ZK混合 | 性能好、隐私强 | TEE信任假设 | $9M |
| Opacity | TLS Session分析 | 简单高效 | 覆盖范围有限 | $8M |
| zkPass | MPC-TLS+ZK | 支持多数据源 | 证明时间较长 | $12.5M |
2. zkTLS实际应用场景
| 场景 | 描述 | 具体案例 |
|---|---|---|
| 法币-加密桥接 | 证明银行转账已完成→释放链上稳定币 | ZKP2P(Venmo/Revolut→USDC) |
| DeFi信用 | 证明Web2信用数据→链上低抵押借贷 | Spectral(信用评分→借贷) |
| 身份验证 | 证明Web2身份→链上权限 | 证明Binance KYC→DeFi白名单 |
| 社交验证 | 证明Twitter粉丝>10K→链上声誉 | Reclaim+Farcaster集成 |
| 电商 | 证明Amazon购买记录→链上退款保险 | 链上商品真伪验证 |
| 工资验证 | 证明月薪>$X→链上信贷资格 | Salary NFT(隐私工资证明) |
3. ZK身份方案
| 方案 | 技术 | 覆盖 | 用例 | 状态 |
|---|---|---|---|---|
| World ID | Iris扫描+ZK | 全球7M+(虹膜注册) | 人类唯一性证明(防机器人) | 已上线 |
| Polygon ID | W3C VC+ZK | 以太坊生态 | 年龄/国籍/KYC验证 | 已上线 |
| Gitcoin Passport | 多源聚合 | DeFi/空投 | 防女巫(声誉评分) | 已上线 |
| Anon Aadhaar | ZK+印度Aadhaar | 印度13亿人 | 链上身份不泄露个人信息 | 开发中 |
| zkEmail | ZK+DKIM签名 | 全球邮箱用户 | 证明拥有某邮箱不泄露地址 | 已上线 |
Polygon ID深度:
Polygon ID架构:
Issuer(发行方):
├── KYC提供商发行"年龄>18"凭证
├── 大学发行"学位证明"凭证
└── 政府发行"居民身份"凭证
Holder(持有者/用户):
├── 存储凭证在手机/钱包中
├── 选择性披露(只证明需要的属性)
└── 生成ZK证明发送给验证方
Verifier(验证方/DApp):
├── 定义验证规则(如"年龄>18 AND 国籍≠制裁国")
├── 链上验证ZK证明
└── 不获取任何个人数据
核心创新: 选择性披露(Selective Disclosure)
├── 传统KYC: 上传护照照片 → 泄露所有信息
└── ZK KYC: 证明"年龄>18" → 不泄露具体年龄/姓名/护照号
4. ZK Coprocessor — 链上大数据查询
问题: 链上合约无法高效查询历史数据
例子: "计算某用户过去30天在Uniswap的平均交易量"
→ 链上合约无法遍历30天的交易记录(Gas太高)
→ 传统方案: 依赖中心化后端查询 → 信任假设
ZK Coprocessor解决方案:
1. 链下读取30天历史数据
2. 链下执行计算(平均值)
3. 生成ZK证明: "我正确读取了链上数据并计算了结果"
4. 链上验证ZK证明 → 获得可信结果
成本对比:
├── 链上直接计算: 不可能(Gas溢出)
├── 中心化查询: $0(但需要信任)
└── ZK Coprocessor: $0.01-$0.10(无需信任)
主要ZK Coprocessor项目:
| 项目 | 方法 | 用例 | 状态 |
|---|---|---|---|
| Axiom | ZK证明以太坊历史状态 | 链上分析、动态费率 | 已上线(V2) |
| Brevis | ZK跨链数据查询 | 跨链状态证明 | 已上线 |
| Herodotus | Storage Proof | 跨L2状态同步 | 已上线 |
| Lagrange | ZK大数据 | 链上数据仓库 | 测试中 |
Axiom具体案例:
Uniswap V4 + Axiom:
需求: 根据用户历史交易量给予手续费折扣
传统方案: 中心化后端查用户交易量 → 链上写入 → 信任后端
Axiom方案:
1. 用户调用Axiom: "查询我过去90天在Uniswap的交易量"
2. Axiom链下读取历史交易 + 生成ZK证明
3. ZK证明提交链上: "该地址90天交易量 = $500K"
4. Uniswap Hook读取证明结果 → 给予0.05%费率折扣
成本: ~$0.05(vs 不可能的链上计算)
信任: 零(ZK证明,不依赖任何中心化服务)
5. ZK Proof of Reserves
| 方案 | 描述 | 采用方 |
|---|---|---|
| Merkle Tree + ZK | 证明用户资产在储备中,不泄露总储备量 | Binance(PoR) |
| ZK Range Proof | 证明"储备>负债"不泄露具体金额 | Gate.io |
| Sumcheck Protocol | 高效证明所有余额之和 = 声明的总储备 | 学术方案 |
面试题
问题:zkTLS对Web3意味着什么?为什么说它是"连接Web2和Web3的桥梁"?
回答:
zkTLS解决了Web3最大的数据孤岛问题——链上只有链上数据。DeFi借贷只能看链上抵押品,不知道你的银行余额;链上身份不知道你的真实身份;链上信用不知道你的Web2信用历史。这导致DeFi只能做"超额抵押"(知道的信息太少,只能要求150%+抵押率)。
zkTLS让链上合约可以可信地读取Web2数据而不泄露底层信息:
- 法币桥接: 证明"Venmo已收到$100"→链上释放100 USDC,无需中心化做市商
- 低抵押借贷: 证明"银行余额>$50K+信用分>750"→只需50%抵押率
- 合规DeFi: 证明"已通过Coinbase KYC"→进入合规DeFi池,不需要再次上传证件
这是"桥梁"因为它让Web3不再是"链上孤岛"——可以安全地引用整个Web2数据层(银行/社交/电商/政府),而且用ZK保护隐私。
追问准备:
- Q: zkTLS的局限?→ 依赖Web2服务不改变API格式(网站改版=证明失效);证明生成需要用户设备配合(不能后台自动);目前覆盖的数据源有限
- Q: zkTLS和预言机区别?→ 预言机(Chainlink)引入"公开"数据(价格/天气);zkTLS引入"私密"数据(余额/身份)。预言机是多方共识;zkTLS是单方证明