V神提出的EIP-2938将给以太坊带来哪些改变?
在本文中,我们提出了智能合约钱包背景下对账户抽象的需求。 原文来源:加密谷 以太坊有两种类型的账户。外部自有账户(EOA)和合约账户(CA)。EOAs 由私钥控制,而 CA 由其中包含的智能合约代码控制。EOAs 一直比 CA 更有特权,因为只有 EOAs 可以通过支付 gas 开始交易执行。账户抽象 (AA) 是一个提案,它允许合约像 EOA 一样成为一个 ” 顶层 ” 账户,其可以支付费用并开始交易执行。 账户抽象的动机是显著改善用户在钱包、 DApps 和 DeFi 等各种场景下与以太坊进行交互时的用户体验。账户抽象在以太坊中提供了一个基础层的功能,来决定什么时候可以支付 gas,以及对谁支付 gas 等问题。 Status Messenger 应用集成了一个以隐私为中心的信息系统,以及一个以太坊钱包和一个 Web3 DApp 浏览器。Status wallet 目前是一个 EOA 钱包,它限制了我们提供只有智能合约钱包才能提供的丰富的用户体验,如多重签名安全、社交恢复、利率限制、允许 / 拒绝地址列表和无 gas 的元交易。目前智能合约钱包的用户体验到了 gas 费波动的影响,并且第三方中继器无法有效解决这个问题。而账户抽象旨在解决这个问题。 在本文中,我们提出了智能合约钱包背景下对账户抽象的需求。然后,我们通过描述协议变化和对节点的影响深入探讨账户抽象的关键方面。最后,我们讨论了一些扩展的提议,并通过合理化与以太坊接口的 Status 项目的计划路线图来结束,这些项目可能都会受到账户抽象的影响。 历史 & 动机 账户抽象最初是在 2017 年以 EIP-86 的形式提出的,目的是实现「交易来源和签名的摘要」,但这一想法的起源可以追溯到更早的 2016 年。当时有人建议:「与其有一个协议内机制,将 ECDSA 和默认的 nonce 方案作为唯一的「标准」方式来保证账户的安全,不如采取初步措施,建立一个模型,从长远来看,所有的账户都是合约,并且合约可以支付 gas,用户可以自由定义自己的安全模型。」 最初的建议被认为是具有挑战性的,因为需要改变许多协议并且需要保证安全性。最近,Vitalik Buterin 等人提出了 EIP-2938 的草案,该草案概述了一个更容易实现的方法:通过将协议 / 共识的变化最小化,并通过节点 mempool 规则强制执行所需的安全保证。由 Sam Wilson 和 Ansgar Dietrichs(另外两位 EIP 作者) 撰写的 Vitalik 的以太坊 Engineering Group Meetup presentation 和 ETH Online presentation(以及相关文章 1 和 2) 为这个主题提供了更详细的介绍。本文重点介绍了所有这些来源的关键内容。 动机 账户抽象背后的动机原理非常简单,但却是根本性的:今天的以太坊交易具有可编程的效果(通过调用智能合约实现),但它们只具有固定的有效性,即只有当它们具有有效的 ECDSA 签名与有效的 nonce,并且具有足够的账户余额时,交易才是有效的。账户抽象 通过引入一种新的账户抽象交易类型,将交易从固定有效性升级为可编程有效性。这种账户抽象交易类型总是来自一个特殊的地址并且协议不需要对其进行签名、Nonce 或余额检查。这种账户抽象交易的有效性由目标智能合约决定,目标智能合约可以执行自己的有效性规则,之后它可以决定为这类交易付款。 那么,为什么这个很有用呢?我们以以太坊钱包为例来强调账户抽象的好处。 智能合约钱包:如今大多数以太坊钱包都是 EOA 钱包,它由种子短语生成的私钥保护。(BIP-39 种子短语是一个由 12-24 个单词组成的有序列表,这些单词是从 2048 个单词中随机选择的。这提供了获得二进制种子所需的熵,该种子使用 PBKDF2 函数生成。然后,二进制种子被用来生成 BIP-32 钱包的非对称密钥对。) 用户应该把种子短语写在安全的地方,因为以后在另一个钱包上恢复密钥时可能需要它。然而,这种钱包很容易受到私钥被盗或种子短语丢失的影响,从而导致用户的资金损失。 智能合约钱包是通过智能合约在链上实现的。这种钱包通过实现多签名安全、社交或基于时间的恢复、交易或金额的速率限制、允许 / 拒绝地址列表、无 gas 交易和批量交易等功能,提供可编程的功能缓解风险以及用户友好体验。 虽然智能合约钱包暴露在易受攻击的智能合约的安全风险之下,但钱包提供商执行的安全测试和审查可以减轻这种风险。EOA 钱包的风险完全在于钱包用户,他们被委托负责种子短语的安全,而在智能合约中没有任何可保障安全的程序。 智能合约钱包的例子有 Argent、Authereum、Dapper、Dharma、Gnosis Safe、Monolith 和 MYKEY。如下图所示,这类钱包的采用率似乎在增加。 Argent 通过他们的 Guardians 概念实现了无密钥社交恢复功能,其中 Guardians 是用户信任的人或设备,可以帮助找回用户的钱包。 Argent 还旨在实现类似银行的安全性(通过每日交易限额、账户锁定和可信联系人等功能)以及类似 Venmo 的可用性(通过使用 ENS 名称而非地址和支持元交易)相结合。 Gnosis Safe 是一个多签名的智能合约钱包,专注于团队管理资金,需要团队成员的最低数量(m-of-n)批准交易才能发生。它还可以通过元交易实现无 gas 签名。 所有这些先进的钱包功能都需要使用完善的智能合约。钱包用户要么需要与 EOA 进行交互,要么依赖钱包提供商通过提供商的中继器或第三方中继器网络(如 Gas Station Network)来支持元交易。前者依赖于在