以太坊的一个主要缺点是用户体验复杂。
本文将带你了解Nethermind和OpenGSN.eth于2021年9月21日提出的EIP-4337如何尝试使用账户抽象来解决这个问题。
让我们从账户抽象(Account Abstraction,简称AA)的含义开始。
账户抽象为用户提供了在更高层次上使用账户的能力,而无需对底层流程了解过多。
就像使用Gmail账户却不知道它的运行原理一样。
有了AA,我们就有机会远离助记词的可怕世界。
我们可以启用不同的签名选项,gas费可以由Dapp赞助或通过法币支付,等等。
现在我们知道了AA是什么,让我们了解一下如何将它引入以太坊。
目前以太坊上有两种类型的账户:
1. 外部拥有账户(EOA)
2. 智能合约账户
外部自有账户由用户的密钥对(公钥和私钥)控制。这是大多数用户用来与以太坊交互的工具。
Metamask(钱包)等服务充当与这些账户交互的接口。
智能合约账户不受任何私钥控制,而是由它们的代码控制。例如,所有的DeFi协议都由智能合约帐户控制。
以太坊的问题是EOA获得了智能合约账户所没有的特权。
最明显的例子是启动交易的能力。目前,只有EOA可以做到这一点。
这是个问题,因为EOA功能被硬编码到以太坊协议中,没有定制空间。
例如:Gmail为你提供了在你的帐户上启用2FA(双因素认证)的选项。类似的自定义功能目前无法在以太坊上实现。
以太坊上的EOA有以下限制:
1. 用户不能使用自定义签名方案。ECDSA是一种典型的签名方案,以太坊使用它来生成公私钥对。
2. Gas费用必须用原生加密货币(ETH)支付。
3.因为你的私