账户抽象提案 EIP-4337 如何改善以太坊用户体验?

fffmCQ.jpg

提案允许用户使用自定义签名方案,且支持多签和社交恢复。

 

原文标题:《3 分钟了解 EIP 4337 (账户抽象)如何改善以太坊 UX

撰文:Nishil,Biconomy 研究员

编译:隔夜的粥

 

以太坊的主要缺点之一是用户体验复杂,让我们了解一下由 nethermind 以及 opengsn 研究者提出的 EIP 4337‌ 是如何尝试用账户抽象(Account Abstraction)来解决这个问题的。

 

账户抽象提案 EIP-4337 如何改善以太坊用户体验?

 

那么,让我们从帐户抽象(AA)的意义开始。

 

一、帐户抽象(AA)的定义

 

帐户抽象可以为用户提供了简化使用帐户的能力,从而降低对底层流程的了解要求。

 

就像我们使用一个 gmail 帐户,而不需要知道它是如何工作的一样。

 

有了帐户抽象,我们就有机会远离可怕的助记词世界。

 

我们可以启用不同的签名选项,gas 费用可以由 Dapp 赞助或通过法定货币支付等等。

 

现在,我们知道了帐户抽象(AA)的定义是什么,让我们了解如何将它带到以太坊。

 

二、如何为以太坊实现账户抽象

 

目前以太坊上有两种类型的账户:

 

  • 外部拥有账户 (EOA)
  • 智能合约账户

所谓外部拥有账户 (EOA),是指这些帐户由用户的密钥对(公钥和私钥)控制, 这是大多数用户用来与以太坊交互的方式,Metamask(钱包)等服务充当与这些帐户交互的接口。

 

智能合约账户则不受任何私钥控制,而是由其代码控制。 例如,所有的 DeFi 协议都由智能合约账户控制。

 

以太坊的问题在于,外部拥有账户 (EOA) 获得了智能合约账户所没有的特权。最显着的例子是发起交易的能力。 目前,只有外部拥有账户 (EOA) 可以做到这一点。

 

这是一个问题,因为 EOA 功能被硬编码到以太坊协议中,并且没有定制空间。

 

例如:Gmail 为你提供了在你的帐户上启用 2FA 的选项。 而今天在以太坊上无法实现类似的可定制性。

 

以太坊上的 EOA 有以下限制:

 

  • 用户不能使用自定义签名方案。 ECDSA 是以太坊用来生成公私密钥对的典型签名方案。
  • Gas 费必须以原生加密货币 ($ETH) 支付。
  • 因为你的私钥就是你的账户,丢失你的密钥就意味着丢失你的账户。

所有这些问题都可以通过智能合约钱包轻松解决,因为它们允许使用自定义逻辑。

 

但如前所述,以太坊上的交易只能通过 ECDSA 保护的外部拥有账户 (EOA) 发起,而不能通过智能合约钱包发起。

 

现在你可能会问——我们为什么不改变它呢?

 

好吧,EIP 2938‌ 是解决此问题的一种途径。 它引入了以太坊协议更改,允许交易从智能合约而不是 EOA 发起。

 

但问题在于,它需要对协议进行重大更改。

 

因此,nethermind 以及 opengsn 的研究人员在 Vitalik Buterin 的帮助下提出了 EIP 4337。

 

账户抽象提案 EIP-4337 如何改善以太坊用户体验?

 

该提案提出了一种解决方法,无需更改任何共识层协议,就能为以太坊带来「账户抽象」。

 

它没有修改共识层本身的逻辑,而是将当前 tx 存储池的功能复制到更高 level 的系统中。

 

流程有很多活动部分,其中包括:

 

  • 用户操作(User operations)
  • 捆绑者(Bundler)
  • Paymaster(可选)

接下来,让我们一一了解这几个概念。

 

该提案引入了「用户操作」的概念,这些操作允许我们将自定义功能编码到我们的智能合约钱包中。

 

用户操作将用户的意图、签名以及其他数据打包以进行验证。

 

相关图像:

账户抽象提案 EIP-4337 如何改善以太坊用户体验? 

 

以下是通过智能合约钱包发起一笔交易的一般流程:

 

1-Alice(用户)发起一个「用户操作」并包含它想要执行的 tx;

 

账户抽象提案 EIP-4337 如何改善以太坊用户体验?

 

2- 她将该操作发送到一个 高 level 的「用户操作存储池」。

 

3- 该操作被部分验证,并广播到 P2P 存储池节点网络。

 

4 – 操作由「Bundler」选择执行,任何人都可以成为 Bundler ,例如 MEV 搜索者、验证者、你或我等等。

 

5 – 然后 Bundler 将所有操作捆绑到一笔大的 tx 中。

 

6 – Bundler 将区块与其他 tx 一起包含在以太坊区块中。

 

现在让我们尝试分解 Bundler 的功能,以了解如何执行和验证 tx。

 

1 – Bundler 将 tx 路由到一个全局「入口点」智能合约。

 

2 – 全局合约通过每个用户操作并调用智能合约钱包中的「验证函数」。

 

3 – 钱包运行此函数来验证用户操作的签名并补偿 bundler 捆绑这些交易。

 

4 – 钱包运行一个执行操作以执行操作中指定的交易。

 

5 – 然后在执行操作后将剩余的 gas 退还给钱包。

 

该 EIP 还提出了「付款人」(paymaster)的概念。

 

用户现在可以不再依赖他们的钱包,而是可以让付款人赞助他们的交易费用。

 

账户抽象提案 EIP-4337 如何改善以太坊用户体验?

 

赞助交易功能有很多用例, 最常被引用的用例是:

 

  • 允许应用开发人员代表其用户支付费用;
  • 允许用户以 ERC20 代币支付费用,合约充当收取 ERC20 的中介;

 

三、账户抽象对我们意味着什么

 

所有这一切都非常令人兴奋,但我们为什么要关心呢? 好吧,有多种原因。

 

  • 提案允许我们使用自定义签名方案。 用户现在可以使用 iOS 和 Android 设备的内置方案,将每部手机变成硬件钱包。
  • 它允许在以太坊上为多个签名者提供原生支持。 两个或更多用户现在可以批准单笔交易,从而提高安全性。
  • 可以启用社交恢复。 如果用户不知何故丢失了他的密钥,那么他可通过简单地让他的朋友和家人为他恢复账户。

好了,以上就是该提案的全部内容。

 

这个提案引入了多种创新途径,我希望我解释地清楚了它们。 看到团队构建的用例,为用户提供更好的用户体验,将是令人兴奋的。

声明:该文观点仅代表作者本人,与炒币网无关。炒币网系信息发布平台,仅提供信息存储空间服务。对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,并不对文章观点负责。 提示:投资有风险,入市须谨慎。本资讯仅供参阅,不作为投资理财建议。

发表评论

登录后才能评论