首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

修复 Web3 中的社交登录:zkWaaS(零知识证明钱包即服务)

dApp中提供社交登录功能(自动给终端用户创建内置钱包)在Web3领域经历了对立(不被接受),尝试使用,部分使用的过程,现在已经逐渐进入到标准化配置的阶段(从Defi, RWA到Web3游戏,各个赛道都能看到主打社交登录功能的WaaS类产品的应用)。

背后反映了行业产品的迭代思路逐步从原教旨主义的加密朋克思维转向了需求为导向的产品经理思维。

Particle Network作为核心产品之一是Modular Smart WaaS的基础设施公司也是这个过程的最大受益方之一。

但是我们作为WaaS行业的中心从业者也更容易观察到在应用传统WaaS产品的过程中,三方(dApp, WaaS, 终端用户)对用户隐私和数据保护存在一定程度上的妥协。

主要体现在两个部分:

终端用户透过社交登录方式创建一个非托管的dApp内置钱包过程中,需要提供社交登录的数据给WaaS提供方,WaaS提供方需要同步部分社交登录信息给dApp开发者;

即使终端用户在dApp内使用社交登录方式创建一个新的链上钱包,只做小额的链上交易,但是依然能够通过链上数据分析关联到主钱包数据。

带来的可能问题是:终端用户的社交身份和链上数据的映射关系会被完整的解析出来:

如果我们按照传统移动互联网的思路来看这个事情,WaaS提供方是又一次受益者,因为这里面唯一拥有完整的用户链上链下用户资产和数据的映射关系的是WaaS服务提供商。

经过12个月的发展,Particle Network的Modular Smart WaaS已成为行业内终端用户量和dApp合作数量最多的产品。

现在面临一个抉择: 是选择重走Web2的老路,以高效便捷的方式将下一个十亿用户引入到Web3,但这个过程中终端用户的信息和数据将被部分第三方掌握,形成所谓的数据壁垒。还是: 坚守Web3的基石,重塑终端用户对资产和数据的自主权,以Web3的方式引入下一个十亿用户到Web3。

我们选择后者。

因此我们今天发布Zero-Knowledge Wallet-as-a-Service (零知识证明钱包即服务),包含隐私登录以及隐私交易两部分功能。

通过对零知识证明技术的引入,我们能够使得终端用户使用社交登录方式创建、登录dApp的内置非托管钱包的过程中不再暴露社交信息给任何第三方。并且通过对智能隐身地址的引入,链上的单次交易记录将无法与终端用户持有的其余钱包地址做关联。

接下来的文章中我的同事Vijaykumar SinghPeter Pan将会详细介绍我们在zkWaaS的产品设计。

通过零知识技术解决易用性和隐私平衡

尽管(在正确执行时)WaaS工具可以完全自我托管,意味着用户的资产始终安全。但是它们在账户生成和链上交易过程中会暴露部分个人身份信息给第三方也是事实。如果管理和应用失误,这些信息很容易被推断出来,可以了解任何特定用户拥有的其他钱包、CEX账户或资产,从而牺牲了终端用户相当大的数据自主权。

当然区块链隐私领域本身也存在挑战。区块链的可验证性和可靠性至少部分归功于其透明性,因为任何人都可以随时验证链上信息。创建默认为私密、高效、可扩展且可验证可靠的智能合约区块链几乎是不可能的任务。少数旨在做到这一点的解决方案在推动采用方面遇到了困难,因为它们也往往与现有生态系统基本不兼容,进一步破碎了流动性和互操作性。

在这些限制之中,零知识(ZK)技术应运而生,提供了一种行业亟需的解决方案,可以与现有生态系统完全兼容并集成。简而言之,ZK技术通过使一个实体(证明者)在不透露底层或相关信息的情况下向另一个实体(验证者)证明其对某个事实(例如身份、持有物等)的了解。例如,通过发送以太坊交易,发送方间接地向接收方透露了他们的全部持有、交易历史和有时身份等信息。ZK技术被用于可扩展性解决方案,例如zkEVM,以提高区块链吞吐量,部分隐私专注的项目(如ZCash)也使用它来混淆用户的余额和交易历史。

在WaaS中引入零知识技术,意味着用户可以将他们的社交身份生成一个链上非托管钱包,但没有任何观察者会获悉这个关联信息,更不用说知道哪个钱包属于谁。零知识技术还提供了其他好处,例如:符合监管要求。零知识技术提供的隐私保护,以及其自愿披露计划和排除性隐私集合,是一种监管友好的隐私保护方案。

因此,在WaaS中引入零知识证明可以解决两个持续存在的问题:

让我们现在来看看zkWaaS是如何实现这一点的,以及它的影响和后果。

简单总结Particle Network的zkWaaS的好处

P

article Network的zkWaaS实现了两个目标:

保护用户的身份,使得在创建钱包的过程中他们的个人信息永远不会被暴露,链上地址也无法与其所有者关联,用于隐私登录;

与Particle Network的其他组件(如Omnichain Account Abstraction)协同工作,用于隐私交易。

除了隐私交易和用户身份只为用户本人所知这些明显的好处之外,还有一些其他的zkWaaS的衍生优势:

对于开发者和项目来说,拥有一个可靠的基础系统,不需要去处理用户数据,可以节省很多麻烦。像欧洲GDPR这样的法规在用户数据管理和隐私方面取得了相当大的进展。虽然这些法规在很大程度上是好的,但遵守这些法规可能需要时间和精力,从而为项目带来成本。通过完全避免处理用户数据,开发者可以节省大量的时间和精力。

对于终端用户来说,能够进行不被观察的交易意味着他们的策略无法泄露、复制、套利或直接复制。

同样,终端用户可以放心,他们的数据不会被善意或恶意的服务运营商出售、盗取、泄露或以其他方式处理。

虽然上述列表并不详尽(隐私有很多好处!),但现在我们应该已经很明确,隐私对WaaS框架的所有参与者都是一种绝对的改进。现在让我们深入探讨zkWaaS的内部工作原理。

Particle Network的zkWaaS是如何工作的

整体设计引入了不同的组件,这些组件共同构成了 zkWaaS。对于隐私登录,系统使用 JWT(JSON Web Tokens)作为零知识电路中的私有见证人,以验证提供商的数字签名和用户信息。Particle Network 的系统还使用 Particle Chain,这是一个由网络的原生 Unified Gas Token 驱动的专有 zkEVM,用于生成 ZK-证明。这还包括私密的 Paymasters,它们代表用户支付交易费用以保护他们的隐私。

尽管有关键差异,整体设计从 Sui 的 zkLogin 中获得灵感。

现在,让我们更深入地了解 zkWaaS 如何实现其两个目标。

目标 #1:身份隐私

为了在保护用户隐私的同时引入用户,zkWaaS 使用了一个系统,用户首先在进行验证过程的同时生成一个临时密钥对。然后,他们使用经过验证的凭证通过 Particle Chain 生成一个 ZK-证明,并将其提交给验证器以完成该过程。

下面是这个过程的图解:

Particle Network’s zkWaaS user flow.

进一步阐述,隐私登录的工作原理如下:

A) 设置

为了创建 zkLogin 电路的共同参考字符串(CRS),Particle Network使用 Groth16 - 但未来可能会考虑使用 zkSTARK。可信设置会为 OAuth 提供商生成一个证明密钥和一个验证密钥。Particle Network 目前也在努力实现一个非可信设置。

B) 签名

临时密钥生成:当用户访问他们的钱包时,会生成一个临时的 KeyPair。用户接着选择一个最大周期,这决定了密钥对的过期日期。 应用程序提示用户通过使用自定义 nonce 进行 OAuth 提供商登录认证,该 nonce 是使用随机性、临时密钥和最大周期(由用户决定,决定了临时密钥何时过期并需要重新生成)构造的。 这个过程返回一个包含头部和有效载荷的 JWT。 JWT 被发送到一个盐服务,该服务在验证 JWT 后返回一个独特的盐 - 一个随机数字字符串。 JWT、盐和临时公钥被发送到 Particle Chain,它使用它们生成完整声明的 ZK-证明,并将其发送到链上验证器。 声明指出:

i) Nonce 正确形成,并包括公钥。

ii) 密钥声明与 JWT 一致。

iii) Particle 地址与密钥声明和盐一致。

iv) OAuth 提供商的签名是正确的。

连同 zk-证明,地址种子、声明和头部被发送到 dApp。

注意,电路为用户生成一个 zk-地址。用户创建一个交易并签名以获得一个临时签名。他们还发送其他信息,包括临时公钥、签名、证明、地址种子、声明和头部。

C) 验证

有两种可能的验证方式:

在 Particle Chain 上的智能合约验证。

由 Particle Chain 的验证者进行的去中心化验证,验证者通过 Particle Network 的代币获得系统奖励。

验证过程:

验证实体接收用户的信息。然后进行以下检查:

验证交易的发送者:确保交易的发送者来自地址种子,并且与公开的声明相匹配。

将签名用户与用户的公钥进行对比验证。

验证 ZK-证明。

检索公钥,并检查它是否与 ZK 证明中使用的公钥相同。

D) 存储

一旦用户通过认证,一个映射就会被存储在链上,用于自动登录,直到用户选择的周期到期。

目标 #2: 隐私交易

Particle Network 利用 ERC-4337 账户抽象(AA)在交易时保护用户的隐私。该系统使用一个保密的 Paymaster 代表用户发送交易,从而打破公开的链上联系。Particle Network 还使用了隐形智能账户机制来保持接收方的隐私。此外,Particle Network还实现了 Guardian 账户和自我控制的社交恢复功能。

Particle Network的zkWaaS中的隐私交易系统如下图所示:

Particle Network's system for private transactions (click image to expand or open in a new tab).

该过程可描述如下:

动态隐形地址计算: 在交易开始时,发送方 Alice 动态地利用接收方 Bob 的元隐形数据计算出 Bob 的隐形地址。这一计算是确保后续交易的隐私和安全的关键步骤。

智能隐形地址计算: 在动态计算出的隐形地址的基础上,Alice 进一步计算所谓的隐形智能账户。这个专门的地址作为资产转移的目的地,为交易引入了额外的隐私和复杂性层。

安全隐形地址检索: 在接收端,Bob 系统地扫描传入的交易数据中的他的隐形地址。一旦定位,Bob 生成一个支出密钥,使他能够安全地访问和管理收到的资产。

保密的燃气费用存款: 为了促进交易并支付相关的燃气费用,Bob 使用任何地址向保密 Paymaster 存入所需的燃气费。这种保密存款确保了交易的完整性和隐私。

灵活的交易签名: 拥有了支出密钥,Bob 现在可以为与隐形智能账户相关的 UserOperation 签署一个签名,以方便他。签名的时间灵活性增加了额外的安全层,允许 Bob 策略性地执行签名过程。

向保密 Paymaster 提交证明: 在签署 UserOperation 之后,Bob 向保密 Paymaster 提交生成的证明。这个证明作为确认,使 Paymaster 能够赞助交易所需的燃气费。这最后一步确保交易顺利进行,同时保持最高的隐私标准。

本质上,这一复杂多面的过程不仅保护了个别交易的隐私,而且为安全和保密的智能合约交互建立了坚实的基础。Particle Network 通过无缝整合 ERC-4337 AA、隐形地址和保密 Paymaster,展示了其对交易隐私的承诺。

写在最后

在过去,我们广泛撰写了关于去中心化应用需要与 Web2 替代品竞争的必要性。这只有通过利用 Web3 的独特优势——如自我所有权、自我托管、近乎即时结算等——同时保留极佳的用户体验才成为可能。然而,重要的是要同时认识到,完全透明也会创造 Web2 解决方案通常不会面临的问题。

通过实现隐私登录和隐私交易,zkWaaS 为透明度带来的隐私问题提供了一个直接的解决方案,同时进一步赋予用户成为其数据唯一控制者和所有者的能力。开发者可以利用这一强大工具为最终用户创建更具吸引力的产品,无论后者是对积极保护他们的隐私感兴趣,还是仅仅因为没有信息泄露或恶意观察者可以利用他们的数据而感到安心。

再次指出,通过将 zkWaaS 与Particle Network其他关键基础设施组件结合起来,Particle Network 旨在改善开发流程,促进高度先进的去中心化应用的创建,同时提供出色的用户体验。

Particle Network的三大支柱产品(和Modular Smart WaaS、零知识证明带来的隐私登录和隐私交易、以意图为中心的Intent Fusion Protocol)和Particle Network的产品基石:全链账户抽象之间的互动为开发者开辟了创造全新产品和服务的可能性,最终推动 Web3行业加速成为大众友好的消费行业。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/Ox9gE-3vzx_k7i2Vsysy3S-Q0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券