在以太坊社区流传的最新进展之一是“账户抽象”的概念。虽然这听起来可能是技术性的,但它是关于让以太坊区块链更加灵活和用户友好的。账户抽象有可能彻底改变人们与以太坊的互动方式,以太坊是世界上最常用和最重要的区块链平台之一。这是您需要知道的。
在本指南中:
- 了解账户抽象
- 账户抽象对用户的好处
- 账户抽象如何运作
- 通过账户抽象拥抱以太坊的未来
- 帐户抽象能否提高 web3 的采用率?
- 经常问的问题
- 关于作者
了解账户抽象
账户抽象允许用户根据自己的需要自定义他们与以太坊区块链的交互方式。通常,用户使用外部拥有账户(EOA)或与一个唯一私钥关联的合约账户与以太坊交互。任何拥有私钥的人都可以不受限制地执行任意交易。
通过帐户抽象,用户可以进行更精细的控制。这可能需要多个签名才能触发交易,实现社会恢复,或对允许用户帐户与之交互的智能合约实施限制。
关于账户抽象需要理解的一件重要事情是它不会改变以太坊区块链的共识层。相反,它通过单独的 UserOperation Mempool 和本文描述的账户抽象架构为用户引入了一种与以太坊交互的新方式。
账户抽象对用户的好处
账户抽象不仅仅是一种技术创新——它对以太坊区块链的用户有真正的好处:
灵活性:通过账户抽象,用户可以根据自己的需要定制交易规则。这可以启用传统交易无法实现的高级功能和更复杂的安全措施。
易用性:通过让第三方开发者或其他方代表用户支付交易费用,账户抽象可以让以太坊更加人性化。它还可以使用户入职更加无缝。
提高安全性:帐户抽象可以实现各种安全性增强。其中包括多重签名控制、账户冻结和恢复、交易限制和白名单创建。
让我们深入研究一些具体的用例,在这些用例中,帐户抽象可以产生重大影响。
1. 多签交易与社会恢复
帐户抽象的一个引人注目的用例涉及使用多重签名交易。目前,大多数终端用户使用 EOA 地址与以太坊进行交互。与 EOA 地址关联的私钥表示单点故障。
但是,在不希望出现单点故障的高风险情况下,帐户抽象可以提供解决方案。用户可以将他们的帐户设置为在交易获得批准之前需要多个签名,这很像联合银行帐户或当今开发人员主要使用的多重签名合同。这对于更广泛的用户和组织特别有用,在这些用户和组织中,重大交易需要得到多方批准,从而增强交易安全性。
传统 EOA 设置的另一个风险是,如果用户丢失了他或她的私钥,他们将无法再次访问 EOA。所以,没有办法恢复私钥。帐户抽象可以实现社会恢复,从而减轻这种风险。
Vitalik Buterin 对“社会恢复”系统的描述如下:
- 有一个单一的“签名密钥”可用于批准交易。
- 有一组至少三个(或更多)“监护人”。其中,大多数可以合作更改帐户的签名密钥。
通常,用户可以使用“签名密钥”,类似于他或她对标准 EOA 帐户使用私钥的方式。
但是,如果签名密钥丢失,用户可以联系“监护人”,要求他们签署交易以更改钱包合约中注册的签名密钥。如果大多数监护人签署了交易,则可以更改签名密钥。与 web2 应用程序中的“忘记密码”功能一样,“社交恢复”大大降低了用户被永久锁定在其帐户之外的风险。
2. 智能合约交互
账户抽象可以改变用户与智能合约交互的方式。使用传统的以太坊账户,用户签署的任何交易都会发生,没有办法限制任何事情。有许多用户在不知不觉中与恶意智能合约交互并丢失其资产的例子。使用“帐户”合约,可以有任何逻辑来控制智能合约交互。
例如,“账户”合约可以维护一个已经过审查并且可以与用户安全交互的合约白名单,从而降低了在不知不觉中与恶意合约交互的风险。此外,“账户”合约支持批处理交易和会话密钥,因此用户可以签署一次并执行多项交易,而不必像传统 EOA 设置要求的那样分别签署每项交易。
这可以为更广泛的受众打开去中心化应用程序 (DApp) 的世界,并改善用户体验。
3. 用户友好和精细的安全措施
帐户抽象还可以允许用户将高级安全措施纳入他们的帐户。这可能包括用户在检测到可疑活动时冻结帐户的能力,就像使用信用卡一样。此外,用户可以在他们的账户上设置支出限额,以防止在单笔交易中发送大量资金。或者,他们甚至可能采用分层方法,其中常规交易可以立即执行,但更大的交易需要多重签名批准。
通常,帐户抽象可以为最终用户提供更精细的控制级别。这可以提供额外的保护层以防止黑客攻击和未经授权的交易。
4. 燃气支付灵活性
交易费用或天然气是以太坊生态系统的基础。目前,用户必须使用以太坊的原生加密货币以太币 (ETH) 支付汽油费。然而,账户抽象可以允许用户用其他代币支付汽油费。这对于持有大量特定 ERC-20 代币并希望使用它与特定Dapp或平台进行交互而无需先获取原生代币来支付 gas 的用户特别有用。
Gas 支付的灵活性还使 DApp 能够赞助用户交易,以便更轻松地加入和获取用户。想象一下,如果您可以在不支付任何交易费用的情况下与Dapp进行交互。账户抽象可以通过允许第三方支付交易的 gas 成本来实现这一点。这可能会改变Dapp采用的游戏规则,消除新用户进入的主要障碍之一。
账户抽象如何运作
帐户抽象有许多关键技术组件,包括:
- 用户操作
- 捆绑器
- 入口点
- 账户合约(及其相关的“账户工厂”合约)
- 出纳员
UserOperation 是一个 ABI 编码结构。它描述了用户执行的事务。
Bundler 是一个块生成器,它从单独的 UserOperation 内存池中捆绑多个 UserOperation,并将捆绑包发送到 EntryPoint 合约。
EntryPoint 合约是以太坊上的单例智能合约,负责处理所有用户操作包的验证和执行。
Account合约是用户的智能合约钱包,代表用户进行签名验证和处理交易。 `Account Factory` 合约创建 Account 合约。
Paymaster 合约是一个可选的智能合约,可以为用户账户合约赞助 gas 费用,因此没有任何ETH支付 gas 费用的用户仍然可以与以太坊进行交互。
Vitalik Buterin 在下面的两张图中总结了帐户抽象的架构和高级控制流程。
账户抽象架构:以太坊改进提案帐户抽象控制流程。资料来源:以太坊改进建议
通过账户抽象拥抱以太坊的未来
当我们展望以太坊和区块链技术的未来时,账户抽象的概念作为一项关键创新而出现。它不仅标志着以太坊在灵活性、安全性和用户友好性方面的进步,而且还使我们离区块链技术深深融入我们数字生活结构的未来又近了一步。
账户抽象是一个强大的工具,有望增强以太坊体验,为用户和开发者等打开一个充满可能性的世界。它标志着对严格交易规则的转变,允许更加可定制和交互的区块链环境。
通过 EIP-4337 及其在主网的实施,以太坊社区展示了其对持续创新的承诺。该提案巧妙地规避了对以太坊共识协议进行任何更改的需要,从而促进了向以太坊主网实施的更平稳过渡。
帐户抽象能否提高 web3 的采用率?
帐户抽象的潜在好处超出了技术改进的范围。通过创建一个更直观、更易于访问的环境,以太坊的采用率可能会激增,迎来一波新用户,他们以前认为区块链技术(可以理解)令人生畏或难以驾驭。
此外,先进的安全措施可以让用户更加安心,增强对系统的信任和信心。随着我们不断探索区块链技术的边界,账户抽象等概念提醒我们,唯一的限制是我们的想象力。
经常问的问题
“账户抽象”在以太坊中意味着什么,为什么它很重要?
以太坊中的账户抽象是指旨在使以太坊区块链更具可定制性和用户友好性的关键开发。它本质上允许用户根据他们的特定需求微调他们与以太坊区块链的交互方式。传统上,用户使用与唯一私钥链接的外部拥有帐户 (EOA) 与以太坊交互。
然而,账户抽象为用户提供了更细粒度的控制,例如能够要求对交易进行多个签名、启用社交恢复或对用户账户可以与之交互的智能合约设置限制。这一发展有可能大大增强人们与以太坊的互动方式。
以太坊的账户抽象是如何工作的?
以太坊的账户抽象通过引入平台的新基础设施工作。这包括几个关键组件:UserOperation、Bundler、EntryPoint、Account Contract(及其关联的 Account Factory 合约)和 Paymaster。 UserOperation 是一个描述用户交易的编码结构。
Bundler 是一个块生成器,它将来自单独的 UserOperation 内存池的多个 UserOperation 分组,并将该包发送到 EntryPoint 合约。 EntryPoint 合约是以太坊上独一无二的智能合约,负责处理这些捆绑包的验证和执行。 Account合约是用户的智能合约钱包,它代表用户进行签名验证和处理交易,它是从Account Factory合约创建的。 Paymaster 合约是一个可选组件,可以为用户账户合约赞助 gas 费用,允许没有任何ETH的用户仍然与以太坊交互。
账户抽象为以太坊用户提供了哪些优势?
账户抽象增强了交易的灵活性,允许用户定制交易规则以满足他们的需要。这种灵活性可以实现传统交易无法实现的高级功能和复杂的安全措施。此外,它可以让第三方代表用户支付交易费用,从而使以太坊对用户更加友好,从而使入职流程更加无缝。
它还通过允许多种安全增强功能来提高安全性,例如多重签名控制、帐户冻结和恢复、交易限制和白名单创建。
以太坊的账户抽象可以派上用场的真实世界例子有哪些?
在不希望出现单点故障的高风险情况下,用户可以将他们的账户设置为在交易获得批准之前需要多个签名。这对于重要交易需要多方批准的组织很有用。帐户抽象还可以降低用户丢失私钥的风险,因为它可以实现社会恢复。此外,它可以通过添加逻辑来控制交互并降低与恶意合约交互的风险,从而改变用户与智能合约交互的方式。最后,它允许以ETH以外的代币支付汽油费,使用户更容易与特定的 DApp 或平台进行交互。
关于作者
Connie Lam 是区块链专家、软件工程师、技术主管和经理。她拥有技术专长,在区块链开发、前端和后端工程、数据库管理、全栈开发、数据分析、SaaS 和移动开发方面拥有八年的实践经验。