PEPE0.00 -2.19%
SUI4.23 -3.75%
TON5.79 -1.38%
TRX0.26 1.02%
DOGE0.32 -3.24%
XRP2.18 -3.40%
SOL190.08 -2.74%
BNB689.40 -2.24%
ETH3378.97 -1.76%
BTC96323.62 -2.10%
PEPE0.00 -2.19%
SUI4.23 -3.75%
TON5.79 -1.38%
TRX0.26 1.02%
DOGE0.32 -3.24%
XRP2.18 -3.40%
SOL190.08 -2.74%
BNB689.40 -2.24%
ETH3378.97 -1.76%
BTC96323.62 -2.10%
ETH Gas3.46 Gwei
贪婪 79
撰写:Carlos Maximiliano Cano,Ethan Francis
编译:深潮 TechFlow
随着 Web3 生态系统加倍努力开发面向大众的产品,对于友好、有吸引力的应用和用户体验的需求日益迫切。在这种背景下,钱包即服务(Wallet-as-a-Service,简称 WaaS)工具应运而生,以解决双方的关键问题:对开发者而言,它通过可定制的工具简化了 dApp 的开发,让他们能够嵌入高度优化的应用内 Web3 钱包,以适应产品的特定需求。这些钱包可以与其他工具(如社交和 Web2 登录功能)集成,以使 Web3 的交互对用户更顺畅,减少设置钱包、交易、签名、互操作性和复杂接口的摩擦。
如果你是开发者,WaaS 工具可以让你的生活更轻松。然而,选择一个提供商仍然可能困难,因为这涉及许多因素。本指南将探讨在挑选 WaaS 服务时需要考虑的因素,帮助你做出明智的决定。
WaaS 工具通过社交登录和嵌入式钱包,使使用 dApp 和创建与之关联的钱包的过程变得非常实用,特别是对于移动产品。但是,这需要与 Web3 的用户自治和去中心化等核心理念保持一致。是否维护这些价值观将导致托管或非托管钱包,以及不同的用户签名流程,进而推动用户远离或接近 Web3。
一个特定的 WaaS 服务是否可以视为托管还是非托管,最终取决于其处理用户私钥的方式。私钥管理有不同的机制,各有不同的安全性、可靠性/效率和托管风险的权衡。作为开发者,你的目标应该是了解这些机制,以便在适应特定需求的同时,最好地保护用户的数据和资产。
我们来看看市场上可用的主要方法——KMS、MPC-SSS、MPC-TSS 以及 KMS 与 MPC-TSS 的组合,包括它们的特点。请注意,尽管我们旨在全面介绍每种方法,但不同的提供商有不同的实现方式。因此,您应该将本信息作为形成自己对单个提供商意见的起点。
KMS 是存储和管理加密密钥的解决方案。它是一个加密的私钥被存储(通常完整存储)的环境。KMS 机制使用强大的加密标准和受控访问机制来保持安全性。它们的实现带来了直接的操作方式,但需要权衡。
在查看只使用 KMS 的系统时,请注意:
托管风险:如果 KMS 配置为托管,用户可能无法完全控制密钥,这在去中心化环境中存在重大风险。比如 Magic 等解决方案使用 KMS,尽管声称是非托管的,但重要的是要记住,通过 AWS 等服务存储密钥意味着它们最终仍控制着密钥。技术上,这给了提供商通过改变密钥策略来解密密钥的能力。
中心化风险:依赖 KMS 提供商可能导致单点故障,如果提供商停止工作将造成问题。使用依赖 KMS 的解决方案还需要高度信任,因为提供商与 KMS 提供商的业务关系意味着前者仍保留对密钥的访问权限。还需注意,提供商可能出于各种原因终止对某服务的支持,给最终用户带来问题。
MPC-SSS 结合了分布式计算和密钥分片的优势。它允许多个方联合计算函数,在它们之间分配密钥。这增强了安全性,执行操作需要达到密钥份额阈值,而不会向任何单方暴露原始密钥。
重要的是,MPC-SSS 在客户端恢复私钥,在生成和使用中构建私钥,这是一个狭窄的单点故障。这可能导致用户的私钥在其不知情的情况下被他人获得,产生被伪装的去中心化解决方案的托管风险。
使用 MPC-SSS 的热门服务之一是 Privy,它嵌入由硬件保护、自托管、通过隔离的 iframe 管理的钱包。Privy 仅在内存中存储私钥,最大限度地减少了暴露。这意味着私钥永远不会暴露给 Privy 或集成的应用,使该解决方案完全非托管(尽管这些密钥在使用和创建中仍会重建)。
Web3Auth V1 也使用 MPC-SSS,尽管对某些产品(如核心 SDK)也使用 MPC-TSS。它们的 MPC-SSS 实现通常被称为“浅层 MPC”,用于即插即用的 SDK 中。
MPC-SSS 系统可以与 KMS 系统组合。
将 KMS 与 MPC-SSS 结合,旨在在用户控制与管理便利性之间取得平衡。尽管该系统不一定影响服务的托管程度,但可以提供更高的安全性,可能以效率为代价。
对于混合解决方案,开发者需要评估独立系统交互的潜在复杂性,通过测量密钥检索和计算时间来评估延迟。Venly 等热门解决方案使用 MPC-SSS 将密码分片以访问存储用户私钥的 KMS 服务。
KMS + MPC-SSS 解决方案保留了纯 KMS 解决方案的风险,因为该解决方案本质上没有解决上述 KMS 中心化问题。 MPC-SSS 的问题同样存在,开发者应该注意。
MPC-TSS 使多方能够协作签署交易或计算函数,在它们之间分配责任。这提高了安全性,确保没有单方完全控制密钥。在 WaaS 使用案例中,这也确保没有第三方能够花费用户的资产,在正确实施的情况下提供最高安全性,同时避免混合方法的复杂性或托管。这也使大多数 MPC-TSS 实现在保持效率的同时实现非托管。
对于 MPC-TSS,开发者应测试总体延迟。 了解特定实现的阈值设置和安全模型非常重要,以确保符合项目需求。
Particle Network 提供高级 TSS 方法,确保私钥的安全性不会集中在单一实体。该方法将密钥拆分为两份,分开存储,确保每份都无法显示完整密钥的任何信息。用户本地存储一份,Particle 可信执行环境存储另一份。所有加密操作在不组合这些份额的情况下执行,以维护密钥的完整性。
Particle 还提供了用户创建主密码的可能性,用于加密本地密钥分片,然后可以安全地存储它。这允许用户在不同设备上完全安全地恢复钱包。该系统的健壮性还通过持续的密钥份额刷新机制得以增强,使攻击几乎不可能。
请注意,上述所有内容的互操作性和延迟都有所不同。因此,重要的是查看预期的解决方案至少涵盖您最感兴趣的区块链网络,并且可以找到有关潜在延迟的可靠信息。我们还创建了下图,演示每个方法的优势和劣势:
使用 WaaS 服务的开发者通常采用两种不同的方法:
- 快速启动:这类开发者旨在尽快深入代码库,优先快速理解、迅速采取行动和可用的工具,并在学习中前进。
- 全面理解:另一方面,一些开发者喜欢在编写代码前彻底检查文档,寻求对系统架构、功能和局限性的全面理解。
如果您属于第一类,在开发过程中找到两种方法的平衡可以简化开发过程。黄金标准可以衡量为使用软件开发工具包(SDK)开始使用只需 10 分钟,并具有足够的信息来了解前方的路。除了阅读本指南外,与相关 WaaS 场景配对的一些其他要点可以是:
- 调试信息:您是否拥有在需要时进行调试所需的所有信息? 比如在交易失败的场景中,WaaS SDK 是否提供详细的错误日志以识别问题?
- 有用和全面的指南:文档中是否包含简单、实用的指南? 是否提供了集成 WaaS SDK 的分步指南,涵盖各种区块链网络?
- 获取答案的可访问性:您在工作中可能遇到的问题是否有可查询的答案(带示例)? 是否有常见问题解答部分或社区论坛,其中其他用户的问题已由团队成员公开且及时解答? 常见问题解答部分是否当前且维护良好?
- 互动和可导航文档:文档是否足够互动/易于导航?它们是否吸引人并且信息丰富?文档中是否有交互式代码片段,允许您了解代码的实际操作,或者沙盒环境进行实时测试?
- 吸引人的内容和信息丰富度:这些文档是否可以指导您完成整个过程?是否包括快速入门指南?指南是否吸引人,具有视觉辅助(如解释交易流程的图表)以及复杂集成的视频教程?
- 全面指导:文档是否包括设置钱包的入门指南,并指导更高级的功能,如管理多个钱包或与各种区块链网络交互?
- 快速入门指南:是否有快速入门指南可以帮助您在短时间内设置钱包、发送和接收交易?
形成坚实的理解基础并评估未来可用的工具对于避免未来的麻烦至关重要。通过快速检查上述要点,您可以确保获得相关知识,同时按照您希望的速度推进。
在评估钱包即服务(WaaS)平台的优势时,上游和下游的功能集成丰富度是一个重要因素。这指出平台提供强大、通用和以用户为中心的服务的能力。 了解这些集成是原生的还是需要额外的第三方服务也很重要。 这些都可以显著增强用户体验,并使用户更轻松地在 fiat 和加密生态系统之间过渡。
以下是功能集成丰富性大放异彩的一些关键领域:
无论是否通过专用模块实现,与 AA 的原生兼容性对于通过直接的 SDK 和合作伙伴关系至关重要。 集成 AA 表示平台适应各种用例并确保顺畅用户体验的能力。 集成的多样性和深度至关重要,因为这可以确保开发者拥有创建直观和用户友好型 dApp 所需的工具和支持。
对于开发者来说,原生实现 AA 的 WaaS 可以更好地使用 AA 栈的不同组件,而不必手动配置第三方组件,从而简化体验和提高实施效率。
Particle Network 提供垂直集成的解决方案,自主开发了 WaaS 和 AA 栈,并将 AA 直接集成到其 WaaS 产品中。Particle 还支持使用 Biconomy 的 AA 栈,同时与其他提供商保持交叉兼容性。 通过支持 AA,WaaS 提供商可以通过可编程性将刚性的钱包交互体验转变为更灵活的体验,从而使最终用户体验更顺畅。
在 WaaS 方面,一些理想的 AA 工具和组件可以让您的 dApp 更加用户友好,例如:
1. 智能合约钱包:AA 可以启用可编程智能合约作为非托管钱包,实现高级的自动化功能。这可以带来更灵活和以用户为中心的数字资产管理方式。
2. 会话密钥:这简化了不需要签名的交易流程,增强了用户体验。这一功能还允许预先批准交易,使系统更加用户友好。
3. 支付主管:AA 的突出用例之一是 dApp 能够赞助用户的 Gas 费,这由支付主管启用。这对托管在 L2 中的解决方案特别有意义,通常对用户来说成本很低。支付主管可以让您的 dApp 接受任何原生(非桥接)代币的 Gas 费付款。
4. 批量处理器:批量处理器可以聚合用户操作以进行有效的区块链交互,可能导致交易费用降低和更快的交易确认。这可以为最终用户带来更好的成本效益,为开发者带来更好的性能。
5. 社交恢复:AA 可以启用社交恢复功能,允许用户在代替助记词的情况下,在白名单帐户的帮助下恢复钱包,这可能会提高安全性和用户体验。
Particle 还开发了自己的批量处理器和支付主管,项目可以集成这些来简化与区块链的交互。 Particle 还致力于实现跨链账户抽象,旨在在不同链上部署的 AA 解决方案之间创建一个统一的框架。
各种关于法币进出的集成在 WaaS 平台中也很有吸引力。使用法币通道特别有吸引力,因为这意味着用户可以直接充值 USDC/USDT,无需购买原生加密代币或依赖中心化交易所,从而实现从 Web2 到 Web3 的平稳过渡。
调查这些集成是否原生或需要额外的第三方服务非常重要。这些都可以显著增强用户体验,并让用户更容易在法币和加密生态系统之间转换。
促进跨链桥体现了一个 WaaS 平台的通用性。评估用于实现跨链互动的基础服务(Particle 使用 li.fi)和集成非常重要。 强大的跨链桥接功能可以打开更多功能的大门,并在区块链生态系统向多链、可扩展路线图发展的过程中减少摩擦,简化现在和未来用户和开发者的体验。
一些钱包可能会在其钱包 UI 中集成支持交易的功能。无论是通过原生功能还是通过合作伙伴关系和集成,交易所都是最基本的 Web3 功能之一。调查所支持的交易类型、基础服务(Particle 使用 1inch)、执行难易程度和用户体验非常重要。
确保调查 WaaS 平台用于与 Web3 交互或影响用户体验的其他 API 端点。您还可以了解这些端点提供的定制级别。例如,它们可以提供合同锁定、检索日志、代币管理、分析、管理某些 DeFi 互动、与各种市场的互动等的访问权限。
支持多条区块链网络是健壮 WaaS 平台的标志。它标志着平台的适应性和对扩展生态系统的准备。开发者应该检查所支持的链的数量、在这些链之间转换的便利性以及为每个链提供的支持级别。
模块化栈类似于一个工具箱,每个工具设计用于特定任务。模块化系统赋能开发者选择和实现他们需要的模块,将解决方案定制化以适应其独特要求。其对立面是单体系统,在一个不可分割的单元中捆绑工具,集成可能更容易但灵活性很小甚至没有。
设计良好的模块化方法可以带来灵活性和可扩展性,允许开发者根据需要轻松替换或更新单个模块,而不会影响系统的其他部分。模块化的黄金标准应该是一种平衡系统——易于集成且允许最大的灵活性。开发者应该寻找独立模块来满足其预期用例,而这些模块应该以支持这种灵活性的方式设计。 模块支持的一些用例示例可以是:
- 认证:模块化系统可能提供各种认证模块,如多因素认证、生物认证或社交登录。这与项目将用户信息链接到其钱包的能力息息相关。
- 交叉兼容性:接入不同网络或在网络之间切换越容易,该服务就越灵活和对开发者友好。Web3 钱包服务还可以支持跨链和互操作模块。
- 账户抽象:如上所述,实现 AA 很重要。模块化 WaaS 平台可能提供一个可以轻松集成的账户抽象模块,将 AA 与主产品分离并使其可选实现。AA 模块本身也可以是模块化的,在一个栈中支持不同的功能。Particle Network 的 WaaS 支持模块化的 AA 栈,允许开发者选择 Particle Network 自己开发的 AA 栈,包括批量处理程序、智能账户等。开发者还可以选择开发自己的 AA 栈或集成来自 Biconomy、ZeroDev、StackUp 等其他提供商的 SDK。Particle Network 模块化 AA WaaS 的设计示意图如下:
- 产品定制化:通过自定义 UI 模块,开发者可以通过集成品牌的色彩方案、标识和其他图形元素来确保品牌一致性。但是,这不一定仅限于设计组件,也可以影响功能产品方面,如交易限额、自定义交易费用或特殊审批工作流程。
- 与其他服务的互操作性:模块化的 WaaS 平台可以具有促进与其他第三方服务或平台轻松集成的模块。例如,它可以实现与交易所和跨链平台的互动,甚至允许您自定义自己的集成。
在集成服务时,重要的是要了解不同提供商在不同领域的表现可能有所不同。两个关键领域是生成钱包的时间(从用户点击“连接”到钱包可用的时间)以及重复用户登录的时间。这些性能指标可能受每个解决方案的底层管理系统的影响。
为了展示这一点,我们在下图中测量了不同的 WaaS 工具通过 Google 认证创建 Web3 钱包所需的时间。我们鼓励您测试不同提供商的产品,以了解用户的体验。
在集成服务时,要知道不同提供商在不同领域的表现可能有所不同。两个关键点是生成钱包的时间(从用户点击“连接”到钱包可用的时间)以及重复用户登录的时间。这些性能指标可能受每个解决方案的底层管理系统的影响。
为了展示这一点,我们在上图中测量了不同的 WaaS 工具通过 Google 认证创建 Web3 钱包所需的时间。我们鼓励您测试不同提供商的产品,以了解用户的体验。
下图展示了通过Particle与MetaMask及其他WaaS工具,在连接钱包时所需的时间和步骤的横向比较。
其他社交证明指标可以提供解决方案可行性和市场接受度的有形证据。诸如 SDK 下载量和活跃用户等指标可以显示对服务的信任度和采用程度。访问这些指标的直接方法是在 Npm-stat 上搜索单个 SDK 包。请注意,下载量可能受公关、激励措施和其他营销活动的影响,因此这些数字不应仅用于决策,而应仅用作细致分析的一部分。
欢迎加入深潮TechFlow官方社群
2024.12.26
2024.12.26
2024.12.25