不再需要私钥和助记词?以太坊ERC-4337账户抽象提案到底是什么?

钱包的私钥助记词让不少刚进入这个领域的小伙伴感到头疼!那如果有一天,我们不再需要助记词,也不用担心丢失私钥,就可以非常方便地使用区块链中的各种服务,体验 Web3 世界的奇妙之处,会不会让这个领域的大门进一步打开呢!

据说,以太坊 ERC-4337 提案可以帮助用户解决上面的这些问题。那什么是 ERC-4337 呢?

ERC-4337 的主要目标之一就是在不影响去中心化的情况下实现账户抽象(Account Abstraction),它是由以太坊创始人 Vitalik Buterin(V身)联合 Yoav Weis、Dror Tirosh 等人发起的提案,旨在使以太坊钱包对用户更加友好,更易于使用,并防止任何密钥丢失。简单来说,账户抽象是一个能够使区块链更加民主化的概念,它将允许用户更灵活地与区块链应用进行交互,而无需担心私钥问题。

在开始正式介绍 ERC-4337 账户抽象之前,我们需要先理解以太坊账户中现有的两个重要类型,即外部账户 (EOA)和合约账户(CA)。

对于 EOA 来说,大家应该已经比较熟悉了,我们之前的文章也有过关于它的详细介绍文章。简单来说,EOA是由一对加密密钥组成的账户,即由一个私钥和一个公钥组成的账户。其中,公钥用于接收付款(公钥相当于你的银行卡卡号),而私钥用于解锁账户中的资金(私钥相当于你的银行卡密码)。

CA 本质上是一种计算机代码,旨在指定帐户的行为。它由一个没有私钥的地址组成,这个地址会用于向合约发送资金,而代码本身则直接决定了合约中资金的使用方式。

简单来说就是,EOA由拥有私钥的任何人控制,而 CA 是由代码控制的智能合约账户。

CA 只能在 EOA 授权下发送交易。也就是如果我们要在区块链上记录信息(如转账、铸币等),就需要发送一笔交易,而这笔交易必须由支付交易费用的 EOA 签名。EOA 的主要用途是转移加密资产到另一个 EOA账户、或与 CA 交互。

但 EOA 也是有一些缺点的,比如:

有限的能力,也就是 EOA 只能执行上述的两种操作。

丢失的风险,也就是用户一旦丢失私钥、会直接导致加密资产丢失且无追回可能。

可能被网络钓鱼、黑客攻击、社会工程等方式将资产丢失给恶意行为者的风险。

只能以原生代币支付 Gas 费、且需要手动批准每个 Txns。

另外,对于刚进入这个领域的小白来说,进行转账或与智能合约进行交互的这些程可能操作起来也比较复杂。

除了 EOA 本身的一些缺点外,CA 也有自己的缺点,比如:

需要编程技能才能设置合约(对于普通用户而言,合约代码就是天书)。

一旦编码错误、就可能导致资金损失或意外后果。

黑客可以利用代码中的漏洞对合约发起攻击。

总的来说,正是由于 EOA 和 CA 目前存在上述这些问题,在一定程度上提高了区块链行业的进入门槛、也减慢了Web3应用的大规模普及和采用速度。而这也就是 ERC-4337 能够发挥作用的地方。

ERC-4337 是一个结合了上述两种类型账户特征的标准,它可以使 EOA 更加易于创建和使用、使 CA 更加具有灵活性。通过 ERC-4337 将智能合约的灵活性带入 EOA,可以使智能钱包的使用具有无限可能,而这些钱包也将能够执行我们现在在智能合约交互中的那些所有操作。总而言之,帐户抽象意味着 EOA 现在可以做 CA 所做的事情、或 CA 现在可以做 EOA 所做的事情,并且具有改进和升级的功能。

而为了实现上述这一目标,ERC-4337 引入了一组特定于 ERC-4337 的特殊操作,定义了一些的新接口,我们可以把这些操作理解为是建立在以太坊之上的迷你 Layer2 解决方案。如下图所示。

通过上图中这些接口的相互交互,可以具体实现的操作如下:

用户执行发送到内存池的操作(你可以把内存池理解为是一个等候室)。

称为“Bundlers”的节点会将这些操作收集到一个事务中。

Bundler 继续将交易发送到称为“EntryPoint”的特定合约中。

如上图所示,这个特定的合约则会继续调用几个函数:

handleOps — 此函数调用每个智能合约钱包中存在的“validateOp”和“execute”函数

validateOp — 验证操作签名并支付费用

execute — 验证后执行操作

那么,像上面这么一通操作下来,会有什么具体的优势呢?

ERC-4337 的优势其实是显而易见的,它把钱包直接演变为一个智能合约钱包、无需私钥即可使用更加友好地使用Web3应用,而且在实际的交互过程中还会拥有更多种类的操作、更具灵活性。比如:

交易费用方面,用户可以使用各种代币支付交易费用(无 ETH 也可以、甚至还支持链下信用卡进行支付)

安全性方面,这种类型的抽象可以将交易的签名与账户地址分开,允许用户在以太坊区块链上更安全地进行各类交互。

可扩展性方面,每秒可以处理更多的操作,因为多个操作将被集成到单个事务中进行。

账户恢复方面,EIP-4337 具有社交恢复功能(Social Recovery Features),使恢复变得更加容易。

接下来,我们简单再看看目前几条以太链的情况。

Ethereum 方面:

以太坊 EVM 目前的状态还不支持账户抽象,需要进一步升级并通过升级 EOA 执行代码、和升级 CA 这两种方式来实现。

升级 EOA 执行代码需要将 EOA 转换为智能合约,即使 EOA 可编程,而这种可编程的实现需要进一步建立在EIP-3074 和 EIP — 5003 之上。如下图所示。

升级 CA 是为了能够实现他们可以发起交易并像 EOA 一样支付 gas 费用。而这需要进一步建立在 EIP-2938 和 EIP-4337 之上。如下图所示。

zkSync Era 方面:

zkSync 的账户抽象方法采用以太坊的 EIP-4337 的形式,它将这些账户类型转换为就像 CA 一样。目前,zkSync 的账户抽象在本地链上已经实现,它应该也是第一个支持账户抽象的 EVM 链。

zkSync 目前的发展貌似更侧重于改善 Web3 用户的整体用户体验,他们正试图通过以下一些方式来实现Web3的大规模采用,比如:

不再有助记词 — 而是采用引入社交恢复、生物识别验证等功能。

可以用任何代币支付交易费用 — 引入了代表用户支付费用的 paymaster。

不间断的用户体验 — 通过引入一次符号来限制每次交互签名,并在定义的参数内进行尽可能多的交互。

自动付款功能 — 可以创建定期付款订阅、预定转账等。

多路通话功能 — 通过为所有人引入一键式体验,将多个 Txn 捆绑为一个。

StarkNet方面:

与 zkSync 的方法类似,StarkNet 也推出了带有原生账户抽象的链。

目前,StarkNet 提供了一种签名抽象,允许不同的账户合约使用与以太坊的 ECDSA(Elliptic Curve Digital Signature Algorithm、椭圆曲线数字签名算法)不同的签名验证方案。

综上,我们现在已经基本了解了有关账户抽象的相关知识,也简单知晓了目前Ethereum、zkSync Era、StarkNet几条以太链针对账户抽象的应用情况。

那么接下来,我们再来看看,目前利用该技术的协议/钱包有哪些?

Kromatika DAO:它通过引入 Gasless Swap(中继器支付用户接收代币的费用),并基于以太坊的 EIP-4337 实现了账户抽象。

Argent:这是一款以安全性和易用性为重点设计的加密钱包,其主要特点包括社交恢复(用户可以通过与信任的联系人建立连接来恢复其钱包,而无需记住复杂的助记词或私钥)、无需以 ETH 作为 gas 费(采用 MetaTransaction 技术实现用户在不拥有 ETH 的情况下发送交易)。

Avocado(Instadapp):Instadapp 是一种基于以太坊的 DeFi 协议,该协议推出了一款基于账户抽象的加密钱包 Avocado。

Braavos:这是一个开源的账户抽象层,它提供了一种简单的方式来管理多个账户,并为应用程序提供了一个统一接口。

UniPass Wallet:这是一款支持链上 Email 社交恢复的智能合约钱包解决方案,旨在提供 Web2 用户熟悉的使用体验,目前兼容 ERC-4337。

Soul Wallet:是一个插件钱包,使用户能够不需要助记词的情况下创建钱包、而是通过改变签名密钥来保持钱包。无需 gas fee、且可以将多笔交易捆绑在一起。

Versa:是一站式 UX 简化的智能合约钱包,用户可以通过它轻松访问无密钥和社交登录的加密钱包,进行 Gas 管理和链上账户恢复,设置自动支出,自动化投资策略等。

ZeroDev:是一个建立在 ERC-4337 之上的 SDK,用于构建由帐户抽象提供支持的 Web3 应用程序。

等等…还有更多其他的协议/钱包。

总的来说,ERC-4337 标准为用户与区块链应用进行更加友好和灵活的交互奠定了技术基础,借此会很大程度上降低区块链领域的进入门槛,可能在不久的将来会吸引大量的新用户涌入这个领域。而且最重要的是,它也将使企业和机构能够开发出更多广泛的用例(Web3应用),来一起推动加密行业未来的大发展。

相信,在不久的将来,我们会告别失去助记词就失去钱包账户的时代。账户抽象(Account Abstraction)将永远改变区块链行业,也许,下一个十亿用户时代的人们将不用在把 12 个助记词写在纸上去记了,他们会像现在使用“互联网”一样去使用“区块链”。

好了,以上就是今天通过「话李话外」分享的全部内容。我们最后再来一起小结和回顾一下吧,本文比较全面地介绍了ERC-4337的概念,以及有关账户抽象的相关知识,同时简单梳理了Ethereum、zkSync Era、StarkNet几条以太链针对账户抽象的应用情况。希望今天的分享能够对大家有所帮助。

本文特别鸣谢:TheDeFISaint、the_smart_ape、0xTHades、Senka(封面设计)

声明:以上内容只是个人角度观点及分析,若有任何纰漏之处,敬请留言指正。「话李话外」发表的所有内容,仅供广大爱好者科普学习和交流之用,不构成任何投资建议。投资有风险,请理性看待,提高风险意识,并遵守所在国家和地区的相关法律法规!

Subscribe to 话李话外
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.