关于账户抽象 ERC-4337 协议

本文将详细解析账户抽象的特点,帮助大家更加规范的开发智能合约。

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

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

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

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

什么是账户抽象?

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

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

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

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

账户抽象有什么优点?

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

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

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

批量交易、一键支付

基于以太坊的二层网络

<!--StartFragment-->

<!--EndFragment-->

image.png

社区已完成和正在努力的方向

<!--StartFragment-->

<!--EndFragment-->

image.png

实现初步账户抽象的途径

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

二、遵守 EIP-1271。

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

ERC-4337 目前的状态

<!--StartFragment-->

<!--EndFragment-->

image.png

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

<!--StartFragment-->

<!--EndFragment-->

image.png

协议申请到通过的流程

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

<!--StartFragment-->

<!--EndFragment-->

image.png

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

<!--StartFragment-->

<!--EndFragment-->

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

img_v3_02sm_432d1a80-39cd-43bf-a724-e676fba0dedg.jpg

比特鹰正在招贤纳士

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

投递邮箱:join@biteagle.xyz

参考资料:

账户抽象的概念

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

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

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

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
比特鹰
比特鹰
0x18E5...7220
比特鹰是国内领先的AI+Web3公司,高速发展阶段,如果您在找工作,欢迎投简历:join@biteagle.xyz