本文介绍了以太坊账户抽象的概念及其在增强安全性和价值方面的作用。账户抽象允许区块链账户可编程,简化智能合约钱包的编写和操作,并通过多重调用、会话密钥和社会恢复等功能,改善用户体验并降低交易成本。EIP-4337进一步简化了智能合约钱包的流程,无需更改协议即可模拟账户抽象。
账户抽象代表了以太坊生态系统中的一项重大进步,增强了其安全性和价值。它引入了一种新的范式,使区块链账户能够被编程,这对去中心化应用(dApp)的开发具有深远的影响。在本文中,我们将深入研究账户抽象的复杂性,并探讨它如何帮助构建强大的 dApp。
以太坊网络有两种类型的账户:合约账户(Contract Accounts) 和 外部拥有账户(Externally Owned Accounts, EOAs)。
账户抽象主要关注 EOA,它具有 3 个关键属性:代表可用 ETH 的余额、确保交易唯一性的 nonce 以及用于网络识别的地址。
以太坊上的每个账户都链接到一个称为签名者的密码学对象,该对象用作授权以保护账户的 ETH 免受未经授权的使用。
签名者,也称为密钥对,由私钥和公钥组成。私钥签署数字消息,而公钥验证签名是否与私钥对应。
然而,当前的系统使账户所有者面临风险,例如由于小错误而丢失其账户和资金。这种漏洞源于私钥,如果私钥丢失,将导致账户及其内容的丢失。
账户抽象是一种革命性的方法,它通过将账户授权与传统的私钥所有权分离来增强账户授权。通过这种范式,每个账户都可以转换为智能合约,使用户能够部署和使用具有自定义授权逻辑的账户,以满足其独特的需求。
通过抽象授权逻辑,账户抽象将合约账户和外部拥有账户整合到一个统一的系统中,使用户账户更易于编程。它消除了将签名交易逻辑硬编码到账户中的需要,允许将其抽象出来。这是它被称为账户抽象的主要原因。
EIP-4337 代表了以太坊上智能合约钱包的一项重大进步。它通过允许多次调用一些链上和链下所需的基础设施,简化了编写和操作智能合约钱包的过程。
用户无需进行交易,而是可以利用 UserOperations 在更高级别的 mempool 上进行操作。这种进步使开发人员能够以最小的编码工作编写自定义智能合约钱包,而不必担心补贴交易费用。
EIP-4337 的设计目的是模拟账户抽象,而无需对协议进行任何更改,类似于智能合约钱包。但是,它不会消除外部拥有账户,并且建立在 EIP-4337 之上的钱包仍然被认为是以太坊网络上的二等公民。
账户抽象为以太坊生态系统提供了多项好处,其中一些如下:
在以太坊上的传统 dApp 中,每个链下交易都需要一个新的交易,由于高 gas 费用,这可能既费时又昂贵。通过账户抽象,可以将多个交易捆绑到一个称为 multicall 的原子交易中。这种方法可以节省时间并降低用户的交易成本。
会话密钥代表了用户体验(UX)的重大突破。会话可以通过多种方式定义,包括给定的持续时间、最大 gas 量、最大交易量或特定功能。此功能使用户可以更轻松地管理其账户并执行交易,而不必担心底层技术的复杂性。
社交恢复是一种在用户丢失其账户时保护用户的机制。与诸如 MetaMask 之类的钱包的典型恢复方法 助记词(seed phrases) 不同,社交恢复使用户能够授权一个新密钥作为合法的钱包所有者,从而无需记住或检索丢失的私钥。此功能增强了以太坊账户的安全性和可用性。
总而言之,账户抽象是以太坊的一项重大进步,允许可编程的区块链账户和可自定义的授权逻辑。诸如 multicall,会话密钥(session keys)和 社交恢复(social recovery)之类的功能使以太坊更加用户友好和高效。
EIP-4337 的最新发展进一步简化了编写和操作智能合约钱包的过程。账户抽象是以太坊和区块链技术未来的一个有希望的方向。
- 原文链接: medium.com/@tomarpari90/...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!