加密行业一直拥有改变世界的思想影响力、人才和资金,但往往缺乏实现这一目标的手段。迄今为止,大多数现实世界中的加密成功案例都是依赖于 Web2 巨头的支持。我们只能寄希望于 Visa 和 Mastercard 继续支持加密支付卡;Coinbase、PayPal 和 Stripe 继续让传统支付系统与区块链兼容;BlackRock 继续代币化国债;Walmart 继续销售 Pudgy Penguins。
如今,我们拥有了一种强大的新工具,使加密构建者有动力推动变革。无能与限制主导着传统市场,而加密行业比以往任何时候都更有能力提供替代方案。
本文摘自 Delphi Digital 于 2024 年 9 月 27 日发布的报告 The Inefficient Market Hypothesis。
以下是 zkTLS 工作原理的高级概述。
传输层安全性协议(Transport Layer Security,缩写作 TLS)是一种用于加密客户端与服务器之间通信的协议。TLS 构成了 HTTPS 中的“S”(HTTPS = HTTP + TLS),已成为 Web 的标准,保护着 95% 的网络流量。
TLS 是一个受信任的中心化权威机构,负责颁发会话密钥。当用户访问网站时,浏览器与目标服务器会进行 TLS 握手过程,以生成会话密钥,并随后使用对称加密进行数据传输。由于客户端与服务器之间交换的数据未经过签名,因此无法在其他地方证明其真实性。
TLS 保证:
- 真实性(Authenticity)
- 安全性(Security)
- 隐私性(Privacy)
- 不保证数据可移植性(NOT data portability)
zkTLS 通过在 HTTPS 会话期间验证客户端和服务器之间的交互记录,并将任意的隐私保护证明带入链上,从而解决了可移植性问题。重要的是,这通常不会被服务器检测到,也无法通过防火墙拦截。借助 zkTLS,整个互联网的数据库成为了区块链应用的可组合构建模块,而 Web2 几乎无能为力。
zkTLS 主要有三种实现方式:MPC、Proxy 和 TEE。
MPC(多方计算)
多方计算(Multi-Party Computation,缩写作 MPC)允许多个参与方在不泄露各自私有输入的情况下共同执行计算。MPC 具有较强的安全保证,但计算开销较大,并存在合谋问题。
Deco
Deco 在 2019 年的论文中首次提出了基于 MPC 的 TLS 解决方案。Deco 采用恶意安全的两方计算(Two-Party Computation,缩写作 2PC)方法,但计算成本极高。例如,认证一个 2KB 负载需要 475MB 的通信量,并且耗时 50 秒。该方案极易因超时而失败,且从未成功落地实施。Deco 被 Chainlink 收购,并与 Teller 共同开发了一个概念验证(PoC)。
TLSNotary
TLSNotary 在 Deco 的基础上进行了改进,采用了基于混淆电路(Garbled Circuits)和不经意传输(Oblivious Transfers)的 2PC 实现。混淆电路是 MPC 中最简单、最易实现的一种方式。
TLSNotary 通过“公证”客户端与服务器之间的交互记录来证明其真实性。证明者(Prover)和验证者(Verifier)在 TLS 握手过程中共同计算密钥的加密/解密。在整个过程中,只有证明者与服务器进行通信,而验证者仅能看到加密数据。证明者无法伪造输入或响应。在流程结束时,证明者可以在向验证者展示交互记录之前对部分信息进行编辑(例如,证明者可以向验证者展示自己居住在 XYZ 司法管辖区,但隐藏具体的经纬度)。
验证者可以直接参与过程并充当公证人(Notary),或者验证角色可以外包,以实现通用化和可移植的证明。这引入了一种信任假设,即验证者必须信任公证人不会与证明者串通并生成虚假证明。为降低此风险,验证者可以要求来自多个公证人的证明,或者自行定义可信的公证人。然而,这些解决方案各有缺陷,合谋仍然是 MPC 相关的主要问题。TLSNotary 的演示可在此处查看。
TLSNotary 允许数据在保证隐私的前提下实现可移植性,并且不依赖服务器的配合。TLSNotary 通过混淆电路(Garbled Circuits)和密钥分片(Key Sharding)技术实现经过认证数据的选择性披露,但并未使用零知识证明(ZKP)。目前,有多个新兴项目正在基于 TLSNotary 框架开发,引入零知识技术,并提升其集成的便捷性。
Pluto
Pluto Labs 是一个开源的零知识(ZK)实现版本的 TLSNotary。Pluto 正在将 TLSNotary 产品化,使开发者仅需 5 行代码即可将任何链下数据集成到智能合约中。关于信任假设的详细概述可在此处查看。
Primus Labs(原 PADO Labs)
Primus Labs 在 Deco 的基础上进行了改进,采用“先混淆再证明”(garble-then-prove)技术,而非恶意安全的两方计算(2PC)。实现了 14 倍的通信优化,并将运行时间最多提升至 15.5 倍。该方案已成功应用于 Coinbase 和 Twitter 等现实世界的 API。此外,Primus 还在开发一种 zkFHE 解决方案,该方案未来可支持更复杂的数据结构。Primus 采用浏览器扩展,并即将推出 iOS 和 Android 应用。
Opacity
Opacity 通过建立健全的框架来解决合谋问题,从而区别于其他方案。为防止合谋,Opacity 采用 EigenLayer AVS 机制来提供经济安全性,并叠加额外的安全措施,包括:
- 通过链上验证 Web2 账户 ID 来实现临时的女巫攻击(Sybil)抵抗机制
- 承诺-揭示(Commit and Reveal)方案:用户必须先提交一个值,之后才会随机选出公证节点
- 随机选择 MPC 节点
- 可验证的尝试记录
Opacity 通过将每个钱包映射到一个 Web2 账户 ID,限制用户利用多个钱包进行合谋尝试。此外,强制用户在公证节点选定前提交声明,使得合谋用户无法在匹配失败后改变立场。可验证的尝试记录增加了用户责任,例如,如果某用户(0x54..)宣称自己银行账户中有 1000 万美元,但多次尝试失败,其证明将显得可疑。最后,Opacity 要求公证软件在可信执行环境(TEE)中运行,除非 TEE 本身被攻破,否则可以完全防止合谋。此外,Opacity 的安全性并不完全依赖 TEE。
在 Opacity 框架下,要伪造一个证明,需要满足多个条件:
- 合谋用户
- 合谋节点
- 运行被攻破的 TEE 的合谋节点
- 合谋用户在 1-3 次尝试内随机匹配到合谋节点
验证者可以要求连续多次生成证明,从而以指数级降低第 4 条发生的概率。此外,任何恶意行为都面临被削减(slashing)惩罚。
女巫抵抗机制可能是 Opacity 方案中最薄弱的环节。Opacity 目前可以防止单个 Web2 账户绑定多个钱包,但无法阻止同一用户创建多个 Web2 账户。因此,Opacity 依赖于特定的 Web2 平台来增强女巫抵抗能力。一些平台比其他平台更可靠,例如,Rippling HR 提供的身份验证比 X(Twitter)账户更具可信度。未来,Opacity 可以引入多个 Web2 账户作为额外的安全保障。
Opacity 正在将自己定位为 zkTLS 的最佳实践实现,致力于去中心化和减少信任假设。其解决 MPC 开销问题的能力将成为未来成功的关键因素。
未来优化方向
未来仍有多种方法可以进一步优化 MPC 性能。例如,向量不经意线性评估(Vector Oblivious Linear Evaluation, VOLE)可以实现高效的 N 选 1 不经意传输(Oblivious Transfer),在每轮通信中取得更大进展。这可能将网络开销降低 100 倍,使得 1 秒级的 MPC-TLS 证明成为可能。
Proxy(代理)
HTTPS 代理(Proxy)是客户端与服务器之间的中间节点,它们转发加密流量,并仅在验证用户凭据时进行解密。代理可以提升安全性、性能和隐私性,在企业环境中十分常见,用于监控或限制员工的网络流量。
代理同样可以用于 zkTLS。在该模型中,代理见证人(Proxy Witness)被插入到客户端与服务器之间,以证明通信的合法性。代理模型速度快、成本低、实现简单,并且能够处理大量数据。然而,该方法可能面临审查、合谋以及去中心化方面的问题。此外,服务器可以检测到代理的存在,因此这一方法可能会在大规模应用时被屏蔽。
Reclaim Protocol
Reclaim Protocol 是代理模型的先驱,并且在所有 zkTLS 项目中进展最为领先。Reclaim 支持几乎所有区块链,并拥有 889 个社区构建的数据源。多个项目正在基于 Reclaim 进行开发,包括 zkP2P 的票务市场。
Reclaim 可以在 2–4 秒内从用户的移动设备生成证明,无需用户下载应用或浏览器扩展。Reclaim 采用住宅代理(Residential Proxies)来绕过 Web2 的防火墙问题。
相比 MPC-TLS,Reclaim 的代理模型更为简单,因此在速度上具备显著优势。许多针对代理的安全性担忧已在学术研究论文 Proxying is Enough 以及 Reclaim 的博客中得到解答。研究表明,突破 Reclaim 安全性的概率为 10−4010^{-40}10−40。
Reclaim 相关推文
zkPass
zkPass 采用混合模型。最初,它是基于 MPC 的解决方案,但在实际应用中已转向代理见证模型,并将 MPC 作为备选方案。zkPass 现已上线 Base、BNB、Scroll、Linea、Arbitrum、zkSync、OP、X Layer。zkPass 使用其原生的 TransGate Chrome 扩展,并已集成来自 70 多个数据源的 200 多种数据结构。
zkPass 似乎专注于身份验证和女巫攻击抵抗(Sybil Resistance)。目前正在进行激励计划,用户可以完成挑战任务并赚取 ZKP 积分。zkPass 可能会成为首个推出可流通代币的 zkTLS 项目。
zkPass 演示
TEE(可信执行环境)
可信执行环境(Trusted Execution Environments,缩写作 TEE)是处理器中的防篡改加密区(Enclave)。这些加密区能够存储敏感数据,并在隔离于 CPU 其余部分的环境中进行计算。TEE 具备硬件和软件层面的隔离,使用独立的专属内存和计算资源。
目前,最知名的 TEE 解决方案是 Intel SGX。然而,TEE 过去曾多次被攻破,并且容易受到侧信道攻击(Side-Channel Attacks)。更多关于 TEE 的信息可参考我们的 EthCC 报告。
Clique
Clique 正在基于 TEE 构建 zkTLS。这种方法的计算和网络开销极低,效率极高,解决了许多现有问题,但引入了对可信硬件的依赖。其本质上是将信任从公证人(Notary)转移到了芯片制造商。TEE 在这一模型中承担了所有的安全保障责任。
总结
需要注意的是,zkTLS 只是一个通俗术语。不同 zkTLS 方法对零知识(ZK)的应用程度不同,且不像 zkEmail 等其他零知识技术那样提供一致的安全保证。从技术分类上看,zkTLS 更准确的划分方式可能是:
- MPC-TLS(+ZKP)
- TEE-TLS
- zkTLS Proxy
未来的 zkTLS 讨论将主要围绕性能与安全性的权衡展开。
- Proxy(代理):代理方案更加通用,但需要额外的信任假设,并且需要一个对客户端友好的零知识(ZK)解决方案,同时还需要额外的措施绕过防火墙。
- MPC(多方计算):MPC 方案具有强安全保证,但设置 MPC 过程需要大量的网络通信开销。由于真值表(Truth Tables)带来的巨大计算负担,MPC 方案更适用于小规模的请求/响应交互以及没有严格时间限制的 TLS 会话。MPC 具备抗审查性,但存在合谋风险。
- TEE(可信执行环境):TEE 模型解决了 zkTLS 方案面临的大部分问题,但其代价是完全信任 TEE 硬件。
目前,Reclaim 和 Opacity 在 zkTLS 领域发展势头强劲,并主导了当前的讨论。随着 zkTLS 生态的不断发展,MPC 和 Proxy 方案的性能 vs. 安全性取舍问题将持续成为讨论的核心。
结论
zkTLS 是一个新兴的概念,并且毫不夸张地说,它将改变一切。然而,仍然有许多悬而未决的问题:zkTLS 提供商是否会被商品化?价值捕获是否会最终流向应用层?伪造证明的可提取价值是多少?这些因素将如何影响关于安全性与性能权衡的讨论?
可以确定的是,zkTLS 极大拓展了去中心化应用的设计空间,并为我们提供了一种全新的构建思维方式。众多创新想法正在涌现,其中一些已经进入开发阶段,包括:
- 票务市场 – zkP2P(基于 Reclaim)
- Web2 信誉导入(Uber、DoorDash 账户验证) – Nosh Delivery(基于 Opacity)
- 网红营销/推广证明 – Daisy(基于 Opacity)
- 智能预测市场 – TMR.NEWS(基于 Reclaim)
- 通过工资获取无抵押贷款 – Earnifi(基于 Opacity)
- 精准广告投放与激励 – EarnOS(基于 Opacity)
- 通过软抵押获取无抵押贷款 – 3Jane(基于 Reclaim)
zkTLS 正在削弱依赖数据垄断的 Web2 传统巨头,今天所有低效的市场都为加密行业渗透并改善社会提供了机会。
声明
- 本文转载自 [X],所有版权归原作者 [@yeak__] 所有。如对转载有异议,请联系 Gate Learn 团队,团队将及时处理。
- 免责声明:本文所述观点仅代表作者个人意见,不构成任何投资建议。
- 本文的其他语言翻译由 Gate Learn 团队完成,除非特别说明,禁止复制、分发或抄袭已翻译的文章。