跳至内容
0%

推出适用于链上应用最经济的 Smart Wallet

作者:Alchemy Team

最后更新:2025年5月6日3 分钟阅读

以下内容可能是让你夜不能寐的原因。

  • 安全漏洞,威胁到你的用户和声誉
  • 痛苦的迁移,当你发现存在供应商锁定,或无法信赖某个提供商时
  • 昂贵的工具,使规模化在财务上难以为继

作为开发者,我们感同身受,并致力于打造能帮你避开这些噩梦的工具。这就是为什么我们要为你提供成本效益最高、最安全、最灵活的智能钱包,让你专注于交付产品和扩展规模。

智能钱包成本节省对比
使用 Alchemy Smart Wallets 节省 53% 的成本

什么是智能钱包?

任何在 web3 领域构建产品的人都清楚传统 EOA(外部拥有账户,Externally Owned Account)钱包,比如 MetaMask,存在哪些局限。助记词、gas 费、浏览器扩展——整个体验充满摩擦,阻碍用户完成引导,也阻碍交易顺利完成。

智能钱包代表了这一领域的重大进步。它们是由存在于区块链上的智能合约驱动的可编程账户,并采用一种名为 ERC-4337 的标准。

这一根本性的差异带来了传统 EOA 钱包根本无法提供的能力:

  • 账户恢复 - 消除因忘记助记词而导致的永久性损失
  • 批量交易 - 一次性执行多个操作
  • Gas 赞助 - 允许应用为用户代付 gas 费
  • 自定义授权 - 实现超越“全有或全无”方式的细粒度权限系统

对开发者而言,这意味着可以打造 web2 水准的链上体验。对用户而言,这意味着无需理解底层的技术复杂性即可与区块链应用交互。

智能钱包弥合了区块链潜力与主流采用之间的差距——成为实现无缝 web3 体验的入口。Alchemy 是排名第一的智能钱包提供商,目前支持超过 1600 万个智能钱包的运行,并与 Ethereum Foundation 共同起草了 ERC-6900 等标准。现在,我们要把这些经验用于帮助你构建产品。以下是我们的构建方式,以及你可以如何利用它来打造成功的应用。

使用 Alchemy Smart Wallets,获得最优的成本、安全性和灵活性。

开始使用

太长不看版

智能钱包成本、安全性和灵活性基准汇总图
使用 Alchemy Smart Wallets 以低成本扩展规模

我们知道时间宝贵,所以做了总结。以下是重点:

  • 最低的账户创建成本:我们的智能钱包部署成本比行业平均水平低约 53%(0.56¢ 对比 0.26¢,涵盖主要 L2),让你能以极低成本引导数百万用户
  • 最低的交易成本:相比其他方案,我们的智能钱包在所有交易类型上可为你节省约 5-10% 的成本
  • 最高的安全性:经过 Quantstamp、Chainlight 以及 500+ 名安全研究人员的全面审计
  • 真正的模块化:可无限扩展功能的执行函数、验证和钩子(hooks)
  • 对开发者友好:一个简单的 SDK,不要求你成为智能合约专家

智能钱包旨在为你的应用引导数百万用户。安全高效地实现这一点,无需再为规模化担忧。

使用我们的定价计算器,估算规模扩展时的钱包成本。

使用计算器

继续阅读,深入了解我们是如何实现这些行业领先成果的。

核心设计原则

智能钱包成本效率、灵活性和安全性概览
Alchemy Smart Wallets 旨在最大化成本效率、灵活性和安全性。

许多提供商都会让你做出取舍。想要安全性?那就得放弃灵活性。需要低成本?那就要准备好应对复杂性。

我们认为你不应该被迫做出取舍。驱动智能钱包功能的智能合约在设计时始终围绕三大核心原则:

  • 安全性:你的资产始终安全,没有例外。
  • 成本:极致的 gas 效率——部署和使用都很便宜。
  • 灵活性:这些是 智能 钱包。通过细粒度控制轻松添加你所需的功能。

而且,所有这一切都通过一个开箱即用、业内一流的 SDK 变得简单易用。无需具备“智能合约专家”这样的前提条件。

安全性

对我们而言,安全性不仅仅是一项功能——它是我们的首要任务。我们的合约已由两家领先机构 Quantstamp 和 Chainlight 进行审计,并通过 Cantina 拥有超过 5,000 名安全研究人员的社区进行了审查。

存在三种可能的执行路径——

  1. UserOp 路径。
  2. 运行时验证路径(通过 executeWithRuntimeValidation\(\))。
  3. 直接调用路径。

尽管每条路径的工作方式各不相同,但它们都保持相同的安全标准。这一实现通过**验证(validations)**机制同时最大化了灵活性和安全性。让我们来一探究竟。

验证(Validations)

通常,在发送标准交易时,用户的 EOA 会对交易详情进行签名,以证明确实是本人在发送交易。

然而,在账户抽象(ERC-4337)模式下,用户可能不会直接发送交易,甚至不使用标准 EOA 对交易详情签名。那么,我们该如何验证一个用户操作呢?

这就是_验证(validations)_ 发挥作用的地方。

从概念上讲,验证是一种与智能账户可执行的一个或多个潜在操作相关联的身份验证方法。

智能账户(smart account)和智能钱包(smart wallet)有什么区别? 智能钱包是一种利用智能账户功能的钱包——通过一个无缝的界面,直接为你提供社交恢复、批量交易和自定义安全规则等可编程功能。

验证为智能账户增加了细粒度的安全性。你可以设置一个功能全面的“超级验证”,能够执行任何操作——同样,你也可以设置十几个甚至更多的验证,每个都有不同的、狭窄的作用范围。

默认情况下,账户预装了一个后备验证(fallback validation),允许原始签名者(即账户的“所有者”)执行任何操作。这完全是可配置的,这个验证也可以被完全禁用。

验证必须遵循以下规则:

  • 验证必须被“安装”到账户中才能使用。
  • 验证可以是特定于选择器(selector)的,也可以是全局的。
  • 验证可以关联任意数量的“钩子(hooks)”,从而实现细粒度的访问控制。
  • 验证可用于验证以下任意组合:userOps、运行时调用(通过 executeWithRuntimeValidation\(\))以及 EIP-1271 签名。
  • 使用特殊标识符安装验证,可以让与该验证关联的地址直接调用账户以执行指定功能。
    • 这可用于允许其他 EOA 在你的智能账户上执行有限的操作。

验证提供了一套强大的体系,用于细粒度地管理访问控制和权限委托。

此外,除了作为一种授权方法之外,验证还使应用能够安全地向用户请求权限,而额外的保障则由用户钱包以钩子(hooks)的形式提供,不受应用控制。这种设计空间几乎是无限的。

灵活性

真正的智能钱包应当适应你的需求,而不是相反。我们的智能合约通过三个关键组件实现模块化设计:

执行函数(Execution functions)

执行函数允许将对账户的调用转发至指定地址。

举例来说,如果你正在构建一个 NFT 市场,你可能需要支持那些要求向接收地址发起回调的代币转账(比如 onERC721Received\(\))。借助我们的执行函数,这只需一次安装调用——无需复杂的自定义代码。

验证(Validations)

如前所述,验证是一种授权方法,可以是全局的,也可以是特定于某个函数的。这里的强大之处在于,账户并不绑定于任何单一的签名方案——它可以配合你选择的任何授权方法工作。

想支持 passkeys?社交登录?针对不同操作设置不同阈值的多签?这些都可以通过验证实现。

钩子(Hooks)

钩子正是模块化真正大放异彩之处。它们让你可以为智能钱包中的任意函数或验证附加自定义逻辑。

你可以创建一个验证,只允许转账特定代币,且每日设有最高限额——非常适合定投或订阅付款场景。或者想象一下,在高额交易执行前,通过钩子实现高级安全检查。


这些组件共同作用,让我们的智能钱包具备面向未来的适应能力。随着新的授权方法出现,或者你的应用需求不断演进,你的钱包基础设施都能随之调整,而无需让用户经历痛苦的迁移。

成本

PROVIDER
ACCOUNT CREATION
ERC-20 TRANSFER

Alchemy

0.036¢

0.074¢

Biconomy Nexus

0.074¢

0.076¢

ZeroDev Kernel v3.1

0.067¢

0.085¢

Safe v1.4.1

0.104¢

0.081¢

Coinbase Smart Wallet

0.067¢

0.075¢

Gas 效率不仅仅是锦上添花——它决定了一个产品能否规模化。

我们的智能钱包部署所消耗的 gas 甚至低于一次 Uniswap V2 交换。我们通过利用 Solady 带有不可变参数的 Clone ERC1967 代理实现了这一突破。

我们不是将所有者地址存储在昂贵的合约存储中,而是将其直接附加到代理的字节码上。这起到了后备验证的作用,你可以随时修改或移除它。结果如何?在任何受支持的链上,部署所需 gas 均低于 10 万,即时可用,且功能毫不妥协。

总体成本优势

在使用场景基准测试中与行业竞品对比,我们的钱包实现了显著的成本节省:

  • 账户创建成本比竞品低约 53%
  • 在账户创建方面,比 Safe 便宜 66%,比 ZeroDev Kernel 便宜 46%
  • 在所有操作类型(原生转账、ERC-20 转账和交换)中,交易成本节省约 10%
  • 规模化下的可观节省:部署 100 万个账户,每个执行 100 笔交易,相比其他方案(在 L2 上)可节省约 3 万美元

道理很简单。我们大幅降低的账户创建和交易成本,意味着随着用户基数的增长,真实的成本节省也会随之累积。

除部署环节外,我们在每一个操作中都注入了效率。这些智能合约采用高度优化的内存管理技术构建,包括可重复使用的内存缓冲区,能显著降低执行过程中的 gas 消耗。

我们深知成本在每个阶段都至关重要——从部署到日常运营——因此我们已将 gas 效率优化到极致。这意味着,随着应用规模的扩大,你无需在强大功能和低成本之间做出取舍。

点击此处查看我们完整的基准测试分析。

想进一步节省成本?联系我们的团队,了解大规模场景下的专属定价。

联系销售

易用性

如果一个账户几乎无法使用,那么它再优秀也没有意义。我们已经将所有复杂性抽象化,提供了一个简洁、有文档记录、不妨碍你工作的接口。

设置好客户端后,发送一个 userOp 就是这么简单:

tsx
Copied
const result = await account.sendUserOperation({ uo: { target: target, value: sendAmount, data: callData, }, });

我们的 SDK 抽象化了诸如将验证编码进 UserOp nonce、使用 ERC6492 对消息进行签名 等在处理智能账户时需要考虑的更普遍的事项。

这种易用性让你能够专注于最重要的事情:尽可能高效地为用户交付最佳体验。

在 10 分钟内为你的应用集成智能钱包。

开始使用

实现细节

让我们更深入地探讨这些核心设计原则是如何实现的。

深入解析:成本效率

成本效率被贯彻在方方面面。让我们探讨几个关键领域——账户创建、会话密钥创建,以及用户操作。

最低的账户创建成本

我们所实现的成果:

  • 行业领先的效率:从工厂合约创建账户仅需 9.8 万 gas
  • 一次简单执行的用户操作仅需 25 万 gas
  • 账户创建成本比 ZeroDev 低最多 46%,比 Safe 低最多 84%

SemiModularAccountBytecode 没有采用常规的账户初始化方式,而是使用“合约即存储”模式,实现了业内最低的智能账户创建成本。

具体做法是:为账户原生添加 ECDSA 支持,并使用 Solady 的 LibClone.createDeterministicERC1967 将所有者地址附加到代理字节码上,而不是使用存储。跳过初始化调用,省去了两次从零到非零的 EVM 存储操作,总共减少了 5.1 万 gas。移除初始化步骤还带来了额外好处:兼容 EIP-7702。

这些优化转化为实实在在的成本节省,并会随着你引导的每一位用户不断累积。

会话密钥的成本优化

什么是会话密钥(session key)? 一种临时且权限受限的凭证,让应用能够代表用户钱包执行特定操作,而无需用户的主密钥,也无需为每笔交易重复批准。

会话密钥是智能钱包的一项热门功能。我们通过**延迟操作(deferred actions)**大幅降低了会话密钥创建和使用的成本,该机制将创建与首次使用合并为一次操作,可减少 4 万 gas 的开销。

设想你的应用允许用户按月订阅付费的高级服务。使用传统 EOA 钱包时,用户体验相当糟糕:

  1. 用户注册并批准第一笔付款
  2. 到了下个月,他们必须手动批准另一笔交易
  3. 如果他们忘记或无法及时操作,订阅就会失效
  4. 你损失收入,他们也失去了服务的使用权

为解决这个问题,你希望实现会话密钥,让你的应用无需每次都要求用户批准即可处理每月付款。但使用其他智能钱包提供商时,设置这一功能却令人头疼:

  1. 用户必须签署一笔交易来创建订阅会话密钥
  2. 等待区块链确认(可能需要几分钟)
  3. 再签署另一笔交易以设置首次付款
  4. 再次等待确认

这种笨拙的体验之所以发生,是因为其他提供商仅支持简单的批量执行,这要求所有操作都使用单一验证。这意味着它们无法在一笔交易中组合需要不同类型身份验证的操作。

有了延迟操作,这就变成了一键式体验。用户创建支付会话密钥并在一次无缝交易中处理首次付款。这是通过在用户操作验证中额外实现一个验证 + 执行步骤来完成的,该步骤仅在用户操作 nonce 中的延迟操作标志被设置时才会执行。

  • 我们将会话密钥创建和首次付款合并为一次操作,节省了步骤和成本
  • 我们将所有者验证(用于创建密钥)和会话密钥验证(用于付款)一并处理
  • 我们实现了由交易数据中的标志触发的专门处理逻辑

此外,在设计延迟操作时,我们始终将安全放在首位。为此,我们实施了多层保护:

防重放攻击

我们使用交易 nonce(一个唯一标识符)同时作为延迟操作的 nonce。这可以防止任何人多次复制并重放一个延迟操作。

防篡改性

延迟操作被存储在交易的签名字段中,这存在被交易处理方(打包者/中继者)修改的潜在风险。

我们通过两项关键保障措施解决了这个问题:

  1. 验证绑定
  • 交易 nonce 中包含了应使用哪种验证方法的信息
  • 这确保了延迟操作只能由其预定的验证函数执行
  • 结果:即使被提取出来,延迟操作也无法配合其他验证方法使用
  1. 移除保护
  • nonce 中特定数据的存在,表明延迟操作应当存在
  • 这可以防止中间人从交易中移除延迟操作
  • 结果:完整的交易始终严格按照用户的原本意图被处理

这些保障措施共同作用,确保延迟操作在从创建到链上执行的整个交易生命周期中始终保持安全。

延迟操作可降低会话密钥创建成本
延迟操作可降低会话密钥创建成本

用户操作的成本优化

什么是用户操作(user operation)?

用户操作是一种交易对象,它让智能钱包能够代表用户执行交易,从而在不改变 Ethereum 核心协议的情况下实现更灵活的区块链交互。

我们使用调用缓冲区(call buffer)功能,进一步降低用户操作的 gas 成本:简单用户操作可减少 3,000-6,000 gas,而更复杂的用户操作预计能节省更多。

当前 Solidity 编译器存在一个设计上的怪癖:它生成的字节码只分配内存,却从不释放内存,即便内存中的变量已不再使用,也会导致不必要的内存扩张。尽管相比存储操作或调用成本,内存操作通常影响不大,但由于 EVM 的内存扩张成本是二次方增长的,这对复杂应用或调用而言就变得非常显著。

对于可以在用户操作和执行过程中实现的钩子,Solidity 会为每次钩子或验证调用创建一次内存扩张。我们转而使用 Yul(一种作为 Solidity 内联汇编使用的底层语言)实现调用缓冲区,为所有钩子调用分配一段内存,供执行的所有钩子调用重复使用。

深入解析安全性:会话密钥

会话密钥是智能钱包的常见功能,允许用户将特定权限委托给外部应用或服务。虽然这项功能提升了灵活性和易用性,但它需要精心实现才能维持安全性。以下是我们符合 ERC-6900 标准的账户如何通过会话密钥配置为用户提供全面保护。

1. 合约与选择器白名单

通过会话密钥进行不受限制的合约调用,可能使账户面临重大风险,尤其是涉及 ERC20 代币时。由于代币的所有权和余额是在合约层面管理的,一个无限制的会话密钥实际上可能等同于对所有 ERC20 代币拥有无限制的访问权限。我们通过实施严格的合约与选择器白名单机制解决了这一问题,让用户能够精确定义某个会话密钥可以交互的合约和函数。

2. 多层次支出控制

除了合约层面的限制外,细粒度的支出控制对于全面的安全性也至关重要。我们允许你设置:

  • 原生代币支出上限
  • ERC-20 代币支出限额
  • Gas 使用限制

其中 gas 限制的实现方式尤为值得关注,因为它是在用户操作验证阶段强制执行时唯一_安全_的方式。这一点至关重要,因为 ERC4337 Entrypoint 合约使用验证是否成功来确定打包者(bundler)与账户之间的付款责任。通过额外的预验证钩子实现这些检查,Alchemy Prism 提供了许多其他智能账户所欠缺的保护能力。

3. 高级执行钩子

对于代币交换等复杂用例,监控执行上下文至关重要。Alchemy Prism 账户同时支持执行前和执行后的钩子,从而能够实现:

  • 余额差值计算
  • 自定义预言机价格比较
  • 滑点容忍度强制执行

这项功能使用户能够对代表其执行的交换操作实施精确控制,提供的交易配置能力使 Alchemy Prism 有别于许多其他智能账户实现方案。

通过这些安全措施,我们的账户提供了出色的会话密钥功能,最大化了灵活性和保护能力,为智能账户安全树立了高标准。

可升级性

我们的账户支持升级,采用 ERC-1967 代理模式设计,默认情况下账户升级只能由用户发起。这一点之所以重要,是因为账户升级操作可能被用来覆盖用户账户上现有的安全设置和配置,因此必须确保只有用户本人才能执行这项操作。

通过 Alchemy 智能钱包节省成本、实现规模化

智能钱包是在不产生常见摩擦的情况下,将数百万用户带上链的关键。我们构建的智能钱包能让你:

  • 以不到其他方案一半的成本部署账户(0.38 美元 对比 行业平均的 0.79 美元)
  • 借助真正的模块化架构,无需再为痛苦的迁移操心,它会随着你的成长不断适应
  • 有多项审计和 500+ 名安全研究人员的保护,让你对用户资产的安全高枕无忧

我们已经完成了优化 gas、实现安全验证、并让一切对开发者友好的艰苦工作,你只需专注于快速交付并实现规模化。

想知道能节省多少成本? 我们的定价计算器可以帮你估算随规模增长的成本。

准备好开始构建了吗? 深入了解文档,在 5 分钟内部署你的第一个智能钱包。

还有其他问题?我们随时为你解答。 了解更多关于智能钱包的信息,或联系我们的团队。

常见问题

什么是智能钱包?

智能钱包是一种由区块链上的智能合约驱动的可编程账户,能够实现账户恢复、批量交易、gas 赞助和自定义授权等功能——这些都是传统 EOA 钱包无法提供的能力。

部署你们的智能钱包需要多少成本?

我们的智能钱包在主要 L2 上的部署成本约为 0.26 美元,比行业平均水平 0.56 美元低约 53%,比 Safe 等替代方案最多低 84%。

什么是 ERC-4337?它与智能钱包有何关系?

ERC-4337 是一种账户抽象标准,智能钱包利用它来实现可编程功能,而无需对 Ethereum 核心协议进行修改,其原理是通过由打包者(bundler)处理的用户操作实现的。

你们的智能钱包是如何保障安全的?

我们的智能钱包已由 Quantstamp、Chainlight 以及通过 Cantina 汇聚的 500 多名安全研究人员进行审计,其多种执行路径均通过一套验证体系维持着相同的安全标准。

智能钱包中的“验证(validations)”是什么?

验证是一种身份验证方法,为智能账户提供细粒度的安全性和访问控制,让你能够为不同操作配置不同的权限级别,而不是采用“全有或全无”的方式。

什么是会话密钥?它们如何节省成本?

会话密钥是一种临时凭证,让应用能够代表用户执行特定操作,而无需重复获得批准。我们的延迟操作功能将创建与首次使用合并为一次操作,可将会话密钥创建成本降低 4 万 gas。

我可以自定义你们智能钱包的功能吗?

可以,我们的智能钱包完全模块化,包含三个关键组件:执行函数、验证和钩子,它们让你能够扩展功能、适应特定需求,而无需进行迁移。

使用你们的智能钱包,在规模化时能节省多少成本?

部署 100 万个账户,每个执行 100 笔交易,相比其他方案在 L2 上可节省约 3 万美元,账户创建成本节省约 53%,所有交易类型的成本节省 5-10%。

Alchemy 新闻通讯

第一时间获取发布信息

订阅我们的新闻通讯

获取 Alchemy 的最新产品更新和资源

A
O
D
+
超过 80,000 名订阅者

填写您的电子邮箱地址即表示您同意接收我们的营销通讯和产品更新。您确认 Alchemy 按照我们的隐私声明处理我们收到的信息。您可以随时取消订阅。