Amber Group:账户抽象带来的钱包进化

本文约7138字,阅读全文需要约9分钟
EOA 钱包必须演变成账户抽象钱包,才能扩展到下一个数十亿用户。

原文来源:Amber Group

Amber Group:账户抽象带来的钱包进化

我们必须持续进化

当有人第一次决定投身于去中心化金融NFT 或任何其他类型的链上活动时,他们会意识到他们首先需要一个钱包。不幸的是,使用链上钱包的体验与大多数人习惯的用户体验大不相同。这是一个重要的痛点,阻止了数百万潜在的加密用户。

Amber Group:账户抽象带来的钱包进化

虽然钱包确实让用户可以完全自托管他们的资产,但它们缺乏其他线上账户的安全保障。用户必须安全地存储和保护他们的私钥/助记词,否则就有丢失数字资产的风险。这与银行账户甚至中心化交易所的账户有很大不同。例如,Coinbase 和基本上所有其他中心化账户都允许用户启用 2 FA 以确保其资产的安全。 目前,任何链上解决方案都无法实现此类功能。 缺乏基本的安全功能甚至阻止了普通用户使用链上应用,并导致他们坚持使用他们的中心化和托管钱包。正如我们最近观察到的,这不一定是更安全的选择。FTXBlockFiCelsius 等公司的倒闭以及由此导致的用户资金损失强化了维持资产自托管的需要。 然而,普通用户需要一种简单的方法来做到这一点。当前的范式如何改变?通过将钱包进化成为账户抽象钱包,可以解决当今困扰我们的许多用户体验问题。

当前系统

有两种方法可以在链上实现自托管钱包:使用外部账户(EOA),或合约账户(CA)。两者都能够发送和接收数字资产以及与已部署的智能合约进行交互。但是,它们有一些关键差异,这些差异总结在下表中。

Amber Group:账户抽象带来的钱包进化

目前,合约账户通常仅以“多签”的形式用于自托管。多重签名提供了更高的安全性,但通常不是普通用户将其资产保存在链上的实用方法,因为它们的设置比普通的 EOA 钱包复杂得多。 如果没有账户抽象,合约账户就不能轻易作为存储数字资产的主要方式。

要将某物称为“帐户”,必须满足 3 个重要条件。无论是外部账户还是合约账户,都必须满足这些条件。 帐户必须具有:

1. 余额 - 这代表钱包内的数字资产数量

2. Nonce- 这确保从钱包发出的每笔交易都是不同的

3. 地址 - 这是网络上每个帐户的唯一标识符

这两种类型的账户表面上看起来很相似,但最大的区别在于每笔链上交易都需要一个 EOA 来签署发起。因此,合约钱包还不能用作适当的替代品。用户通过一对密钥(公钥和私钥)拥有一个 EOA 钱包。 这对密钥称为 signer。 EOA 钱包的地址源自公钥,而来自账户的交易必须使用私钥签名。合约钱包没有一对密钥来启动交易。这表明外部账户存在致命缺陷。EOA 钱包既是账户又是 signer。 这会给用户带来麻烦和潜在的严重问题。

EOA 模型中存在的问题

说当前的 EOA 设计(这是当今钱包的标准)存在根本性缺陷是不诚实的,但它肯定不是处于全世界数十亿人可以使用的状态。 这样做的主要原因是 signer 对账户有完全的控制权。 如果您丢失了 signer,您将丢失您的帐户。如果有人找到了您的 signer,他们就拥有了您的帐户。虽然这可能有助于在完美的条件下持有用户的资产,但我们并不是生活在一个完美的世界中。EOA 钱包的安全性完全依赖于用户管理单个私钥。没有安全网;不能有失误。 然而,人们很容易犯错,如果他们打算扩展到大众,钱包就不能这么复杂。

查看当前形式的自托管存在缺陷的一种简单方法是上 Twitter 搜索“BAYC Hacked”。

Amber Group:账户抽象带来的钱包进化

Holders of monkey jpegs are under constant attack due to how difficult self-custody is at the moment.

他们经常被黑客攻击。数百个 Bored Ape Yacht Club NFT 已被盗,并且它们继续以相当频繁的速度被盗。这是以太坊用户体验的一个明显问题。丢失价值六位数的数字资产并不应该如此容易。 我们不应该期望下一个金融系统依赖于写在一张纸上的 12 个词。

账户抽象是解决方案吗?

账户抽象的目标是解耦 signer 和账户之间的关系。账户抽象钱包是一种根据预先指定和可定制的规则来定义什么是有效交易的智能合约钱包。目标是防止 signer 对钱包资产发生的事情拥有绝对和最终的控制权。账户抽象不是同时拥有 EOA 账户和合约账户,而是将它们合并为一个;智能合约钱包将能够用作独立钱包。这在今天是不可能的,因为所有交易都必须从 EOA 地址发起。然而,每一个新的 EIP 都让我们越来越接近账户抽象的实现。

账户抽象的历史

为了正确实施帐户抽象并减少对 EOA 帐户的需求,长期以来人们一直认为需要进行全网范围的改变。自 2016 年以来,Vitalik 和其他以太坊核心开发人员一直在为这种变化起草解决方案。 总结如下:

Amber Group:账户抽象带来的钱包进化

● EIP-86: Vitalik Buterin 在 2016 年提出,距离以太坊首次发布不到一年。这个 EIP 引入了智能合约的概念作为“转发合约”,并且只接受来自“入口点”地址的交易,任何人都可以从该地址发送交易,只要遵循特定格式。这需要对以太坊协议进行重大更改所以被放弃了。

● EIP-1014: EIP 由 Vitalik Buterin 于 2018 年提出,它采用了 EIP-86 的核心思想,并促成了 CREATE 2 操作码的创建。这使我们能够预测将部署合约的地址,而无需实际部署它。 这一点很重要,因为要让智能合约钱包发挥作用,我们必须确保智能合约地址在所有 EVM 链上都是相同的,即使它没有同时部署到所有这些链上。

● EIP-2938: EIP 由 Vitalik Buterin、Ansgar Dietrichs 和 Matt Garnett 于 2020 年 9 月提出,试图进行新的“账户抽象”交易,需要创建新的操作码。这被证明是一个太大的协议变更,并且不确定它会如何发挥作用。 EIP-2938 被放弃了。

● EIP-3074: EIP 由 Ansgar Dietrichs 和 Matt Garnett 于 2020 年 10 月创建,引入了两个新的操作码:AUTH 和 AUTHCALL。当一起使用时,它们允许智能合约代表 EOA 发送交易。 正如我们在过去的其他 EIP 中看到的那样,重大的网络变更不太可能获得批准。 EIP-3074 也不例外,由于面临安全风险,所以没有实施。

值得注意的是,EIP 的时间线表明,自以太坊诞生以来,帐户抽象就一直在核心以太坊开发人员的脑海中。随着合并的完成,更多的开发者资源终于可以考虑抽象了。 下一个 EIP 终于让我们离下一代钱包更近了。

● EIP-4337 - 无需共识层变更的以太坊账户抽象: 2021 年 9 月,Vitailk、OpenGSN 和 Nethermind 提出了 EIP-4337 —— Account Abstraction via Entry Point Contract Specifications。 EIP 试图在不需要更改核心协议的情况下完成帐户抽象。这是一项巨大的成就,因为协议更改是迄今为止阻止大多数进展的原因。EIP-4337 还处于草案阶段,尚未最终确定,但由于 EIP-4337 不会改变共识层,因此已经有可用的实现,包括 OpenZeppelin 和 Stackup。这个 EIP 功能的机制可以分为三个步骤:

1. UserOperations,(本质上是具有启用帐户抽象功能的额外数据字段的正常交易)通过自定义mempool 发送

2. 之后,UserOperations 通过 Bundler 打包到单个事务中。 Bundler将根据费用优先级逻辑选择包含哪些 UserOperation 对象,类似于矿工在现有交易内存池中的操作方式。 捆绑器(使用 Flashbots 之类的服务)调用 EntryPoint 合约进行验证

3. 如果没有错误,交易将包含在网络的下一个区块中

Amber Group:账户抽象带来的钱包进化

EntryPoint 合约是通过 Bundler 调用的基础设施的关键部分。调用此智能合约首先验证 UserOperations 是否遵循帐户预先指定的规则,然后执行它们。重要的是要记住 EIP-4337 没有协议级别的变化。这意味着 Bundler 是一个 EOA 地址,将所有这些交易提交到链上。 可以通过添加 Paymaster 进一步扩展 EntryPoint 合约。 Paymaster 提供了一些好处:

1. 它允许应用开发者代表他们的用户支付费用

2. 它允许用户以 ERC 20 代币支付费用,合约作为中介来收集 ERC 20 并以 ETH 支付 gas 费用

Amber Group:账户抽象带来的钱包进化

对于不希望用户支付网络费用的应用开发者来说,这是一个巨大的好处。 用户将能够以不同的代币直接支付给“paymaster” —— 代币会被转换为 ETH 以实现系统兼容性。 这只是帐户抽象钱包相对于 EOA 钱包的独特用例的一个例子,还有更多我们一定要讨论的。

账户抽象的应用场景

将钱包转变为可编程智能合约为新功能打开了大门。 拥有账户抽象钱包的好处和新用例是如此之大,对于大多数用户来说,迁移是值得的。 这类似于从旧的诺基亚手机升级到最新的智能手机。

Amber Group:账户抽象带来的钱包进化

Smart contract wallets are a major upgrade in terms of features compared to EOA wallets - Source: Argent Wallet on Twitter.

社交恢复

就保护用户的数字资产而言,最重要的好处之一是,社交恢复旨在保护丢失签名密钥的用户。 想象一下,如果用户的笔记本电脑坏了并且他们放错了私钥或助记词的物理副本。 在这种情况下,使用 EOA 钱包,您的所有资产将永远丢失。 社交恢复采用不同的方法,而不是使用助记词来恢复钱包。 这是 Vitalik 最喜欢的保护钱包的方式,他定义了它的工作原理:

1. 有一个可用于批准交易的“签名密钥”

2. 有一组“护卫”,其中大多数的合作可以更改帐户的签名密钥

如果用户丢失或忘记了他们的签名密钥,则可以激活社交恢复功能。 通常,如果我丢失了签名密钥和助记词,我将无法访问我的帐户。 通过社交恢复,用户可以简单地联系他们的护卫并要求他们签署特定交易,以将钱包合约中注册的签名密钥更改为新的。 尽管存在一些机制差异,但这在概念上类似于您忘记 Google 帐户密码并需要重新访问您的帐户时发生的情况。

选择谁作为护卫有很多可能的选择。 三个最常见的选项是:

1. 钱包持有人自己拥有的其他设备

2. 朋友和家人

3. 机构,如果他们得到你的电话号码或电子邮件的确认,或者在高价值的情况下,可能通过视频通话验证你的个人身份,他们会签署恢复消息

添加新护卫是一个相当简单的过程。

Amber Group:账户抽象带来的钱包进化

Screenshot of Unipass wallet’s UI for adding a guardian

UniPass Wallet 是即将推出的智能合约钱包,其主要功能之一是社交恢复。 UniPass Wallet 包括一个可以无缝添加和删除护卫的界面。

基于角色的访问控制

对于许多传统的“web2”应用程序,平台开发人员要求用户启用双因素身份验证 ( 2 FA)。 这会自动防止大量黑客攻击的发生。

值得注意的是,许多其他文章会声称通过短信或电子邮件地址进行多因素或双因素身份验证是通过拥有账户抽象钱包解锁的新功能。实施这种形式的 2 FA 通常利用多方计算 (MPC) 和链下服务器。 还没有一个纯粹的链上实现。 但由于它由 MPC 技术提供支持,因此也可以仅使用 EOA 钱包来实现。说它是账户抽象钱包独有的是不诚实的。

但是,智能合约钱包可以通过要求您的热钱包用作二次确认的形式来实现类似类型的链上功能。 这会自动防止大量黑客攻击的发生,因为即使你被钓鱼了,你可能仍然需要确认才能转移你的资产。 账户抽象钱包让您可以根据自己的喜好定义特定的安全参数。 这方面的例子可能包括:

● 设置每日交易限额,指定每天可以发送的货币限额,除非您通过硬件钱包确认。 这样可以防止您的钱包一下子耗尽。

● 连接到众所周知的“诈骗”地址数据库,如果您正在与之交互的地址存储在数据库中,它将立即提示您需要额外通过硬件钱包确认交易。

● 检查 Opensea 收藏并让您知道您正在购买未经验证的 NFT 收藏,并提示您通过硬件钱包进行确认,防止混淆购买假冒/恶意 NFT。

最重要的是,所有这些功能在执行链上交互时提供了多层安全网。 大多数用户不知道他们正在签署或批准什么。 现在,我们在一个一次误点击就会立即耗尽钱包余额系统上运行,这种现状需要被改变。

会话密钥

许多人认为区块链游戏将成为 web3 的下一个重要故事。 为此,需要有比当前存在的更好的用户体验。 每当用户想与他们正在玩的游戏中的某些东西进行交互时,用户就必须批准多个功能是没有意义的。 这不是传统游戏的工作方式,并且会由于界面的不熟悉和繁复而使人们望而却步。 会话密钥允许用户根据一组参数预先批准应用程序的交易:给定的持续时间、最大 gas、特定代币的最大交易量或特定合约的特定功能。 用户将能够使用一些基本条款预先批准他们的会话,点击开始并玩游戏,而不会不断地被他们的钱包轰炸询问,“确认此交易”。

批量交易

现在,如果我想使用去中心化应用,我需要为每个链上交互进行新交易。 这很烦人,而且代价高昂,因为每次批准的交互都要花钱。 通过账户抽象账户,钱包可以将多笔交易捆绑在一起,并将它们作为一笔交易执行。

Amber Group:账户抽象带来的钱包进化

这从根本上简化了用户体验。 复杂的交易和收益挖矿机会可以简化为只需一次点击。

其他应用场景

帐户抽象钱包可以支持的功能列表是无限的。因为账户抽象钱包是智能合约,所以钱包开发者可以不断更新它们的新功能和实用性。 我们甚至可以期待钱包的第三方插件。然而,这让我想到了下一点:今天账户抽象钱包的缺陷。

账户抽象的潜在问题

账户抽象钱包目前没有在协议层面实现,目前仅作为智能合约存在,gas 以创造性的方式进行中继。 因为这些钱包是智能合约,所以会出现一些问题。 首先,部署智能合约钱包是有成本的,因为它使用区块链存储。 目前可以通过使用更便宜的链或让中继器承担此费用来规避这一点。 然而,这并不能真正避免提交交易的更高 gas 成本。 通过智能合约钱包发送的单笔交易的 gas 成本比通过 EOA 钱包发送的要贵。 虽可以通过适当的交易批处理得到改善,但我们还没有到那一步。 第二个更重要的问题是,每个钱包在用作 EOA 的替代品之前都需要进行审计。 如果一个广泛使用的智能合约钱包有一个漏洞,它可能是有史以来最大的黑客攻击之一。 这不仅仅是假设,因为智能合约钱包之前曾被黑客入侵过。 2017 年,Parity 智能合约钱包被盗 150, 000 ETH(今天价值 1.8 亿美元)。 三个月后,同一个智能合约又被黑客盗取了 500, 000 ETH(今天价值 6 亿美元)。幸运的是,自 2017 年以来,我们已经改进了安全标准,目前帐户抽象钱包试图完成的大部分工作都不是异常复杂。默认情况下还内置了社交恢复和基于角色的访问控制等安全功能,这为智能合约本身的问题提供了一定程度的保护。然而,即使具有这些功能,当前 ERC-4337 的实施仍然存在安全问题。 最大的问题是 EntryPoint 合约具有极高的特权。如果这个智能合约存在安全问题,黑客就可以通过它利用任何 ERC-4337 合约钱包。除了安全问题之外,支持 ERC-4337 的基础设施也不完善。 当前 ERC-4337 的实施严重依赖于 Flashbots。 Flashbots 对帐户抽象至关重要,因为它将一组 UserOperation 对象打包成单个“捆绑交易”,然后将其包含在以太坊区块中。 Flashbots 是以太坊本身特有的,这让人质疑 ERC-4337 钱包如何与其他 EVM 链兼容。 虽然合约钱包可以部署到另一条链上,但如果没有与 Flashbots 类似的机制来捆绑交易,钱包将无法使用。 最后,智能合约钱包只能与实施了 EIP-1271 的去中心化应用程序交互,调用 EIP-1271 来验证合约钱包的签名。 理论上,如果 Opensea 或任何其他去中心化应用程序尚未实现 EIP-1271 ,则智能合约钱包将无法与应用程序交互并变得无用。

Argent 这样成熟的智能合约钱包不会无缘无故地偏离 ERC-4337 。 第 2 层网络正在使用全新的平台来实施协议范围的更改,以规避 ERC-4337 引发的问题。

Layer 2 

Layer 2 正在从头开始构建他们的网络,并且可以更轻松地实施更改,因为他们的技术债务更少。 Zksync 和 Starkware 都是二层网络,在协议级别具有原生内置的帐户抽象。 与以太坊不同,Zksync 和 Starkware 不区分智能合约和 EOA,将两种类型的钱包合而为一。 Layer 2 已经实现了真正的账户抽象,超越了迄今为止任何 EIP 已经成功实现的。 这些账户可以发起交易,如 EOA,但也可以在其中实施任意逻辑,如智能合约。 这些设计与 EIP-4337 布局的设计非常相似。 凭借更便宜的费用以及创建和维护钱包的简化,L2 可能是吸引下一个十亿 web3 用户的理想场所。 然而,与此同时,如果我们想在以太坊上使用 EIP-4337 钱包怎么办? 最好的钱包是什么?

UniPass, 一个账户抽象钱包

虽然 Argent 钱包(一个很棒的账户抽象钱包)专注于像 Starknet 这样的第 2 层,但重要的是我们看到在第 1 层(如以太坊)上的实现。 UniPass 是一个账户抽象钱包,构建了一系列使其在竞争中脱颖而出的功能,包括 EOA 钱包和其他账户抽象钱包。 当 UniPass 用户发起交易时,需要第三方作为中继方来完成交易。 在这个过程中,relayer 可以允许用户使用任意支持的代币来支付 gas 费,甚至可以为用户支付 gas 费,从而实现无 gas 的用户体验。 UniPass 将提供一个默认的 UniPass 中继节点,您可以开箱即用。 一开始,UniPass Relayer 将以其原生代币和主流稳定币的形式接受 gas 支付。 此外,应用程序可以构建自己的客户中继器以满足其用户群的需求。

其他智能合约钱包解决方案通常依赖 EOA 钱包进行私钥管理。 UniPass Wallet 使用基于 MPC 的阈值签名方案 (TSS),这使其可以依赖 EOA 钱包的安全性和可用性,同时还可以在整个用户体验中完全避免私钥这一最大的单点故障。 这为用户创造了既愉快又安全的体验。

Amber Group:账户抽象带来的钱包进化


Creating a wallet is as simple as logging in with your Google Account

UniPass 还拥有独特的基于链上电子邮件的验证技术,用于社交恢复。 电子邮件协议(POP 3、SMTP 和 IMAP)已经存在 50 多年,是现代互联网的基础部分。 为了保护电子邮件免受恶意修改, 2004 年引入了域名密钥识别邮件 (DKIM)。DKIM 是一种标准化的电子邮件身份验证技术。 发件人能够向外发电子邮件添加数字签名。 当电子邮件服务器收到签名的电子邮件时,它可以验证电子邮件是否来自实际发件人以及内容是否被修改。

经过不断的研究,UniPass Wallet 现在可以使用链上智能合约来验证 DKIM 的数字签名。 这允许用户管理他们的非托管合约账户并仅使用电子邮件进行社交恢复。 典型的智能合约钱包的社交恢复解决方案,如 Argent 的,要求监护人是 Argent 的用户或已经拥有以太坊钱包。 这意味着如果您信任的家人和朋友不是 web3 用户,他们就不能充当您帐户的监护人。 通过 UniPass 的架构,用户可以设置多个邮箱作为账户的守护者,只需将邮件提交至链上智能合约,即可帮助用户设置账户恢复。 这大大降低了监护人的门槛,让您所有拥有电子邮件的家人和朋友成为您帐户的监护人。

然而,一个问题出现了:UniPass 如何保证所有这些信息的私密性? 如果链上的每个人都可以看到与您的帐户绑定的电子邮件地址,那就不好了。 因此,UniPass Wallet 利用零知识技术,将用户隐私信息完全匿名上链,在保护用户隐私的同时实现去中心化验证。

结语

随着主要中心化托管钱包解决方案的崩溃,许多用户涌向自托管钱包解决方案。 EOA 钱包必须演变成账户抽象钱包,才能扩展到下一个数十亿用户。 它们使普通用户上手更加容易、增强安全性并显著提高可用性。 虽然我们仍然需要依靠解决方案以创造性的方式在一层网络中继 gas,但二层(例如 Starknet 和 Zksync)将以最纯粹的形式实现帐户抽象。 这种实质性的用户体验改进可以轻松帮助促进这些网络的发展。 以太坊社区必须密切关注这将如何发挥作用,以安全地实施改变以太坊基础协议的 EIP。 尽管如此,包括 UniPass 在内的项目已经带头用 EIP-4337 打造高级钱包。 我期待着这些解决方案被广泛使用的那一天,那时我们会奇怪我们过去是如何以这种古老的方式存储我们的数字资产的。

作者

Robert McTague 是 Amber Group 的 Eco Fund 的投资经理,该基金是该公司的早期加密货币风险基金。 他希望随着我们整合账户抽象,区块链技术将扩展到数十亿的用户。 特别感谢 George Zhang (UniPass) 帮助我们理解帐户抽象的所有细节。

声明

Amber 投资了 UniPass。这篇文章中包含的信息(“信息”)仅供参考,采用摘要形式,并不意味着完整。该信息不是,也无意成为任何证券的出售要约或购买要约的招揽。该信息不提供也不应被视为提供投资建议。 该信息未考虑任何潜在投资者的具体投资目标、财务状况或特殊需求。不对信息的公平性、正确性、准确性、合理性或完整性作出任何明示或暗示的陈述或保证。我们不承诺更新信息。潜在投资者不应将其视为行使自己的判断或研究的替代品。准投资者应在认为必要的范围内咨询自己的法律、监管、税务、商业、投资、财务和会计顾问,并根据自己的判断和他们认为必要的顾问的建议做出任何投资决定,不基于此处表达的任何观点。

原文链接

本文来自投稿,不代表Odaily立场。如若转载请注明出处。

ODAILY提醒,请广大读者树立正确的货币观念和投资理念,理性看待区块链,切实提高风险意识;对发现的违法犯罪线索,可积极向有关部门举报反映。

推荐阅读
星球精选