# EIP-4337科普性概要讲解

By [zhangshengjie](https://paragraph.com/@zhangshengjie) · 2022-07-12

---

EIP-4337的科普概要性讲解
================

**背景**
------

假设你了解过DeSoc(Decentralized Society 去中心化社会)以及"[Decentralized Society: Finding Web3's Soul](https://papers.ssrn.com/sol3/papers.cfm?abstract_id=4105763)" 且认同。

你可能会在大脑中构建这样一个去中心化的社交网络模型：

    人们以"化身"的形式参与到这个网络中,每个化身都会在网络活动中累计数据以及信誉,很多化身会在网络中被大家打上各种灵魂印记（注：此处指SoulBoundToken）:「xxx DAO建设者」、「值得信赖的担保人」、「xxx NFT的创造者」等。
    这个社交网络中的参与着可以基于上述可量化、可验证的灵魂印记共同打造一个完全去中心化的“元宇宙”。
    

上面的一个构象是建立在“化身”的基础之上，这个化身其实就是以太坊网络中的账户，但是现在以太坊的账户当前还不足以支撑上面的构象，先看下以太坊网络中当前包含的两种账户类型:

    1. 外部账户 [由与之对应的私钥控制]
       - 控制权无法更改(无法更新私钥)
       - 可以直接向以太坊网络写入数据
       - 完全共识的标准(可以通过外部账户登录各种DApp)
    2. 合约账户 [由合约账户内的代码控制]
       - 控制权可以更改(依靠动态的代码逻辑来控制)
       - 无法直接向以太坊网络写入数据(每次都需要依赖外部账户调用合约账户跟以太坊网络交互)
       - 未完全共识的标准(没有经过大家广泛共识的合约账户标准，例如无法通过合约账户登录mirror、uniswap)
    

对于绑定在化身之上灵魂印记，使用外部账户显然是存在问题的：例如无法解决私钥丢失、怀疑私钥被泄露从而更换个账户等问题。

使用合约账户可以解决上面的问题，但同样会遇到新的问题：就是没有一套经过共识的合约账户标准，各个DApp无法基于不确定的合约账户做适配例如登录。

今天要介绍的EIP-4337是一个应用层共识标准，与其他EIP-2938等关键区别是可以在不改变以太坊核心共识(无需矿工节点更新)的基础上实现账户抽象，只要钱包、DApp符合EIP-4337标准就可以解决合约账户上面的问题以及做到生态互通。

好的，现在尽量以非技术的语言描述下EIP-4337：

EIP-4337是一个当前一些组织已经介入开发的提案，主要是在无需更新ETH核心协议的情况下提高ETH账户的抽象程度，以实现未来更多的可能性，以及更好的用户体验。

### **主要优势：**

*   支持多签名和社交恢复(social recovery)
    
*   可升级
    
*   可以无ETH转账
    
*   用户体验提升(例如在uniswap上交易 无需先Approve，再交易。直接可以在一个交易里完成)
    

### 主要**劣势：**

*   执行操作时Gas花费会比现有的外部账户稍高
    

* * *

### **详细说明**

现在的ETH外部账户(EOA)都是由私钥控制的，用户无法更新私钥，也无法为同一个地址设置多个私钥以及为不同私钥设置不同的权限，而且私钥丢失或者泄漏等情况也常有发生。

EIP-4337希望通过用户把资产存入一个可升级合约中的方式来解决外部地址出现的上述问题。

*   支持多签名和社交恢复：
    
    *   最简单理解的方式是，把EIP4337理解为多签钱包，而且多签钱包确实能解决多签名和社交恢复的问题，但是多签钱包未获得广泛支持（例如DAPP无法使用多签钱包登陆）
        
*   可升级：
    
    *   因为用户控制的不再是EOA账号，而是一个可升级合约，里面的任何功能都是可升级的，例如钱包控制权可以自定义成一些简单的签名算法 而不是当前的那种人脑无法记住的长长的私钥，当然也可以自定义成量子安全的其他签名算法
        
*   可以无ETH转账：
    
    *   这个非常强大,当然实现起来也很复杂。例如当前你的地址里只有100USDT，而无ETH，是无法通过uniswap等进行交易的，而在EIP4337标准中你可以在交易中不支付ETH 也能实现交易。
        
    *   主要依赖于引入paymasters角色(来自[openGSN](https://opengsn.org/))，paymasters可以是任何想做贡献或者任何执行MEV的人，人们会把EIP4337的交易发送受信赖的paymasters（当然如果你账户里有足够ETH就可以不经过paymasters），paymasters自己确定是否愿意为这比交易支付ETH矿工费(例如有的paymasters确定会收到用户发给他1元红包就愿意代用户支付这比矿工费，有的paymasters可能是个游戏项目方 他确定用户是他的潜在用户 paymasters就愿意为这个用户支付5次矿工费)
        
*   用户体验提升：
    
    *   EIP4337 钱包支持多笔交易打包在一起发送，事实上就解决了类似在uniswap上交易需要先Approve，再交易的这种比较差的用户体验
        

以上内容是经过自己理解并精简整理后的，目的是让人对EIP4337有一个初步的了解所以没有陷入技术细节 只是大概重要纲要。

以上的理解来源于以下原始资料：

[https://medium.com/infinitism/erc-4337-account-abstraction-without-ethereum-protocol-changes-d75c9d94dc4a](https://medium.com/infinitism/erc-4337-account-abstraction-without-ethereum-protocol-changes-d75c9d94dc4a)

[https://github.com/ethereum/EIPs/blob/3fd65b1a782912bfc18cb975c62c55f733c7c96e/EIPS/eip-4337.md](https://github.com/ethereum/EIPs/blob/3fd65b1a782912bfc18cb975c62c55f733c7c96e/EIPS/eip-4337.md)

[![]({{DOMAIN}}/editor/youtube/play.png)](https://www.youtube.com/watch?v=LdaoBzwHFkU)

[![]({{DOMAIN}}/editor/youtube/play.png)](https://www.youtube.com/watch?v=r3ZSk4PeqxQ)

[https://mp.weixin.qq.com/s/ZGzw3VE-8KEQE5xu7Jw\_8A](https://mp.weixin.qq.com/s/ZGzw3VE-8KEQE5xu7Jw_8A)

[https://github.com/stackupfinance/stackup/tree/main/apps/contracts](https://github.com/stackupfinance/stackup/tree/main/apps/contracts)

[https://github.com/eth-infinitism/account-abstraction](https://github.com/eth-infinitism/account-abstraction)

---

*Originally published on [zhangshengjie](https://paragraph.com/@zhangshengjie/eip-4337)*
