Web3 隐私专家带您揭秘 zkTLS 及其应用

 风险提示:防范以"数字货币""区块链"名义进行非法集资的风险

zkTLS 代表的不仅是 Web2 数据在 Web3 生态中的可用性提升,更是数据所有权的转变。
本文作者:Xavier, Co-founder@Primus Lab
密码学博士,拥有 10 年以上 MPC/ZK/PPML 等隐私研究经验
尽管以 zkSNARKs 为代表的 ZK 技术在区块链行业获得了前所未有的发展,但与行业预期的终极 end game 仍然相距甚远。一方面,zkRollup 对以太坊性能突破带来了一定优势,但是随着链上应用的日渐匮乏,空有基建缺乏使用的窘境无法突破。另一方面 zk 技术本身仍然没有孵化出高价值的 zk 应用——不管是隐私为核心的链上交易和机密支付,还是各类 zk XXX (zkEmail, zkLogin, zkPassport, …),仍然是需求不明确,或者强行蹭 zk, 技术贴金,没有真正解决场景痛点。

欧易
欧易(OKX)

全球三大交易所之一,注册领50U数币盲盒,币圈常用的交易平台!

币安
币安(Binance)

币安是世界领先的数字货币交易平台,注册领100U。

什么是 zkTLS?

一个通俗的例子是,你如何向另一个人证明你的银行账户有很多钱?传统的方法是让银行为你出具资产证明。这类纸质证明带有银行的公章,带有很明确的真实性 (authenticity)。
Web3 隐私专家带您揭秘 zkTLS 及其应用
( 图片来源于网络 )
那么,如果问题转变成,你如何向另一个人证明你的信用分、电商消费金额、游戏时长呢?我们无法预期这些存有你个人数据的网站会为你进行单独背书,提供相关的证明服务。或者你直接通过屏幕截图也许可以让其他人信服,但是这个过程仍然会被人认为伪造,以及带来额外的敏感信息泄露的风险。
zkTLS 就是一种基于 TLS 协议的数据验证技术,能在客观上为基于互联网的任意数据提供真实性证明。
最早的 zkTLS 技术产品是 TLSNotary 项目在 2015 年发布的一款产品 PageSigner,基于 Chrome 浏览器。从它的名字不难发现,TLSNotary 的初衷就是为了做一款能提供网页数据真实性证明的工具。事实上,一直到 2020 年, ChainLink 团队发表了论文 DECO,zkTLS 才逐渐进入行业视野,大家发现原来还有另一类预言机 (Oracle),可以获得链下的私有数据。
客观来说,2023 年之前,zkTLS 技术在对接实际业务需求时仅仅停留在“可用”阶段,距离“好用”还相差甚远,单次证明耗时通常需要若干分钟。2023 年,有鉴于此前 zkTLS 技术在使用了安全多方计算之后在通信方面开销过高,reclaim 提出了基于代理模式 (proxy mode) 的 zkTLS 技术,通过传统的 zkSNARKs 以及引入一个需要信任的代理节点,实现 TLS 数据的可验证。2023 年年中,Primus 团队 ( 此前名为“PADO”) 通过 garble-then-prove 的技术,结合 quicksilver 算法将基于安全多方计算模式的 zkTLS 技术整体性能提升了 10 倍以上,并且在代理模式里,通过用 quicksilver 算法代替传统的 zkSNARKs,将整体性能也提升了 10 倍以上。目前来看,Primus 的 zkTLS 技术在性能上基本能满足各类业务场景的需要。
Web3 隐私专家带您揭秘 zkTLS 及其应用
读者可以查阅相关的基准测评了解更多的 zkTLS 的性能情况
(https://hackmd.io/@-fI_Eu_rR8qs02aOhOPWNg/HkRyz5OF1g)

zkTLS 技术分类

通常来说, zkTLS 实现网页数据的真实性验证,依赖于一个第三方 Attestor。Attestor 类似观察者,通过“阅读” TLS 协议的执行过程中的请求和响应消息,来确保用户的数据 ( 来自于服务器的响应消息 ) 确实来自于指定的数据源 ( 注:这里的数据源指服务器域名以及相关的 API endpoint)。
TLS 协议一般分为两个阶段:握手和会话。在握手阶段,客户端和服务端通过一系列的通讯交互,共同计算出会话密钥用于下一阶段的加密通讯。在会话阶段,客户端将请求消息发送给服务端,服务端随之返回响应消息,所有的消息都由会话密钥进行加密处理,确保没有第三方可以窃取。
zkTLS 根据核心技术组件的不同,主要分为两大类,基于安全多方计算 (MPC) 的和基于代理的技术。

MPC 模式

MPC 模式主要依赖于安全多方计算的使用。在 MPC 方案中,Attestor 和 Client( 客户端 ) 通过 两方计算 (2PC) 协议 来模拟 TLS 握手中的客户端部分。这意味着在握手阶段结束后,客户端不会直接获得完整的会话密钥。只有当 Attestor 收到 响应密文 后,它才会将 密钥份额 发送给客户端,使其能够解密所有密文。
「小知识:MPC 即安全多方计算,一般为两方参与 ( 即 2PC) 或者三方及以上参与 ( 称为 MPC )。不管是 2PC,还是 MPC,都要求参与各方保证自己的计算输入不被其他方获得,同时能协作完成某一个指定的计算任务,例如多人一起计算出平均工资而不泄漏任何一人的薪资情况,或者多个数据提供者在不泄漏各自数据资源的条件下一起参与完成 AI 模型训练。」
Web3 隐私专家带您揭秘 zkTLS 及其应用
MPC 模式的直观流程如下:

  1. 握手阶段: Client 和 Attestor 运行 2PC 协议,共同计算会话密钥。在此过程中,Client 和 Attestor 仅持有会话密钥的各自份额,而非完整密钥。
  2. 请求加密: Client 和 Attestor 再次运行 2PC 协议,计算加密后的请求数据。
  3. 响应处理: Client 接收 数据源 返回的响应密文,并将其转发给 Attestor。
  4. 密钥解封与验证: Attestor 将 密钥份额 发送给 Client,使其获得完整的会话密钥。Client 使用该密钥解密响应,并向 Attestor 证明密文有效,且满足协议设定的安全属性。需要注意的是,Client 和 Attestor 并不会使用 2PC 协议来解密响应密文,解密由 Client 在获得完整密钥后独立完成。

Proxy 模式

代理模式下,Attestor 作为代理,在 Client( 客户端 ) 和 Data Source( 数据源 ) 之间转发所有 TLS 交互数据 ( 包括握手信息和加密通信数据 )。TLS 协议结束时,Client 需要向 Attestor 以零知识方式 (ZK) 证明 密文的有效性。
Proxy 模式的设计动机消除 MPC-TLS 中的 2PC 协议,因为 2PC 是计算开销最大的部分,通过减少计算复杂度,提高了协议的整体执行效率。
Web3 隐私专家带您揭秘 zkTLS 及其应用

zkTLS 能给我们带来什么?

zkTLS 的核心价值主要是可验证性。
在此之前,并没有很好的方法在无需信任的条件下,支持用户提供可信的个人数据。这种可验证性有着广泛的灵活度和实用性,包括:

  • – 数据源无侵入: 数据源并不会感知到它正在与一套全新的 zkTLS 协议交互,而仅会遵循传统 TLS 协议的运行逻辑。这意味着 zkTLS 在理论上可以广泛接入所有底层基于 TLS 协议的数据源或者 API 服务,尽管异常频次的交互仍可能触发数据源端的风控策略。
  • – 通用性: 所见皆可证,理论上任意的网页数据,不管是公开的,还是私人的,敏感或者不敏感的,都可以通过 zkTLS 的方式由 Attestor 鉴证后获得
  • – 链无关: zkTLS 纯粹是基于密码学的链下行为,其协议输出通常是一段带有 Attestor 签名的数据,可以在链下验证,也可以上链后在智能合约里进行验证。
  • – 隐私友好: 基于零知识证明的特质,对于需要分享的敏感信息, zkTLS 可以支持最小化披露。简单来说,对于 TLS 协议返回的响应消息,可以对其中的可计算数据 ( 数值类型 ) 定制相关的约束条件,例如年龄大于 18,余额不低于 10000 等,并将相关的计算证明结果体现在输出数据里。

zkTLS 的应用案例

你可能会想,基于 zkTLS 的数据共享的可能使用案例是什么?以下是我们认为值得探索的一些想法:
Web3 隐私专家带您揭秘 zkTLS 及其应用

  • 低抵押贷款: 通过 zkTLS 提供链下的信用评分、银行余额、收入和其他财务数据的证明,可以允许借贷协议提供更优的资本利用效率。
  • 链下身份验证: 获得传统机构的用户 KYC 信息,并在链上金融协议中使用。
  • P2P 交易: 我们可以创建一个点对点的数字化商品市场。一方面,买家可以通过 zkTLS 技术证明其完成了商品所有权的变更,这包括电子票,域名,游戏道具,甚至法定货币;卖家可以通过智能合约控制代币的转让。
  • AI Agent: 借助 zkTLS,我们可以确保 AI Agent 的行为完全是可靠的。这包括验证社交媒体上具有市场影响力的 agent 的言论,以及解锁 AI 交易机器人和 AI 参与 DAO 治理,降低流程中的信任成本。
  • 粉丝证明: 例如允许用户提供粉丝身份的证明, 并从 KOL/ 艺术家那里获得相关的奖励。
  • 社交账户打赏 / 支付: 可以允许任何人将加密资产发送给一个或者多个社交账户,而无需知道对方的钱包地址。另一方面,用户需要通过 zkTLS 提供相关的社交账户证明,来领取其名下的代币。
  • 社交登陆: 通过 zkTLS 验证用户的社交平台账号拥有权,开发一种全新的登录机制。用户能够使用任意网页服务提供商的账号完成登录,而无需依赖特定的 Google 或 Meta 账户。

价值数据验证和计算新范式

zkTLS 代表的不仅是 Web2 数据在 Web3 生态中的可用性提升,更是数据所有权的转变。过去受限于平台的数据,如今可以自由流动、受隐私保护,并具备可编程性。这一演进让用户不再只是被动接受者,而是数据的真正掌控者。
随着 zkTLS 的采用加速,我们将见证数据的可验证性带来的组合效应——更多可验证的数据支撑更强大的应用。另一方面,这些可验证数据在应用间传递价值,将引发一个新的问题,如何对这些关键数据进行计算,并确保计算结果的正确性。
事实上,对链上敏感数据的计算通常借助于全同态加密 (FHE) 等更加复杂的密码学技术。 Primus 通过对全同态加密算法结合零知识证明进行重新设计,提出了 zkFHE( 可验证全同态加密 ) 协议,支持免信任的链上数据机密计算,正在将 zkTLS 这一横跨不同赛博空间的数据验证技术,进一步拓展到数据计算领域,为解锁更多的创新应用创造可能性。
免责说明:
本文由 Primus 团队的 Xavier 撰写,部分文字涉及利益相关,读者可自行判断。

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...