关于账户抽象 ERC-4337 协议 - 教程

初衷:降低新手的使用钱包门槛、改善用户体验

为什么 4337 可以成功成为一种以太坊的规范?

因为之前的所有提案都需要对以太坊底层协议进行更改,会致使以太坊进行硬分叉,

但 4337 是唯一一个不用更改以太坊协议就可完成账户抽象的提案。

什么是账户抽象?

以太坊有两种账号:私钥(EOA)账户、智能合约账户。

大多数人使用的都是私钥账户,它的优点是可能做交易,而智能合约账户不能发起交易。

希望通过账户抽象的技术,赋予智能合约账户更多的权力,比如交易权力。

账户抽象是基于智能合约账户的拓展。

账户抽象有什么优点?

支持任意验证逻辑(例如,Schnorr、BLS、多重签名方案)

通过自定义在多长时间中能够免签名支付不超过xx金额的

可高度定制化效果,可以基于社交签名找回私钥

批量交易、一键支付

基于以太坊的二层网络

image.png

社区已结束和正在努力的方向

image.png

搭建初步账户抽象的途径

一、不要忽视智能合约账户。

二、遵守 EIP-1271。

这个 EIP 定义了一种用智能合约钱包签署授权的方法

ERC-4337 目前的状态

image.png

ERC-4337 协议目前已正式部署到以太坊主网上

image.png

协议申请到通过的流程

ERC-4337 目前所在位置是:Draft

image.png

关于StarkNet以及头盔钱包的账户抽象说明

image.png

工作流程

用户向Bundler发送UserOperation

如果UserOperation填写了initCode参数,Bundler会触发Wallet Factory来创建有确定地址的新钱包

如果UserOperation填写了paymasterAndData参数,Bundler会收取Paymaster在入口点合约上质押的以太坊来支付gas。如果没有填写paymasterAndData,Bundler会收取智能合约钱包在入口点合约上质押的以太坊来支付gas

Bundler能够选择性地运用签名聚合器

Bundler会使用validateOp、validatePaymasterOp和validateSignatures函数在链下模拟验证UserOperation,确保签名正确且UserOperation有足够的gas

如果链下模拟验证通过,Bundler将使用上述函数在链上验证UserOperation

倘若链上验证通过,Bundler将在链上执行UserOperation,无论执行是否成功,都会扣除gas

在这里插入图片描述

比特鹰正在招贤纳士

热招岗位:爬虫工程师、大数据开发工程师、后端开发工程师、AI开发工程师、Web3海外运营

投递邮箱:join@biteagle.xyz

参考资料:

账户抽象的概念

介绍ERC-4337的文章——2023-04-12 09:55

对话 ERC-4337 作者:以太坊账户抽象及其演化——2022-12-14 18:40

以太坊的ERC-4337标准规范文档
以太坊现有的协议归览表
以太坊从提案到标准规范进度文档

posted @ 2026-01-12 21:12  clnchanpin  阅读(6)  评论(0)    收藏  举报