EIP-3074:革新以太坊授权方式的里程碑
在以太坊生态系统中,授权(Authorization)一直是一个关键的概念,它涉及到用户对合约的操作权限以及资产的管理。然而,传统的授权方式,如 approve 和 permit,存在着诸多安全和使用体验上的不便之处。为了解决这些问题,以太坊提出了 EIP-3074,这是一项革命性的提案,将彻底改变以太坊上的授权方式,为用户带来更好、更安全的使用体验。
EIP-3074 的背景
在传统的以太坊生态系统中,用户在与智能合约交互时通常需要进行授权操作。这些操作可能涉及到资产的转移、交易的执行等。然而,传统的授权方式存在着诸多问题,比如用户需要事先批准大量资产给合约,安全性难以保证,使用体验不佳等。
EIP-3074 的改变
EIP-3074 的提出将彻底改变以太坊上的授权方式。它允许 EOA(Externally Owned Account)将控制权委托给指定的合约,从而获得与合约相同的丰富执行能力。这意味着用户不再需要事先批准大量资产给合约,而是在需要执行操作时才进行授权。这一改变极大地提升了使用体验,并且更加安全。
EIP-3074 的影响非常广泛,主要体现在以下几个方面:
扩展了 EOA 的执行能力: EIP-3074 允许 EOA 将控制权委托给指定的合约,从而获得与合约相同的丰富执行能力。
提升了使用体验: 在 EIP-3074 之前,EOA 每次发送交易只能执行一个操作,如 approve ERC20 或在 Uniswap 上进行资产兑换。但是,通过 EIP-3074,EOA 可以一次性完成多个操作,或者甚至执行以前无法想象的操作,从而提升了用户的使用体验。
改变了授权方式: 传统的授权方式,如 approve 和 permit,可能会被 EIP-3074 取代。EIP-3074 的签名是与指定的操作绑定的,用户可以清楚地知道这次授权是用来做什么的,从而提高了安全性。
Invoker 合约的作用
获得 EOA 的控制权: Invoker 合约是能够获得 EOA 控制权的合约。EOA 使用私钥签名,签名内容明确指定了是哪个 Invoker 合约以及允许 Invoker 执行的操作。
执行流程: 实际执行流程包括 EOA 签名、Relayer 上链到 Invoker 合约执行、Invoker 验证签名并执行操作。这样的设计使得 Invoker 合约可以以 EOA 的身份执行操作,从而扩展了 EOA 的能力。
Invoker 合约的用途
Batchcall: 允许用户将原本需要分为多个交易的操作合并为一笔交易,从而节省了多次授权签名的过程以及一些 Gas 成本。
Session Key: 允许第三方在有条件限制下代为操作,例如限制操作的有效期限等。
Native ETH Permit: 允许以授权人 EOA 身份执行 ETH 转账,达成原生 ETH Permit 的效果。
Limit Order: 允许用户填写限价单条件,等到条件满足时以用户 EOA 身份执行操作,包括 approve 相关数字资产给 DEX、去 DEX 互换等操作。
Social Recovery: 允许在用户遗失 EOA 私钥时,通过之前签好的 EIP-3074 授权,结合其他授权人的签名将资产转移走。
EIP-3074 是一项重要的以太坊改进提案,其影响涵盖了多个方面,包括资产授权方式的改进、钱包对 EOA(外部拥有者账户)的处理方式等。以下是 EIP-3074 的主要影响:
改善资产授权方式
EIP-3074 的实施改善了现有的资产授权方式,可能取代了传统的 approve/permit 模式。传统模式下,用户需要事先授权给 DApp 足够大的资产数量,这提升了使用体验,但也带来了一定的安全隐患。EIP-3074 使得授权变得更加灵活,用户可以在需要执行操作时才进行授权,而不需要事先将大量资产授权给 DApp。这种方式类似于 permit 模式,但更安全,因为每次授权都是与指定的操作绑定的,用户可以清楚地知道这次授权是用来做什么的。
钱包处理 EOA nonce 的方式
EIP-3074 对于钱包处理 EOA nonce 的方式也产生了影响。当前的 EIP-3074 设计中,EOA nonce 值被包含在签名内容中,因此只要 EOA 发送一笔交易上链执行,改变了 nonce 值,原本的 EIP-3074 授权就会失效。这对于一些需要 EOA 代为操作的情况,如 Session Key 或 Social Recovery,会有一定的影响。钱包需要管理好 EOA 的 EIP-3074 交易,以确保授权的有效性。另外,钱包也需要注意处理 EOA nonce 的变化,以避免授权失效。
未来可能的取代授权模式
EIP-3074 的实施可能会取代传统的 approve 和 permit 模式,提供给用户更安全的授权方式。传统的 approve 模式存在安全隐患,而 permit 模式虽然提升了安全性,但仍然被频繁利用于诈骗。有了 EIP-3074,用户可以在需要执行操作时才进行授权,并且可以清楚地知道这次授权是用来做什么的,从而提供了更安全的授权方式。
EIP-3074 的意义与前景
EIP-3074 的提出标志着以太坊生态系统授权方式的重大变革。它将为用户带来更好的使用体验,提升了以太坊的整体安全性。未来,随着 EIP-3074 的逐步普及,我们有理由相信以太坊生态系统将迎来更加繁荣的发展。
总的来说,EIP-3074 的提出是以太坊生态系统的一个重要里程碑,它为我们展示了未来授权方式的新方向,为用户提供了更好的服务,同时也为整个生态系统的发展注入了新的活力。
版权声明: 本文为 InfoQ 作者【区块链软件开发推广运营】的原创文章。
原文链接:【http://xie.infoq.cn/article/7b1817caf9d9cd0dee384ffb5】。文章转载请联系作者。
评论