正如许多人所说,账户抽象技术,尤其是 ERC-4337,有望彻底改变自我托管钱包的用户体验,并使其能够扩展以供大规模采用。然而,随着2023年5月的临近,必须认识到该标准还处于早期阶段,机遇与风险并存。
*请注意,随着升级的快速发展,此内容可能很快就会过时,并且所呈现的内容基于我个人的观点。
长话短说
在 ERC4337 上:
AA 标准仍处于早期阶段,但许多创新构建者正在努力进一步开发它。在生态系统的支持和 MetaMask 等大型产品的采用下,我们可以期待推动 AA 的进程加速并产生令人兴奋的发展。
在 L2 上:
帐户抽象 (AA) 的采用因 L2 解决方案而异。较大的 L2(例如 Optimism 和 Arbitrum)本身并不支持 AA,而 ZKSync 和 Starknet 则支持。
在捆绑器服务上:
- 如果我们看好账户抽象(AA),并且所有与以太坊一致的 EVM 等效 L2 - 不支持原生 AA,那么捆绑器服务是网络中支持 AA 的必要条件。
- 开源特性使得 Bundler 服务非排他性,使得货币化变得困难。为了网络的安全和稳定,将采用不同的捆绑服务。
- 私人捆绑器可以通过根据特定需求定制隐私、安全和其他功能来实现盈利。
关于 Paymaster 服务:
- Paymaster 服务相对集中(与捆绑服务相比),具有开源合约,但后端封闭。
- Paymaster服务具有盈利模式,可以通过与法币存款、互换、桥接、自动支付、会话、赞助费等功能相结合来增强支付场景,从而提高dApp可用性。
关于AA钱包和SDK:
- AA钱包可以从产品角度进行评估,包括密钥管理系统、社交恢复、gas赞助、多链账户同步以及支持的区块链等。
- AA 的优势不仅在于平滑登录(Web3 Auth 可以通过托管方式实现),而且在复杂且定制的链上交互中,AA 可以为 dApp 提供更多好处。
- BD是这场激烈竞争的关键。大多数钱包都瞄准 Defi、GameFi,并致力于获得生态系统支持、说服大型 dApp、找到突破点。
- 货币化模式需要进一步探索。To Business(ToB)模式可能赚不了多少钱,也不会积累自己的用户,而To Customer(ToC)模式则需要找到高价值的场景来基于体量来盈利。集成交换和桥接功能可以盈利,但找到可持续的模式至关重要。
👀 了解加密钱包
👋ERC4337提案:CA问题、4337机制、优缺点
🔗 L2:采用、洞察
⚙️ AA 基础设施:捆绑和付款服务、评估
🛠️ AA 钱包和 SDK:模块化服务、评估
👀 了解加密钱包
分类
以太坊网络中存在两种类型的帐户:EOA - 外部拥有的帐户钱包(如 MetaMask)和 CA - 合约帐户(如 Safe)。
EOA钱包和合约钱包之间的主要区别在于它们的控制方式。EOA钱包由个人用户通过私钥控制,而合约钱包由智能合约控制。虽然 EOA 钱包更简单并用于管理个人加密货币持有量,但合约钱包可以具有更复杂的规则并用于特定目的。
来自比特币内幕人士
痛点
使用外部拥有账户 (EOA) 钱包会给用户带来保护私钥的负担。任何错误或错误都可能导致资金损失,使其成为成本高昂且高风险的选择。即使是经验丰富的加密货币用户也会因为一次错误或粗心的举动而失去对其账户的控制。操作的复杂性、无法跳过或外包天然气支付以及钱包的有限功能都是让用户感到沮丧的根源。
智能合约钱包为其中一些问题提供了解决方案,但以太坊目前要求将所有操作打包在来自受 ECDSA 保护的 EOA 的交易中。这增加了额外的交易费用和 21000 Gas 开销,以及潜在的中心化和复杂性:用户需要管理两个账户并在单独的 EOA 中拥有 ETH 来支付 Gas 费用,或者依赖中心化中继系统。
这些痛点激发了账户抽象新标准 ERC-4337 的创建。
👋ERC4337提案:
CA问题
如今,可以使用合约钱包完成所有这些事情,但以太坊本身要求将所有内容打包在源自 ECDSA 保护的外部拥有账户 (EOA) 的交易中,这将导致:
- 额外交易费用:每个用户操作都需要包装在来自 EOA 的交易中,增加 21000 个 Gas 开销。
- 复杂性和中心化:用户需要在单独的 EOA 中拥有 ETH 来支付 Gas 费用,并管理两个账户中的余额,或者依赖通常是中心化的中继系统。
多年来,人们在基于以太坊的区块链上实现账户抽象进行了各种尝试,例如 EIP-86 和 EIP-2938。然而,这些方法并不可行,因为它们需要修改共识层,而这是很难实现的。
4337机制
ERC-4337通过引入称为UserOperation的更高层伪交易对象来实现帐户抽象,这在捆绑概念方面类似于rollups。幸运的是,这个标准允许我们在不改变共识层的情况下构建账户抽象。
EIP 4337的模块化设计将智能合约钱包的账户抽象功能划分为多个端口:
Bundler :
- Bundler 是一个 EOA,由于所有交易都必须由 EOA 触发,Bundler 使用户无需创建和记住 EOA 私钥即可触发智能合约钱包交易。
- Bundler的职责:验证UserOperation、将一组对象打包UserOperation成单个“捆绑事务”。将已验证的内容广播UserOperation到公共或私人内存池。
- 捆绑商还可以通过以下方式获得经济利益: 执行后,将最高优先费与实际 Gas 成本之间的差额收入囊中UserOperation。与普通交易的relayer类似,Bundler可以通过对UserOperationbundle中的进行排序来获取MEV。
Entry Point :
- 入口点是一个全局合约,所有捆绑器都需要调用它来执行UserOperation. 它充当捆绑器和智能合约钱包之间的中介。
- 用于handleOp验证和执行:handleOp函数接受UserOperation作为输入参数,首先验证UserOperation链上,检查是否由指定的智能合约钱包地址签名,并且钱包有足够的gas来补偿捆绑器,如果成功,则根据函数签名执行输入参数。
- 需要存入智能合约钱包的token来向bundler支付gas费:当BundlerhandleOp使用EOA触发该功能时,会产生gas费。智能合约钱包可以用自己的余额支付gas,或者请求Pymaster支付。可能失败:没有足够的气体,验证步骤失败;即使有足够的gas,UserOperation执行步骤也可能会失败,例如运行时错误。无论执行是否成功,入口点合约都会向Bundler支付gas费来触发该handleOp功能。入口合约为智能合约钱包提供添加或提取代币作为抵押品的功能。
智能钱包本身:
- 智能合约钱包主合约将验证和执行步骤分开UserOperation。通过将其分离,捆绑器可以验证UserOperation链外,因此可以过滤掉恶意交易,而无需支付gas。
- 函数中定义了验证步骤validateOp:第一次调用validateOpbundler模拟链下验证,验证中的签名UserOperation,并确保智能合约钱包有足够的gas余额;第二次调用validateOp是入口点合约,在执行之前执行链上验证UserOperation
Paymaster :
- Paymaster 定义了智能合约钱包的 Gas 抽象逻辑,包括使用 ERC20 同质化代币支付以太坊 Gas 以及无需 Gas 的交易。
- Paymaster 是由 dApp 部署的智能合约,可以触发 Paymaster 的validatePaymasterOp.
Wallet Factory :
- Wallet Factory 是创建智能合约钱包的公共合约。当initCode填充了钱包工厂地址和新智能合约钱包的参数后,Bundler将触发相应的钱包工厂创建具有指定参数的智能合约。流行Wallet Factory经过全面的代码审核,用户创建钱包更安全。
- Wallet Factory需要质押 ETHEntry Point并持续提供UserOperations良好服务,才能从 Bundler 获得更多流量。
- UserOperation用户可以通过提交填充的.bundler 文件来请求 Bundler 创建 CA 钱包initCode。
- 用户可以通过选择特定的定制参数来定制他们的CA钱包Wallet Factory。
Signature Aggregator :
- Signature Aggregator用于将多个交易的签名聚合为字节,以便更快地验证和执行交易。不同的智能合约钱包使用不同的签名算法,需要UserOperations先聚合使用相同的签名算法。
- 节省gas:由于链上密码计算消耗大量gas,聚合签名方案(如BLS)可以在链上验证时节省gas。
- Bundler 使用多个签名聚合器合约来生成多个聚合签名,而不是一次验证一个签名UserOperation。
- Bundler 将UserOperation数组、聚合签名和聚合器地址传递给Entry Point,每个UserOperation组会议调用validateSignature其对应的签名聚合器的函数。
- 验证通过后,Bundler会UserOperations在智能合约钱包上执行这一套。
- 聚合商还需要将以太坊抵押在入门合约上,并保持良好的服务记录UserOperations。
AA 的优点
- 气体抽取:
- Gas 抽象包含无 Gas 交易,并使用任何 ERC20 代币支付 Gas 费用。该逻辑可以在Paymaster合同中或通过Relayer. 在AA方面,许多智能合约钱包Paymaster本身实现了EIP 4337兼容合约,并在入口点合约上质押代币,帮助用户支付gas费用。
- 社会恢复:
- 如果私钥丢失或泄露,用户可以作为合法钱包所有者授权新密钥。社交登录和社交恢复的逻辑一般定义在钱包的主合约中。可以使用多种方式,如电子邮件、多重签名、MPC 或 SWIE(使用以太坊登录)等。
- 批量交易:
- 交易批处理是智能合约钱包独有的功能,允许钱包用户在单个链上交易中执行多个交易。
- 坡道和桥梁集成:
- 许多现有的钱包已经通过与第三方提供商合作将法定存款和取款渠道以及跨链桥集成到钱包中。这些存取通道和跨链桥梁可以进一步与Gas抽象中的支付合约(Paymaster)集成。
- 模块化设计:
- AA 的最大优势之一是模块化服务,捆绑器、付款大师等各个部分都可以灵活组合。
AA 的缺点
- 从叠层费用可能相对较高(也许):
- 使用 ERC-4337 进行简单转账比使用传统钱包(通常称为 EOA)进行简单转账要昂贵得多,因为必须使用 ERC-4337 进行合约调用。
- 然而,ERC4337 可能比 Rollup 上的 EOA 更便宜,因为它可以将签名聚合在一起以减少主网上的数据量。
- 标准尚未最终确定:
- 一些挑战包括由于扩展的交易可扩展性而增加的攻击向量、迁移到新标准时潜在的不可预见的错误或安全风险、需要强大且安全的全球入口点合约以确保所有交易的适当签署和验证。
🔗 L2
✅和❌表示是否支持原生AA。
Optimism:❌
Optimism 的第一个版本具有三个 OVM OpCode,以实现智能合约钱包的账户抽象。然而,出于一致性和安全原因,第二个版本删除了它们,并且没有关于支持帐户抽象的官方声明。
Arbitrum:❌
虽然目前有一些智能合约钱包正在 Arbitrum 上构建,但还没有关于支持账户抽象的官方声明。
Starknet::✅
Starknet只有具有验证和执行功能的智能合约账户,必须在所有账户中实现该功能以验证签名并确保gas费。Starknet 禁止验证函数调用外部合约状态,以防止未执行的交易。不过,它与以太坊也有区别,比如缺乏 UserOperations、类似 Paymaster 的交易费用抽象协议,以及需要有代币余额的账户来创建新合约。此外,如果经过验证的交易失败,Starknet 的排序器无法提取 Gas 费,而以太坊则没有这一点。
zkSync: ✅
zkSync 不区分 EOA 和合约账户。其账户模型与EIP 4337类似,包含独立的validateTransaction和executeTransaction函数。Paymaster 接口还包括 validateAndPayForPaymasterTransaction 和 postOp 函数。不过,还是有区别的,比如在验证过程中调用已部署的外部合约和外部存储的能力。Paymaster还可以在交易验证期间调用外部存储。
⚙️ AA 基础设施:
现在我们看到 Stackup、Etherspot、Candide、Infinistism、Pimlico 等优秀项目正在尝试构建基础设施
捆绑服务:
建设者:
- Stackup 的 Golang 实现
- Candide 的 Python 实现
- Infinitism 的 TypeScript 实现
- Skandha — Etherspot 的 Typescript 实现
一些共识:
- 公益服务。绝大多数捆绑器的开源性质使其具有非排他性和非竞争性。任何 RPC 端点都可以通过复制开源代码来运行 Bundler。
- 变现困难:即使运行 Bundler 的 RPC 端点通过 API 密钥收取服务使用费,Bundler 服务也比支付合约 Paymaster 等其他基础设施更难变现,因为 Paymaster 可以通过与第三方合作轻松赚取费用差价-方存款和取款或 DeFi 协议聚合器提供商。
- 重要的基础设施: UserOperation的验证和执行需要尽可能多的Bundler,以更好地去中心化。由于 Stackup 和 eth-infinitism 是目前唯一可用的第三方 Bundler 服务提供商,因此我们肯定需要更多这样的 Bundler 服务提供商
- 机制:捆绑器本身传递消息并传播用户操作,类似于共享内存池,而不必就特定事物达成一致。Bundlers 具有过滤垃圾邮件的重要功能,出于自身经济原因,他们希望尽可能地进行监控以确保 mempool 安全。
捆绑服务之间的差异:
- Bundler 服务可以是通用基础设施,也可以是专门为钱包构建的。钱包项目可能会优先构建最基本的Bundler,而第三方提供商则必须针对各种场景构建模块化的Bundler。
- Bundler服务以不同的语言实现,类似于以太坊节点,以防止单点故障并有利于生态系统。
- Bundler 服务支持私有和公共内存池,并为私有内存池提供自定义选项。
出纳员服务:
- Paymaster 服务相对集中(与捆绑服务相比),具有开源合约,但后端封闭。
- Paymaster服务具有盈利模式,可以通过与法币存款、互换、桥接、自动支付、会话、赞助费等功能相结合来增强支付场景,从而提高dApp可用性。
🛠️ AA 钱包和 SDK:
产品评价:
- 密钥管理系统:
- -多重签名逻辑(安全):只能实现2/3、3/5等多重签名逻辑;
- - 简单权限管理(顺序):可以给key设置权重,然后操作账号就有一个阈值。
- -RBAC,基于角色的权限管理(Unipass):您可以为密钥设置权重和角色。不同的角色可以执行不同的操作。每个角色也有相应的门槛。如果超过这个阈值,就可以执行对应角色的权限。
- 社会康复法
- Gas 赞助商:自建 Relayer,或设置 Bundler + PayMaster
- 多链账户同步
- 多链地址统一
- 支持的区块链
商业
- 商业模式:Tob/ToB+ToC/ToC
- 与 dApp 合作:与每条链上的巨型基础设施 dApp 合作,例如稳定币或 Defi
- 实用程序:集成 NFT 市场、启动板等。
- 外部支持:来自以太坊基金会或其他大型风险投资公司
向帮助我完成这篇文章的出色构建者致敬:
参考: