简析以太坊账户抽象提案EIP-4337机制设计与优缺点

    EIP-4337提案目的是避免对共识层协议的更改,旨在实现帐户抽象、去中心化、无共识更改以及支付交易费用的目标。在这篇文章中我们将得到一个关于EIP-4337在帐户抽象中的角色的完整概念。EIP-4337机制设计与优缺点介绍该提案包括一些更改,以避免对共识层协议的更改,而不是依赖于更高层的基础设施。它旨在实现以下目标:帐户抽象:允许用户使用包含任意验证逻辑的智能合约钱包,而不是EOA作为他们的主要帐户。去中心化:允许任何绑定者参与包含帐户抽象用户活动的过程。用户不需要知道任何参与者的直接通信地址,就可以处理跨公共内存池发生的任何活动。

    无共识更改:为了更快的采用,这个提议避免了共识变更。支付交易费用:使用ERC-20代币支付交易费用,使开发人员能够为他们的用户支付费用,以及类似EIP-3074的赞助交易用例。以下是该提案中的一些新特性。所有操作都在对等内存池中进行。用户不必担心他们的钱包合约已经发布,因为钱包存在于确定性的CREATE2地址,如果钱包不存在,UserOperation会自动创建它。用户现在将能够设置一个固定的费用溢价和最大总费用,并期望它能够快速包含在内并合理收费。

    通过模拟检查的UserOperation被保证是可包含的,直到发送者有另一个状态改变,这将要求攻击者为每个发送者支付7500+gas。工作用户发送UserOperation对象,该对象封装了用户的目的以及用于验证的签名和其他数据。利用Flashbots等服务的矿工或绑定者可以将UserOperation对象组合成单个捆绑交易,然后将其包含在以太坊区块中。绑定者为ETH中的捆绑交易支付成本,并通过每个单独执行UserOperation所支付的费用进行补偿。绑定者将使用费用优先级逻辑选择包含哪些UserOperation对象。为了简化钱包的逻辑,维护安全所需的大多数复杂智能合约逻辑都在钱包之外执行,在一个称为入口点的全局合约中执行。

    validateUserOp和执行功能预计将与门控require(msg.sender==ENTRYPOINT),这样只有可信的入口点才能触发钱包进行操作或支付费用。在使用有calldata的UserOperation验证userop成功之后,入口点对钱包进行任意调用,这样做是为了保护钱包免受攻击。如果成功模拟了UserOperation的验证,则保证UserOperation在发送方帐户的内部状态更改之前是可包含的。发起交易我们可以允许应用开发者代用户支付费用,并允许用户用ERC20代币支付费用,通过合约作为中介收取ERC20代币并使用ETH支付。该提案可以通过付款主管机制支持上面的用例。对于用例1:Paymaster验证发起人的签名包含在PaymasterData中,表明发起人已经准备好为UserOperation付费。

    如果签名有效,Paymaster接受,UserOperation费用从发起人的份额中扣除。对于用例2:Paymaster检查发起人钱包是否有足够的ERC20余额来支付UserOperation。如果是,Paymaster接受并支付ETH费用,然后在postOp中申领ERC20代币。EIP-4337机制优势验证逻辑灵活性:validateUserOp函数添加了任意签名和随机数验证逻辑。执行逻辑灵活性:钱包将能够为执行步骤添加自定义逻辑。钱包可升级性:钱包将能够更改其公钥或升级其代码。EIP-4337机制缺点增加DoS漏洞:验证逻辑比单个ECDSA验证更复杂。一次一个交易:帐户不能排队并将多个交易发送到Mempool。Gas开销:与正常交易相比,更多的gas开销。

声明:文章内容不代表本站观点及立场,不构成本平台任何投资建议。本文内容仅供参考,风险自担!

Pixel Artist Pixel Artist
Happy Kittens Puzzle Happy Kittens Puzzle
Penguin Cafe Penguin Cafe
Animal Connection Animal Connection
Snakes N Ladders Snakes N Ladders
Pixel Skate Pixel Skate
BeeLine BeeLine
Draw Parking Draw Parking
Draw Racing Draw Racing
Soccer Balls Soccer Balls
Happy Fishing Happy Fishing
Crashy Cat Crashy Cat

FREE GAMES FOR KIDS ONLINE