EIP-3074:重塑以太坊用户体验
这项创新提案正在为以太坊外部账户(EOA)带来革命性的变化
EIP-3074的核心突破在于允许EOA将控制权委托给特定智能合约,从而获得与智能合约账户同样丰富的功能。在传统模式下,EOA每次交易只能执行单一操作,比如授权ERC20代币或在Uniswap上进行兑换。而EIP-3074彻底改变了这一局限,使得多个操作可以一次性完成,甚至实现了许多过去难以想象的功能组合。这项升级不仅显著提升了用户体验,还将重塑现有的代币授权机制,在保持便捷性的同时大幅提升安全性。
更令人振奋的是,EIP-3074让EOA用户不再需要亲自提交链上交易,这意味着用户不再需要预先准备ETH来支付gas费用。
Invoker合约的工作原理
能够获得EOA控制权的特殊合约被称为Invoker合约。当然,并非任何合约都能获得这种权限:EOA用户需要使用私钥进行签名,签名内容会明确指定授权的Invoker合约地址以及允许执行的具体操作。
典型的执行流程如下:首先,用户Alice用她的EOA私钥签名,将签名内容和签章交给Relayer;随后Relayer将交易提交到链上Invoker合约执行;最后Invoker合约验证签章,通过后就能以Alice的EOA身份执行预先授权的操作,比如先授权USDC,再到Uniswap进行兑换,最后转部分USDC给Relayer作为手续费。
值得注意的是,Relayer并非必需环节,Alice也可以自行提交签名内容和签章到链上。
不过需要特别注意的是,执行这些操作不会增加EOA的nonce值,因此同一签名可能被重复使用。为了避免重放攻击,Invoker合约需要自行实现一套nonce机制。
EIP-3074的创新应用场景
Batchcall功能让用户将原本需要多笔交易完成的操作合并为单笔交易,既简化了多次授权签名的繁琐过程,又节省了gas费用。但这需要dApp本身支持批量调用功能,比如目前社区正在推进的EIP-5792。
Session Key功能则允许用户在设定条件限制下授权第三方代为操作。比如可以设置仅限操作Uniswap、每日最多转出1ETH、授权有效期等条件。这些限制条件都在Invoker合约中设计并检查,只要满足条件,被授权方就能以用户EOA身份执行操作。
Native ETH Permit功能实现了原生ETH的授权转账。只要满足条件(即Permit签章合法),就能以授权人EOA身份执行ETH转账。
限价单的创新实现
用户设置好限价单条件后,当条件满足时系统就能以用户EOA身份执行相关操作,包括授权代币给DEX、进行兑换等。与传统DEX提供的限价单相比,用户不再需要预先提交交易授权给DEX。
如果将条件设计得更加通用,这种模式就演变成了Intent合约:只要用户设定的条件得到满足,任何人都能以他的EOA身份执行相应操作。
EIP-3074对现有授权模式的革新
当前dApp都基于用户是EOA的假设设计:用户必须”预先授权”且要”授权足够大的金额”给dApp合约,这样用户就不需要随时在线等待dApp执行,也无需重复授权。这种设计虽然提升了用户体验,但也带来了安全隐患。
后来出现的permit模式(如代币原生的EIP-2612或非原生的Permit2)改善了授权体验和安全性:用户不再需要授权大额给各个dApp合约,而是只需”签署一个签名”就可以授权dApp合约在”指定时间”内”提取指定金额”。这既缩小了攻击面,又提升了使用体验。
然而,permit模式仍然频繁被用于诈骗攻击:受害者误签以为是给dApp使用的permit,实际却授权给了攻击者。用户在签署permit时,只能看到授权对象,却不知道这个授权会被”用于什么”操作。
EIP-3074带来了根本性变革:当dApp开发者了解EOA可以通过Invoker实现各种复杂操作后,就不必再为提升体验而牺牲安全性。用户可以将dApp操作与授权绑定,通过Invoker实现原子化执行:要么授权和操作一起成功,要么一起失败,避免了单独授权成功的风险。同时用户仍使用链下签名授权方式,保持了与permit相同的便捷性。
钱包如何处理EOA nonce
当前EIP-3074设计将EOA nonce值包含在签名内容中,因此只要EOA发送一笔交易改变了nonce值,原有的EIP-3074授权就会全部失效。这对使用体验和机制稳定性都有显著影响。
如果是用户自行授权操作,则不需要特别避免EOA nonce改变,因为EIP-3074签名和普通交易一样预期在一定期限内执行。只是钱包需要额外管理该EOA的EIP-3074交易:如果有EIP-3074签名等待上链,那么EOA自身的交易就需要等待。
值得注意的是,如果用户要自行提交EIP-3074签名内容上链,会面临两个问题:需要签署两次(EIP-3074签名和上链交易签名);由于上链交易会在执行前就将EOA nonce+1,因此EIP-3074签名中的EOA nonce需要预先+1才能匹配。
展望未来
EIP-3074不仅赋予EOA前所未有的功能,还从根本上改善了现有的授权模式。它让用户不再需要预先授权大额资金,而是在操作时才进行授权;保持单纯签名的便捷性;更重要的是让每次授权都与具体操作绑定,用户可以清楚知道授权的用途。这比现有的approve和permit模式都更加安全。
我们期待EIP-3074能够成功取代现行的授权模式,为用户提供更安全、更便捷的区块链交互体验。这项创新不仅将改变开发者的设计思路,也将重塑整个以太坊生态的安全范式。
声明:文章不代表CHAINTT观点及立场,不构成本平台任何投资建议。投资决策需建立在独立思考之上,本文内容仅供参考,风险 自担!转载请注明出处:https://www.chaintt.cn/14216.html