3分钟了解 EIP 4337 (账户抽象)如何改善以太坊UX

元宇宙之道2022-10-12 18:23:33

原文作者:biconomy研究员Nishil

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

3分钟了解 EIP 4337 (账户抽象)如何改善以太坊UX

那么,让我们从帐户抽象(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。

3分钟了解 EIP 4337 (账户抽象)如何改善以太坊UX

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

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

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

用户操作(User operations)

捆绑者(Bundler)

Paymaster(可选)

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

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

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

相关图像:

3分钟了解 EIP 4337 (账户抽象)如何改善以太坊UX

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

1、Alice(用户)发起一个“用户操作”并包含它想要执行的 tx;

3分钟了解 EIP 4337 (账户抽象)如何改善以太坊UX

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)的概念。

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

3分钟了解 EIP 4337 (账户抽象)如何改善以太坊UX

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

允许应用开发人员代表其用户支付费用;

允许用户以 ERC20 代币支付费用,合约充当收取 ERC20 的中介;

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

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

提案允许我们使用自定义签名方案。用户现在可以使用 iOS 和 Android 设备的内置方案,将每部手机变成硬件钱包。

它允许在以太坊上为多个签名者提供原生支持。两个或更多用户现在可以批准单笔交易,从而提高安全性。

可以启用社交恢复。如果用户不知何故丢失了他的密钥,那么他可通过简单地让他的朋友和家人为他恢复账户。

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

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

声明:该文观点仅代表作者本人,币妈妈信息发布平台,币妈妈仅提供信息存储空间服务。

元宇宙之道

文章:77 粉丝:81

+ 关注