zkTLS:可验证数据可组合性

本文探讨了零知识传输层安全性(zkTLS)如何通过无条件的数据验证和隐私保护,促进Web2和Web3生态系统之间的互联互通,以重塑未来互联网。文章详细描述了zkTLS的原理、架构,以及它在各类应用场景中的潜在影响,特别是在数据共享、去中心化金融和安全验证等方面的革新性实例,为互联网用户带来了数据控制权的希望。

网络证明与未来互联网

今天的互联网是一个围墙花园的拼贴,每个花园都由中心化的权威机构管理,这些机构规定标准并控制互操作性。用户被迫与这些平台共享个人数据,这些数据可能随后会转交给管理机构或第三方,通常没有完全透明度或用户同意。尽管这种模式在金融等领域运作——尽管不完美——对于社交媒体和整个互联网却带来了重大挑战。

最紧迫的问题之一是运营商可以轻易地与附属服务或竞争对手终止集成,有效地将用户锁定在他们的生态系统中。我们多次见证了这一点:Facebook(现在的Meta)限制了对集成合作伙伴的数据访问,或者Twitter将API访问放在了付费墙后。这种行为不仅抑制了竞争,还限制了用户的自主权,特别是在遭遇针对性的网络攻击时,还会将个人数据暴露于盗窃和丢失的风险之中。

但如果有一种方法可以在不妥协安全性或功能性的情况下拆卸这些障碍呢?引入零知识传输层安全(zkTLS)——一种革命性的方法,将零知识证明集成到网络的基础协议中。zkTLS提供了一条道路,将用户从大科技公司使用的保留技术中解放出来,减轻用户被锁定的弊端,并增强隐私和安全性。

在本文中,我们将通过zkTLS的视角深入探讨网络证明的概念。我们将探索这一创新技术如何通过实现安全、私密的互动来重塑互联网,而无需透露不必要的个人信息。通过利用zkTLS,我们可以为一个不仅更开放、更具互操作性,还能更好地符合个体用户需求和权利的互联网铺平道路。

请与我们一起揭示zkTLS在变革数字景观方面的潜力,促进一个以信任、自由和用户赋权为基础的互联网。是时候关注那些能够重新定义我们在线体验的更好技术了。

AGI的出现与社交媒体上的自主代理

人工智能的崛起,主要是通过大型语言模型(LLMs)和生成图像的大型语言模型(GILL),加剧了这些问题。这项技术经过广泛训练,以尽可能假人类,所以需要访问大量数据来学习“成为人类”的“技能”,并最终希望获得自我意识并形成自己的想法。

此类技术的训练模型采用“观察和复述学习”模型,使其在各种可能的上下文中暴露于可观察的人类互动中;还有什么比社交媒体更适合洞悉随机人的个人生活和互动呢?

用户数据在每个主要渠道上都被大肆收集并灌输到我们的人工智能统治者的训练模型中,推动了他们产品的迅速崛起。这种抓取策略理所当然地受到社交媒体公司的抵制,因为它们可能是竞争对手,或宁愿为访问用户数据而收费。因此,数据现在是一个昂贵的商品,可能会继续如此,尤其是在互联网和社交媒体回归到高度信任的小众、精心策划的社区时。

Web3视角

数字资产和区块链技术得到了极大的创新,但大多以孤立和自我参考的方式构建系统,这些系统与传统系统和价值观大多独立。

在这种背景下,相关的价值主张是区块链技术实现了数据的不可更改性,基础理念是建立在其上的系统复制了其开放性。因此,任何人都可以访问任何可用的链上数据,而无须数据所有者的“许可”。

这一观察表明,加密货币如何与传统系统和AI炒作如此不同——它们完全支持“每个数据”对“每个人”的开放,无需许可。

不过,它们基础意识形态的对立并未否定以下事实:

  1. 它们各自都有其优缺点,

  2. 每个系统的优点在大多数情况下可以用来增强另一个的特性,

  3. 如果我们认真对待“接纳下一个十亿人”进入加密货币,那么可以简单假设区块链的用户群体是传统机构用户群体的一个子集。

传统系统无法/不愿意利用加密创新来增强其性能,这不应该(而且也没有)阻止加密利用其可靠组件。最显著的组件是传统系统在几十年内收集的大量用户行为数据。用户数据被出售给广告商以获得收入,并且在每次数据泄露中经常被盗。

这同样适用于加密 + AI;虽然这一交集仍然主要被不可否认的快速获利和为下一轮融资而准备的热词所饱和,但仍存在一些探索可以进行。

从加密的视角看个人数据

加密的切入面临冷启动问题,因为(除了中心化交易所)没有广为人知的途径供普通用户获得/接触区块链技术。普通加密新手必须创建一个全新的身份(在大多数情况下是一个钱包地址),然后找到筹集资金的方式以接触去中心化应用的服务。

允许用户在传统系统中的身份部分或完全保留在链上(如果用户愿意),将从根本上解锁去中心化金融(DeFi)的下一个创新波,超越投机和抢椅子。网络证明和“zkTLS”的声明目标就是:使链外用户数据的可移植性得以实现,具备可证明的来源和隐私保障,使得用户能够比目前可能的更信任地轻松访问链上环境的产品。

数据的使用通常在其起源处受到限制,从而禁止用户数据的可移植性,这无疑是造成加密用户身份转移问题的原因之一。网络证明旨在解决这个问题,使用户能够作为一种在传统和加密机构之间,甚至在传统机构之间的某种预言机行动。

接下来,我们将首先概述传统的TLS方案。

网络证明和TLS问题

传输层安全是一种加密协议,提供在计算机网络中通信方之间的隐私和数据完整性保证。参与方通常是一名客户端(以后统称为证明者),向服务器发送请求;而服务器则向证明者的请求发送响应。

TLS通常由两个子协议组成:

  1. 握手协议——负责在用户(也即证明者)和数据源(也即服务器)之间建立共享通信渠道。

此协议利用非对称加密方案让服务器和证明者达成一致,决定使用何种_密码套件_进行数据传输。然后它们依法互相认证,并安全计算一个共享秘密密钥,以便在会话的第二阶段使用。

  1. 记录协议——负责在保证完整性(可选时也保证机密性)的同时传输数据,使用对称加密方案。

在这一阶段,证明者请求的数据被拆分为固定大小的明文记录,可能被填充和压缩以降低传输成本。这些记录会被标记上消息认证码(MAC),然后加密,并将结果传送给证明者。接收后,数据通过使用证明者的密钥进行解密和验证,内容被解压、重组,然后交付给更高级别的协议。

这是过程的一般化,因为它因版本和认证方案而异。然而,在设置中,只有证明者和服务器可以彼此沟通和理解。这意味着传递给证明者的数据在其他任何上下文中都是不可用的,因为它们无法证明其来源。因此,使用传统TLS会话结果获得的网络证明并不证明任何事情,尤其是因为:

  1. 证明是使用来自特定服务器的消息构建的,

  2. 消息在证明者从服务器接收到它后未被证明者更改。

TLS协议的广泛采用使用户能够访问自己的数据,无论是私人还是其他数据,通过可证明的端到端机密性通道。该协议的严格机密性意味着用户的数据仅对他们自己和数据源选择共享的其他人可用。

这实际上是一种用户锁定形式,因为用户无法访问和导出自己的数据,通常必须获得数据源的明确许可才能导出他们的数据,即便是出于最简单的目的。

这是可以通过引入一个第三方来解决,该第三方验证证明者没有更改服务器的响应,以及其他希望有的特性。这类协议由加密初创公司来推动,旨在使数据来源合理化,通常被称为zkTLS(零知识传输层安全)协议。

什么是zkTLS?

加密生态系统长期以来一直与传统“Web2”世界隔离,原因在于技术限制阻碍了无缝交互和可组合性。这主要是因为基础设施不直接互操作。这两个生态系统无法共享数据导致的显著分化是难以克服的,因为大多数“Web3”系统缺乏验证来自“Web2”生态系统数据的手段。这种孤立设计在Web3生态系统中不是特性而是限制。因此,需要一种解决方案以建立连接并促进这些生态系统之间的集成。

在Web2世界中,数据的验证受到限制,因为HTTPS仅确保用户与网站之间的安全传输,但并没有一个手段让第三方独立验证数据的真实性。Web3利用去中心化的区块链技术解决了此问题,确保数据存储在透明、不可更改的账本上。在这个系统中,任何人都可以独立验证数据的真实性,而无需依赖中央权威或源数据,因为零知识证明技术的出现使得数据可以被共享并且在网络中的任何人都能独立验证。

zkTLS(零知识传输层安全)是一种在私有Web2数据与Web3生态系统之间创建网关的协议。zkTLS是一个混合协议,它将零知识证明与TLS加密系统相结合,在维护隐私的同时允许Web2和Web3生态系统之间的安全数据传输。它允许用户安全地从任何网站导出数据,而不会泄露不必要的数据。zkTLS集成了两种技术:TLS(传输层安全),是一种作为互联网安全 web 通信的支柱的加密协议。它通常用于安全浏览,在此情况下用于加密和保护在浏览器与Web服务器之间传输的数据。另一方面,ZK(零知识证明)允许_证明者_向_验证者_证明一条信息的有效性,而无需向_验证者_透露该信息的实际内容。

这种结合确保在数据传输期间数据保留加密的同时,也能进行不暴露敏感细节的验证。这在去中心化应用(dApps)中尤其重要,隐私和安全性至关重要。

zkTLS是如何工作的?

zkTLS通过零知识证明增强标准TLS协议,提供可验证的隐私层。首先,TLS加密通信以防止窃听,而zkTLS则启用选择性数据披露。然后创建零知识证明并与验证者共享。这些证明允许验证者验证某些事实(例如,交易是否符合特定要求),而无需暴露诸如账户余额或个人详情等敏感数据。这种安全与隐私之间的平衡是zkTLS的独特之处。zkTLS的主要组成部分之一是在多方计算(MPC)设置中使用,其中多个参与方合作加密和解密数据,而任何单一方都无法接触完整的加密密钥。这确保了数据传输期间不发生篡改,为过程增加了额外的信任层。

了解应用程序

凭借其改进的隐私、安全性和用户覆盖面,zkTLS正在改变区块链生态系统与链外数据之间的沟通方式。例如,去中心化金融系统和代币空投历史上受制于链上活动,例如链上历史交易、交换或桥接,这限制了可能的用户只能限于那些已经活跃于加密货币领域的人。zkTLS通过允许使用链外活动,如在Spotify等平台上串流音乐、从亚马逊购买商品或参与共享出行,作为分发代币的标准,扩大了这些界限。这一整合增加了潜在代币接收者的池,通过隐私保护的方式获取真实世界活动的数据。通过利用zkTLS,空投可以奖励已验证的真实用户,促进一个更广泛和多样的社区,同时预防欺诈。

在DeFi借贷中,zkTLS通过实现对链外行动的安全验证,如收入验证或对开源项目的贡献,促进信任和透明度。这可以影响链上奖励,而无需透露敏感的财务数据。与可能缺乏隐私和可扩展性的传统预言机不同,zkTLS支持的预言机可以提供防篡改、可验证的数据,例如价格喂价或其他市场指标,而不会揭示数据的来源或内容,使其适合于对隐私关注的DeFi应用。这项技术有潜力通过支持低抵押贷款来转变借贷,使用户能够证明收入而无需透露完整的财务历史,从而开辟更具包容性的借贷机会,同时维护数据隐私。

zkTLS通过确保在区块链网络如以太坊、Solana和Cosmos之间安全且经过验证的资产转移,大大促进跨链和多链操作。这对需要跨多个链无缝集成而无需集中监督的项目至关重要。zkTLS保证数据和资产的安全移动,最大限度地减少风险,消除转移过程中可能存在的漏洞,从而促进生态系统更加灵活和互操作。此外,zkTLS还可以保护由去中心化应用(dApps)发出的API请求,这通常涉及与可能暴露敏感信息的外部系统的交互。通过仅允许共享经过验证的数据而保持敏感内容的私密性,zkTLS有助于维护用户交互和数据传输在各种区块链应用中的完整性和隐私。

zkTLS还可以应用于各种Web2到Web2的场景,其中隐私和无需信任的验证至关重要。例如,Nike可以使用zkTLS向2024年芝加哥马拉松的参与者提供50%的折扣,通过验证他们的参与情况而不直接与马拉松组织者合作。类似地,Uber Eats可以使用zkTLS,在每笔购买中对在DoorDash上完成100个订单的用户提供免费饮料,而无需接触DoorDash的数据。在这两种情况下,zkTLS均通过保护隐私、无需信任的方式验证用户的资格,促进无缝合作和竞争优势,而无需共享敏感信息。

使用zkTLS重新设计网络证明

传统的TLS记录不允许第三方检测错误/更改的数据,但zkTLS方案通过为数据附加证明来解决这一问题,证明它来源于特定服务器。

zkTLS允许以某种形式添加第三方,通常称为验证者,该验证者负责检查证明者报告的来自服务器的诚实数据。

根据其验证模型,zkTLS方案可以分为:

  1. 基于代理的架构(代理-TLS)

  2. 基于TEE的架构(TEE-TLS)

  3. 基于MPC的架构(MPC-TLS)

接下来,我们将对每种方案进行概述并突出这一领域中的重要创新者。

基于TEE的zkTLS

受信执行环境(TEEs)是现代CPU中专门设计的几乎防篡改的部分,旨在在孤立的环境中执行敏感计算。TEEs确保机密操作(如用户身份验证、数据解密或加密签名)即便在系统的其他部分被破坏的情况下仍保持安全。这种隔离允许安全计算,而不向服务提供者或外部方泄露敏感信息,使其适合于隐私严格要求的计算过程。

TEEs在传统环境中已经存在数十年,并且已被提议用于加密用例,但最近才因其在各种环境中提供保障的潜力在加密领域获得更多关注,例如其在Flasbots中的使用。

在基于TEE的zkTLS设置中,验证者是TEE,因此系统的信任假设直接依赖于TEE的制造商或服务提供者的声誉以及TEE对物理或侧通道攻击的抵御能力。基于TEE的zkTLS实现非常高效,增加的计算和网络开销极少。这种效率使其对于性能至关重要的用例具有吸引力,前提是用户接受与TEEs相关的固有信任和安全风险。

该系统的基础在于论文Town Crier (2016) 中概述,很显著的团队在此概念之上构建的有CliqueTeleport,Teleport是面向消费者的实现,允许用户生成和分享独特的链接,使其他人能够以用户身份在他们的Twitter账号上发帖。这是_代理委托_的特化概念由Andrew Miller共同引入

在最佳情况下,证明者将从服务器获得的原始数据值传递给TEE,TEE在孤立区中对消息的内容进行验证。验证后,TEE加密该消息——创建一个网络证明——并直接将其传递给证明者请求证明的第三方协议。这一模型允许你证明来自网站的响应的真实性。例如,你可以提供TEE生成的签名,确认已正确执行TLS握手,并且特定的请求和响应已真实交换。如果接收方信任TEE未被破坏或篡改,则他们可以在无需直接验证网站本身的情况下,自信地接受证明的有效性。

如前所述,TEEs在加密界相对未被充分探索,因此这一领域的大多数工作仍在高度实验阶段。

基于MPC的zkTLS

安全多方计算(MPC)允许一组各持有秘密的方(本质上是未公开值的子单位)共同计算输出,而不揭露各自的输入。这确保证在计算过程中不会发生数据泄漏。在zkTLS的背景下,基于MPC的模型是围绕TLS握手过程中没有单一方生成对称密钥的概念设计而成。相反,密钥是协作派生的,通过分散信任来增强安全性。

在实践中实施基于MPC的zkTLS是资源密集型的,因为它需要多个节点参与计算,这可能成本高且管理复杂。由于这些瓶颈,常见的TLS协议实践迭代通常采用一种特殊情况下的结构,其中有两个计算方,且其中一个方可能存在被破坏的情况。这个设定被称为双方计算(2PC)

2PC可以以两种主要方式设计:

  1. 加密电路协议:这些协议将计算编码为布尔电路,使用1-of-2匿名传输。在此结构中,服务器的响应在证明者和参与2PC节点中进行解密。更高级的模型可能采用基于向量盲线性评估的方案(VOLE-based schemes),该方案在证明者提交对服务器最终响应的承诺后导出服务器的写密钥。这种方法减少了处理时间并启用数据的选择性披露,最适合于逐位操作。

  2. 门限秘密共享协议:这些协议将计算编码为分发在证明者和2PC节点之间的秘密密钥共享。这种方法对于算术操作特别有效。

MPC-TLS设置中,MPC组件限制了证明者直接与服务器通信的能力。相反,第三方与证明者合作,通过MPC加密、解密和验证消息,而不会揭示从服务器传输给证明者的整个消息。这意味着第三方可防止证明者伪造数据,而不知晓数据的原始值。

这一设置中的第三方通常被称为公证人,这一术语由TLS-Notary在该领域用了开创性工作而普及。公证人使用盲签名对证明者消息的承诺进行签名,从而确保证明者在向利用数据的协议提交之前无法更改消息。

例如,当向朋友演示特定响应源自某网站时,你可以提供服务器的响应和所有参与MPC节点(或公证人)确认他们共同解密了来自网站的数据的证明。如果你的朋友相信你不太可能贿赂或对参与的每个MPC节点进行破坏,他会相信这个证明。

MPC-TLS设置通常遵循以下步骤:

  1. 预处理阶段:证明者和公证人执行盲传输以准备更快的证明生成。

  2. 服务器认证:证明者获取服务器的公钥和证书链,以验证服务器的真实性。

  3. 密钥生成:证明者与公证人生成一个与主密钥共享的临时密钥,该密钥是TLS共享的秘密。这些密钥用于消息加密和服务器认证。

  4. 请求加密:当证明者希望向服务器发送请求时,他们与公证人一起使用2PC加密和认证请求。公众人然后盲签署生成的消息,之后证明者将其发送给服务器。

  5. 响应解密:当服务器响应证明者的请求时,证明者和公证人使用2PC解密并验证返回的消息。

  6. 证明生成:在会话结束时,证明者持有服务器身份的证书链和备案会话的签名文本文档。他们将使用这些生成交给验证者以便可以验证证书链和签名的正确性,从而验证底层消息的正确性。

这一设计空间是zkTLS模型中探索最多的,有实际实现如TLSNotary (TLSN)分散预言机(DECO)引领潮流。

DECOChainlink首次引入,是一个三阶段协议过程如下:

  1. 三方握手阶段:证明者、验证者和服务器协同工作以建立用于加密和解密功能的秘密共享会话密钥。证明者和验证者有效合作以发挥在传统TLS设置中“客户端”的角色。

  2. 查询执行阶段:由于密钥被秘密共享,证明者通过验证者向服务器发送请求。

  3. 证明生成阶段:证明者决定他们希望在多大程度上向第三方展示他们的请求。DECO提供两种方法:

    • 选择性开放:一部分生成的数据被揭示或遮盖,使得证明者能够只披露必要的信息。

    • 零知识双阶段解析:证明者自信地解析会话的数据,然后在零知识下向验证者证明在某个特定子字符串上有约束条件。

总之,基于MPC的zkTLS模型利用安全多方计算的原则,增强TLS通信的安全性和隐私性。通过在多个参与方之间分散信任,并采用先进的加密技术,这些模型旨在在不泄露敏感数据的情况下提供强有力的真实性证明。

基于代理的zkTLS

zkTLS的代理模型是最简单的迭代,使用称为代理的中介促进证明者(浏览器)与服务器(网站)之间的通信。浏览器不直接向网站发送请求,而是通过HTTPS代理发送请求。网站通常通过这一代理响应浏览器。因此,代理观察到在浏览器与网站之间交换的所有加密请求和响应。

代理对加密请求和响应提供证明,同时附加信息指示每个数据项是否为请求或响应——基本上证明加密数据是由浏览器发送的还是网站发送的。然后浏览器创建零知识证明(zkProof)以证明对响应的解密。这一zkProof基本上等同于说,“我知道一个共享密钥可以解密这个加密数据,且这就是解密结果,但我不会告诉你共享密钥本身。”这是基于生成新密钥以将数据解密为除乱码以外任何内容的不可行性。因此,证明能够解密数据就足够了;实际对密钥的知识并不必要。揭示密钥本身会危害到之前发送的所有其他消息,包括用户名和密码等敏感信息。

例如,在向朋友证明某个响应来自某网站时,你可以说,“这是加密数据,这是代理提供的证明,以证明它是由网站发送的,这是我拥有的解密共享密钥的zkProof,此外这是解密结果。”如果你的朋友相信你贿赂代理以虚假证明某些加密数据来自网站而实际上来自你,那他们将信任此证明。这种方法在计算和网络资源上都是高效的,只要你愿意接受需要物理访问代理机器的极难被执行的攻击的风险。

在此方案中,代理观察到并存储通过证明者与服务器之间建立的通信通道中双向传输的加密数据。在TLS会话结束时,证明者向代理发送会话的证书链——代理依据这条链推断服务器身份——以及在会话期间使用的对称加密密钥,使其能够解密所沟通的数据。代理随后利用证书链证明服务器的身份,使用证明者的对称密钥解密TLS记录,并用自己的密钥对解密后的数据进行签名。经过代理签名的记录可以被传递到一个第三方协议,该协议因代理的签名确保数据的真实性和来源。

然而,这一方案引入了显著的信任假设。代理成为一种获得信任的固化方,其角色可能妨碍证明者数据的隐私,并因额外的计算负载而使网络性能受到瓶颈。恶意或被攻破的代理可能与证明者勾结以伪造数据。代理系统在计算上虽然更简单且速度更快,但由于难以保障计算的安全性,伴随有更高的安全风险。这意味着,尽管可以更快速地生成证明,但其完整性仍然值得怀疑。

在这一领域的显著努力包括Reclaim协议,其验证者被称为证明者

ZK-TLS生态系统

zkpassReclaim Protocolopacity networkzkme等应用利用ZK-TLS来增强隐私和安全性。zkpass使数据的安全、隐私保护验证成为可能,而Reclaim Protocol利用zkTLS进行数据验证。zkme则使用户得以控制和验证他们的数据而不被曝光,展示了zkTLS在去中心化系统中能够优先保障安全和隐私的能力。

zkPass

zkPass是一个私有预言机协议,允许私有互联网数据可在链上验证。zkPass建立在zkTLS之上,这一协议结合了3P-TLS和混合ZK技术,提供工具和应用以确保来自任何HTTPS网站的安全、可验证数据共享,同时无需OAuth API。

zkPass允许用户选择性证明各种数据类型,例如法律身份、财务记录、医疗信息、社交互动和认证。这些零知识证明计算在本地安全执行,确保敏感个人数据不被泄露或上传至第三方。它们可适用于AI、DePIN、DID、借贷及其他金融和非金融应用。在需求信任与隐私之处,zkPass能够成为一种解决方案。zkPass提出了一种新的传统数据验证和确认过程的范式,其中验证者位于证明者与数据源之间。证明者将验证者作为代理,利用其访问Token从数据源检索数据。随后,通过使用VOLEitH技术,生成的公开可验证证明在本地生成并发送到链上。这一过程确保验证者对证明者的个人信息毫不知情。zkPass引入3P-TLS、ZK和VOLEitH技术以实施新的数据验证和确认范式。

Zkme

随着Web3的不断发展,对于安全和私密身份管理方法的需求愈加紧迫。其中一个引人注目的例子是使用去中心化身份(DID)系统。传统集中身份系统将个人数据存储在单一服务器上,使其容易受到黑客攻击和未授权访问。正如之前提到的,零知识证明技术使用户能够验证其身份而无需披露敏感信息。虽然有多种方法涉及这项技术,但zkMe提供了一种独特的解决方案,确保Web3用户的隐私和安全。zkMe是一个基于凭证网络协议的实现,增强并提供Web3生态系统中的安全和私密身份识别。它利用零知识证明(ZKPs)使用户能够在不透露任何敏感信息的情况下验证其身份。

zkMe可以集成到各种web3应用中,如去中心化交易所、投票系统和去中心化社交网络,以向用户提供安全和私密身份。除了安全和隐私的好处外,zkMe还提供了一个通用登录系统的便利。用户可以使用其zkMe DID登录多个应用,而无需为每一个应用都创建新帐户。

为了确保用户的安全和隐私,zkMe采用了几种机制。最重要的一项是零知识证明技术,允许用户验证一个论断的有效性,而不透露超出必需信息以外的其他信息,如前述的细节。除了零知识证明技术,zkMe还采用多方计算(MPC),确保没有单一实体持有识别用户所需的全部信息。MPC涉及多个方共同合作计算结果,而无人知道其他方的输入。为了说明这个问题,可以举一个例子。如果Alice希望在区块链网络上使用zkMe创建一个去中心化身份(DID),她向zkMe提供个人信息,如姓名、出生日期和政府核发的身份证号码。

zkMe随后使用MPC将这一信息在节点网络中分配分配,从而确保没有单一实体持有Alice的所有信息。每个节点仅持有她信息的一部分,共同协作计算最终结果,即Alice的DID。这种方法确保没有单一实体可以访问Alice的全部信息,从而保护她的隐私,并降低数据泄露的风险。此外,zkMe的零知识证明技术使Alice可以在不透露任何可以识别身份的信息或敏感数据的情况下自行证明自己的身份,从而进一步提升她的安全性和隐私。

最后,zkMe利用去中心化基础设施进一步增强安全性和隐私性。zkMe的基础设施分布在节点网络中,而不依赖任何中央主管来管理用户数据,使其在面对攻击时更加稳健,并降低单点故障的风险。

Reclaim Protocol

Reclaim Protocol通过使HTTPS可验证,解锁无限可能性。要证明某事物确实如此是相当困难的,尤其是没有涉及零知识证据的情况下。例如,如果你想证明你银行账户里有超过一百万美元,你该如何做到?一种选择是你发送我一张屏幕截图。但是,我不能确定你是否已经篡改了该屏幕截图。另一种选择是你把用户名和密码发送给我,让我登录自己检查一下余额。这个选项假设你信任我不会把你的银行账户捞走。如何向互联网中一个不可信的陌生人发送某些信息?这就是Reclaim Protocol所解决的。

Reclaim Protocol为TLS会话数据交换生成zk证明。当你打开HTTPS网站时,浏览器与服务器进行一个称为TLS握手的仪式。这个握手涉及公共密钥和证书的传递。这些证书通过证书机构与域名相关联。

Reclaim协议是如何工作的?

要创建对声明的证明,用户首先必须登录到发送数据的目标网站。登录后,用户接着导航至所需特定网页。打开该网站的HTTPS请求和响应通过一个称为意愿者的HTTPS代理服务器路由。此意愿者只能看到加密数据,而不能了解明文。意愿者监控用户与网站之间传输的加密数据包。用户与意愿者共享一部分密钥,让意愿者验证用户确实拥有凭证(通过解密流量),随后意愿者生成一个签名,证明这一事实。意愿者的签名就是证明,可以分享到任何第三方。

为确保通过网页共享的某些数据的准确性并保证隐私,Reclaim协议引入了HTTP代理来见证握手和数据传输。你打开的任何网页都会经过一个随机选择的HTTP代理见证。HTTP代理是在互联网上的常见基础设施。HTTP代理见证检查(1)握手是否与正确的域名完成,(2)请求中打开的网页是否正确,以及(3)是否收到了加密响应。该HTTP代理见证只能看到加密响应,而无法查看响应的内容。然后,将这一加密响应输入到完全在客户端侧运行的zk电路中。AES/ChaCha20解密在zk电路内发生,并在解密后的HTML页面上进行搜索。

Opacity Network

Opacity Network是一个前沿的数据验证平台,利用区块链技术来安全和验证数据交易,同时保持用户隐私。通过利用零知识证明,Opacity Network使用户能够共享和验证信息而无需泄露敏感细节。在Opacity Network核心功能的方法是利用零知识证明,这允许用户证明其数据的有效性而不披露数据本身。这种方法在关注数据隐私的数字环境中尤为重要。通过确保敏感信息保持机密,Opacity Network为在各种平台上验证数据真实性提供一种可靠解决方案。

Opacity Network在EigenLayer平台上集成了主网AVS,增强了其数据验证能力。这一集成使用安全的多方计算(MPC)网络,允许用户在现有Web2平台上生成数据证明。这一进步不仅提升了可用性,还增强了用户的数据主权,使用户在与特定应用互动的过程中可以控制个人数据。

Clique

Clique在建立dApps和消费应用方面开创出一种新范式,其TEE协处理器充当了一个离线的AWS Lambda系统。它为链上应用提供机密性和可验证性,同时因为高度灵活、成本低廉而且安全。

协处理器架构建立在支持自定义字节码执行网络的TEE节点上(目前EVM和WASM,后续会添加更多)。它还提供SDK,使客户能够在TEEs中构建自定义执行器,向协处理器网络发送智能合约调用,并对链上的认证和信任签名进行验证。带有封闭区的编排节点创建计算图、分配任务、聚合证明。我们目前专注于Intel SGX,计划很快支持AMD SEV-SNP、Intel TDX和NVIDIA H100,以增强信任假设和效率。

这项技术生态系统通过利用TEEs进行数据整合和机密性,支持安全、高效且可验证的离线计算,并利用HSM保护验证者的密钥。它支持外部数据的TLS调用,可验证的AI输出以及用户的数据认证以获得激励机制。该系统方便任意计算,提供具有数据隐私的HTTPS节点及用例如MEV策略、自动化机器人和去中心化应用(如忠诚计划、游戏、DeFi)。同时确保不受信方之间的协调,以及保护区块链组件如钱包、桥接和预言机的安全。

Primus

Primus正在构建一种隐私保护的数据基础设施,通过结合zkTLS和zkFHE来跨越Web2和Web3,同时验证可验证的AI。目标是使链外数据在不暴露敏感信息或依赖中心化看门人的情况下,对链上仍具备实用性。

Primus的核心创新在于其混合加密堆栈,利用:
  • zkTLS:通过嵌入零知识证明(ZKPs)扩展TLS,确保数据完整性和真实性,同时保持端到端加密。

    • 允许对链外数据的选择性披露。- 使用 QuickSilver,这是一个高性能的 ZKP 系统,使得 zkTLS 比 DECO 等替代方案快 10 倍。

    • 适用于链上信用评分、身份验证和人工智能驱动的分析。

  • zkFHE(零知识全同态加密):使得在不解密的情况下对加密数据进行计算。

    • 与现有 zkFHE 模型相比,证明时间快 340 倍。

    • 支持隐私保护的人工智能、联合学习和去中心化金融建模。

    • 允许无信任的 AI 代理在 Web3 生态系统中处理加密数据集。

工作原理
  1. 数据验证:zkTLS 允许用户在链上证明真实世界的事实(例如,财务历史、社交凭证),而无需暴露私密细节。

  2. 安全的 AI 处理:zkFHE 使得 AI 模型可以在加密数据上进行计算,解锁机密分析和用于去中心化生态系统的自治 AI 代理。

  3. Web2-Web3 互操作性:Primus 连接链下数据与链上协议,使得针对金融、身份和 AI 驱动应用程序的隐私保护集成成为可能。

在 zkTLS 中常用的两个主要模型是 MPC 模型和代理模型。每个模型在安全性和性能上都有其权衡。Primus 通过提供统一的 API 来解决这些差异,允许开发人员根据应用程序的特定要求选择最合适的模型。

zkTLS 生态系统地图

zkTLS 正在塑造下一代可验证的隐私保护 TLS 验证,允许用户在不暴露底层细节的情况下证明关于其数据的声明。早期关于 TLS oracle 的研究解决了在不修改 Web2 服务器的情况下安全验证 TLS 数据的挑战。TLSNotary (TLSN) 和去中心化 oracle (DECO) 首创了 TLS 1.2 会话的密码学证明,而后来的方法,如 DIDO 和 DiStefano,将这些方法扩展到 TLS 1.3。它们的模型依赖于安全的多方计算 (2PC) 来确保数据真实性,同时防止篡改。Crunch 采取了不同的方法,通过将计算开销从 MPC 移至 zk-Risc0 证明,减少了成本并使 TLS oracle 更具可扩展性。这些协议为无缝的 Web2 到 Web3 互操作性奠定了基础,使得链下数据可以安全地在链上使用。

除了直接的 TLS 验证,zkTLS 项目正在与验证注册中心和密码学中间件集成,以增强数据可移植性。Verax、EAS、BAS 和 Sign Protocol 允许 TLS 验证在多个区块链之间存储、桥接和使用。Primus 通过将 zkTLS 与 zkFHE 结合在一起,推动隐私保护的 AI 模型能够在加密数据上进行计算。其他项目如 zkMe 正在将 zkTLS 应用于去中心化身份(DID)和身份验证,而 zkon.xyz 探索 Web3 原生集成。这些努力推动了受信任的 Web2-Web3 交互的边界,为将链下数据整合到去中心化应用程序中创造了更高效、更具可扩展性和更注重隐私的解决方案。

zkTLS 的一般应用

到目前为止,我们关注的是 如何 高效地导出数据和生成网络证明;现在是 为什么 的问题。为什么会有人想要这样?为什么要冒着法律巨人的愤怒,追求对用户体验的微小改善?难道没有更好的方法?

简单来说,如果数据是下一个石油,那么你可能应该掌控自己的数据,也许其他人也是如此。允许用户聚合数据并掌控数据并不是前所未有的;爬虫一直为传统银行提供这种目的,聚合器为加密市场提供这种目的,而账户抽象模型最终将为加密用户和身份服务。

通过 zkTLS 方案生成的网络证明让用户能够聚合他们的数据并掌控数据,并最终根据自己的意愿使用这些数据。

未来可能会有更好的方式实现这一点,但我们不应该让完美成为更好的敌人。zkTLS 实现了更 无需许可 的用户自主控制,因此它是在短期到中期未来中更好的用户赋能选择。

已经有性能优越的应用实例由 zkTLS 驱动,如 Teleport、zkP2PzkPasszkTix 和众多 zkKYC 平台。随着时间的推移,去中心化金融应用无疑会越来越多地使用该技术,特别是在未足额抵押贷款逐渐被接受的情况下。

总结

zkTLS 的出现有可能通过解决当前数据共享和验证系统中的重大缺陷,彻底革新数字通信。传统的 TLS 确保安全的数据传输,但在提供独立验证或促进数据可移植性方面却有所不足。zkTLS 通过引入零知识证明,克服了这些限制,允许用户在不披露敏感细节的情况下证明数据的真实性。

这种独特的能力使用户能够无缝地导出和共享他们的数据,促进更大的自主权和隐私。通过其代理、TEE 和 MPC 实现表现出的灵活性,为跨环境数据利用开启了新的可能性——从验证马拉松参赛到激励跨竞争平台的客户忠诚。通过实现无信任验证和隐私中心的数据共享,zkTLS 支持一个更加开放并符合个人权利和需求的互联网的未来,为一个更加互联和用户赋权的数字世界铺平了道路。


资源

  1. Hindi, R. [@randhindi]. (2024, March 29). [Tweet]. X. https://x.com/randhindi/status/1836329769597600232

  2. Elitzer, D. [@delitzer]. (2024, March 21). [Tweet]. X. https://x.com/delitzer/status/1828833053000839578

  3. Artichmaro [@artichmaro]. (2024, March 29). [Tweet]. X. https://x.com/artichmaro/status/1836311271769079979

  4. Weidai [@_weidai]. (2024, March 21). [Tweet]. X. https://x.com/_weidai/status/1829194060554522915

  5. Matetic, S., Schneider, M., Miller, A., Juels, A., & Capkun, S. (2018). DelegaTEE: Brokered delegation using trusted execution environments. In Proceedings of the 27th USENIX Security Symposium (pp. 1387–1403). USENIX Association. https://www.usenix.org/conference/usenixsecurity18/presentation/matetic

  6. zkMe. (n.d.). Solution overview. Retrieved December 3, 2024, from https://docs.zk.me/zkme-dochub/getting-started/solution-overview

  7. zkPass. (n.d.). zkPass documentation. Retrieved December 3, 2024, from https://zkpass.gitbook.io/zkpass

  8. Chainlink Labs. (n.d.). Chainlink documentation. Retrieved December 3, 2024, from https://docs.chain.link/

  9. Reclaim Protocol. (n.d.). Reclaim Protocol SDKs. Retrieved December 3, 2024, from https://docs.reclaimprotocol.org/


不是财务或税务建议。 本帖的目的纯粹是教育性的,不应被视为投资建议、法律建议、买卖任何资产的请求或做出任何财务决策的建议。它不是税务建议的替代品。请咨询你的会计师,并进行独立研究。

  • 原文链接: shoal.gg/p/zktls-verifia...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Shoal Research
Shoal Research
https://www.shoal.gg/