账户抽象:链接Web3和Web2

链得得的朋友们
链得得的朋友们

Aug 04, 2023 链得得的朋友们

摘要: 本文深入探讨了账户抽象的复杂性,追溯其发展、目前的状况以及未来的轨迹,同时回答了关于此主题的一些关键问题。

文章作者:@jiayaoqi

文章编译:Block unicorn

在不断发展和演变的加密货币世界中,提供更良好的用户体验,使用户与区块链应用交互更为直观,并使web3与传统的web2应用更具竞争力是关键。从 “ 加密货币将如何生存的观念 ” 转变为—— “ 我们如何将下一个十亿用户带入web3生态系统?” 正在成为焦点。其中引起了相当大的关注的一个论点是 “ 账户抽象 ”。本文深入探讨了账户抽象的复杂性,追溯其发展、目前的状况以及未来的轨迹,同时回答了关于此主题的一些关键问题。

揭秘账户抽象(AA)

在web3的范畴中,账户抽象(简称AA)这个概念最初看起来可能相当复杂。它是一个旨在增强以太坊账户的管理和行为灵活性的提议。它通过引入账户合同 —— 特殊的智能合同,现在被称为智能账户,用于定义和管理用户的以太坊账户。

在目前的设置中,用户通过外部所有账户(EOA)与以太坊交互,这是启动交易或执行智能合约的唯一方式。这种方法限制了用户与以太坊的交互方式。例如,它使用户很难执行批量交易,并且要求用户始终保持以太币的余额以支付燃料费用。而账户抽象就是一种解决方案,它允许用户将更多的安全性和更好的用户体验灵活地编程到他们的账户中,从而解决了这些问题。

AA的功能和优势

从网络层面的观点看,“账户抽象”暗示着账户类型的具体内容被隐藏在以太坊协议之外。每一个账户,包括自托管账户,都只是一个智能合约,用户有自由决定如何管理和操作每个独立的账户。

从用户级别的角度看,“账户抽象”意味着某些与以太坊账户交互的技术细节被隐藏在更高级别的接口后面。这个改进可以显著降低使用web3应用的复杂性并改善钱包设计。账户抽象并不一定会从用户的视野中移除账户,即使它们从协议中被抽象出来。用户仍然保留一个钱包地址去接收资金并且保留一个签名密钥以确保只有他们自己可以支配这些资金。从用户的角度来看,账户抽象就好比使用一个智能账户,它就像一个电脑的自动化程序,自动帮你搞定与区块链的交互细节。比如,账户抽象可以消除存储种子词/私钥,支付交易费用,甚至是独立设置一个链上账户的需求。

账户抽象减少了大部分使用web3钱包以及与DAPP交互的繁琐,从而将Web3推向更接近Web2的用户友好理想,使所有用户(无论是新手还是有经验的用户)都能享受相同程度的灵活性、安全性和易用性。值得注意的是,账户抽象对自托管未来有着重大的影响。通过使用账户合约提供的特性,使用Web3钱包将模拟使用银行账户或应用程序的体验,而无需信任银行。

实施AA的方法

实现账户抽象有两种主要的方法:使EOAs能够执行EVM代码和允许智能合约发起交易。许多账户抽象的提议都希望将EOAs当作智能合约来处理,或者将合约账户当作EOAs来处理。前者的方法是赋予EOAs更多的功能,将它们转变为智能账户,为本地账户抽象做好准备。后者的方法通过引入可以作为EOA的“超级合约”来实现账户抽象,这解决了以太坊中的一个紧迫问题:协议级别对合约钱包的支持不足。

AA的潜在好处


尤其是在智能合约钱包出现的情况下,账户抽象的潜在好处是显著的。用户可以定义自己的灵活安全规则,如果他们失去了钥匙,可以恢复他们的账户,分享他们的账户安全到可信赖的设备或者个人,支付别人的燃气费,或者让别人支付他们的。此外,它启用批量交易,并为dapp和钱包开发者创新用户体验开辟了新途径。

当前的模式是只有外部所有账户(EOA)可以启动交易。EOA就是公私钥对,它按照以太坊虚拟机(EVM)的规则给私钥持有者绝对控制权。如果私钥丢失,它将无法恢复,被盗的密钥会让窃贼立即访问账户中的所有资金或偷走所有资金。

智能合约钱包提供了解决这些问题的答案,但是由于他们必须将任何实施的逻辑转化为一组EAO交易才能被以太坊处理,所以现在它们是具有挑战性的编程。账户抽象使智能合约能够自己发起交易,允许任何用户期望的逻辑被编码到智能合约钱包本身并在以太坊上执行。最终,账户抽象提高了对智能合约钱包的支持,使它们更容易构建和更安全地使用。用户可以享受以太坊的所有好处,而无需完全理解底层技术。

AA的安全性增强


现在,账户的安全性得到了改善,因为不再使用简单的种子短语来计算私钥。任何拥有种子短语的人都可以找到保护账户的私钥,并获得对其所控制的所有资产的访问权限。如果一个私钥和种子短语丢失了,它们就永远无法找回,并且它们控制的资产将永远冻结。即使对于专家用户来说,保护这些种子短语也很尴尬,而种子短语的网络钓鱼是用户受骗的最常见方式之一。

账户抽象通过使用智能合约来持有资产并授权交易来解决这个问题。这些智能合约可以添加自定义逻辑,使其尽可能安全和符合用户需求。可以添加备份密钥到钱包中,这样,如果主要密钥丢失或意外暴露,可以通过备份密钥替换为新的安全密钥,并得到备份密钥的许可。这大大增加了窃贼获得对资金的完全控制的难度。同样,您可以在钱包中添加规则,以减少主要密钥被泄露的影响。例如,低价值交易可以通过单一签名进行验证,而较高价值的交易需要多个经过身份验证的签名者的批准。

账户抽象还允许创建白名单,该白名单阻止除了向受信任的地址发送的交易或经过多个预先批准的密钥验证的交易之外的其他交易。它提供其他安全增强功能,例如多重签名授权、账户冻结、账户恢复、交易限制等等。可能性几乎无限,设计这些自定义安全措施的自由是账户抽象的最显著优势之一。

账户抽象:提升用户体验

账户抽象不仅提供了更高的安全性,还带来了卓越的用户体验,因为它在协议层面上支持智能合约钱包。对于智能合约、钱包和应用程序的开发者来说,获得了更大的自由度,可以创新用户体验,我们可能还无法完全预见这些创新。

账户抽象使得交易捆绑更加高效快捷,允许用户保持ETH余额来支付交易费用,并提供了可信会话的潜在可能性,这对于像游戏这样需要在短时间内批准大量小额交易的应用程序可能会产生革命性的影响。它还为更加熟悉的在线购物体验铺平了道路,用户可以将多个商品放入“购物篮”,然后一次点击即可完成所有购买,所有必要的逻辑都由智能合约处理,而不是用户自己操作。

前进的道路:实现账户抽象 

尽管智能合约钱包在当今已经存在,但它们需要在标准的以太坊交易周围包装相对复杂的代码,因为以太虚拟机(EVM)不支持它们的原生实现。以太坊可以通过允许智能合约发起交易来改变这种情况,将必要的逻辑处理在以太坊智能合约中而不是在链下。将逻辑放入智能合约还增加了以太坊的去中心化程度,因为它消除了钱包开发者运行的“中继器”,这些中继器将用户签名的消息转换为常规的以太坊交易。

实现账户抽象的未来目前正在进行紧张的讨论。有几个提案旨在改变以太坊协议以适应账户抽象,或者升级外部拥有账户(EOA),使其可以由智能合约控制。然而,由于社区目前更倾向于像EIP-4337这样的提案,这些提案中的许多还没有得到实施。

账户抽象的未来是充满希望的。通过账户合约提供的功能,使用web3钱包将模拟使用银行账户或应用程序的体验,而无需信任银行。实现账户抽象的前进道路目前正在进行紧张的讨论。有几个提案旨在改变以太坊协议以适应账户抽象,或者升级外部拥有账户(EOA),使其可以由智能合约控制。账户抽象的到来无疑将在塑造以太坊生态系统的未来中发挥关键作用。

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 链得得的朋友们 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信