原文作者:Sid, IOSG Ventures
钱包的使用体验真的不行了吗
想象一下,你在 Facebook 上观看每一个视频、或对喜欢的帖子或图片进行评论,都必须先登陆才可以操作,久而久之用户将越来越少甚至不会再使用。
以今天区块链的构建方式,从钱包层、互动层和结算层面,都存在着用户体验上的摩擦。
Hasu (Flashbots 的 strategy lead,也是 Lido Finance 的 strategic advisor)描述了在与 2-3 个 DeFi 协议互动时使用钱包的一些不好的体验。下图对比了目前的状态和理想状态。
随着许多游戏工作室开始开发链上游戏,以及开发者对开发社交应用程序的兴趣增加,目前的基础设施是否已经准备好接纳下一个 10 亿用户?在用户体验不好的情况下,又该如何?
生态系统现状
增强钱包的用户体验和安全性,也有其他解决方案。我将其分为以下两大类:
-
账户抽象钱包
-
使用底层 EOA 的钱包
MPC(多方计算钱包)类型
MultiSig 多签钱包
MPC
多方计算钱包(MPC)是指 EOA 的单一私钥被分散成更小的碎片,并安全地存储在三个不同的当事方之间。m/n 或 n/n 当事方可以一起签署交易,可以是用户、设备和第三方服务。
分片的密钥通常在链外存储和计算,这可能不符合去中心化的精神,但是一种非常安全的管理钱包的方式。我们可以通过减少私钥管理的障碍来提高用户体验的服务,如 SSO 可以建立在 MPC 钱包之上。例如 Fireblocks,Anchorage 等。
多签钱包
多签钱包是需要 2 个或更多的外部账户来签署交易的智能合约钱包。多签钱包对个人来说没有太多的使用案例,但对组织来说是非常有效的。在预防单个用户携带属于多人的资金或资产逃跑的情况下,多签名是目前最好的选择。例如作为行业标杆的 Gnosis Safe。
帐户抽象钱包
帐户抽象是由 EIP-4337 解锁的一项新技术,它为 Web3 的用户打开了新的视野。
让我们在再来深入了解下帐户抽象(AA)。
账户抽象及其重要性
要理解什么是账户抽象,我们需要先了解账户的含义。以太坊(和大多数其他基于 EVM 的链)有两种类型的账户,分别是:
-
外部账户(Externally Owned Account, EOA)
-
合约账户(Contract Account, CA)
外部拥有的账户一般是指用户拥有的钱包账户,合约账户是智能合约地址。在账户抽象中,我们主要谈论的是外部账户 EOA。
EOA 的架构是使用一对密钥来验证交易: 公钥和私钥。他们被用来证明交易确实是由发件人签署的,从而防止伪造。而私钥是通过用户在打开钱包时获得的「助记词」产生的。
私钥用于签署交易来确保交易是由账户所有者签署的,并防止恶意交易。私钥的所有权定义了 EOA 的「自我托管」。
这种架构一定程度上对受过 Web3 教育的用户来说效果很好,但它存在很多问题。
钱包接入
创建 EOA 很简单并且是免费的,但每一次交易 EOA 都必须消耗 ETH。这就需要用户与中心化交易所互动,或请人向他们的外部账户 EOA 发送 ETH。
第二个问题是用户需要保存助记词。对于之前不了解这种行为的用户,无法明白私钥的重要性。
私钥管理
用户(EOA 的拥有者)不知道私钥的重要性,只知道不能和任何人透漏自己的助记词。因此要让用户加入 Web3 的学习曲线门槛是相当高的,并且过程很繁琐。
对 ECDSA 签名的依赖
目前在以太坊上签署交易的方法是使用 ECDSA 签名。ECDSA 签名不具有量子对抗性(椭圆曲线 Elliptic curve 密码学容易受到用于解决椭圆曲线上离散对数问题的改良型肖尔算法 Shor’s algo 的影响,而量子计算机可以轻松运行肖尔算法)。这虽然不是直接的影响,但考虑到以太坊未来的发展,我们需要思考未来可能出现的情况。
行动 = 交易
今天,用户在链上的任何行动都被认为是一个交易。因此当用户必须执行多个行为来完成交易时,对用户来说是非常低效率的。例如,如果用户要玩一个 Web3 游戏,当游戏中的每个行为都需要一个交易签名时,这将扼杀游戏的趣味性。
为什么不选择现有的智能合约钱包?
从用户的角度来看,智能合约钱包可以通过新增 EOA 的私钥管理,然后增加帮助 gas 补贴的中继器来完成这一切。流程如下图所示。
这个系统的问题是: EOA 也仍然需要私钥管理。虽然这些私钥可以被安全地管理,但仍然需要依赖第三方服务 MPC/ 多签名服务提供者。Web3 Auth 使用 MPC 系统,而 Safe Wallet 使用多签名模式。对于 gas 补贴,也有对中继器的外部依赖(例如 Biconomy 提供的那样)。
使用这些内置于区块链本身的执行层总是比依赖第三方要好,因为其他的可能会产生故障。
未来走向
随着 Vitalik 和团队对以太坊整体上废止 EOAs 的动向说得非常清楚,所有目前正在实施 ERC-4337 的钱包将失去其目前比 EOAs 更好的独特价值主张。
说到这里,在这两年里(自账户抽象首次提出以来),实现了 ERC-4337 的钱包将聚集分布,在用户使用区块链时,钱包是粘性产品。
虽然以太坊的最终目标是将 EOAs 从以太坊网络中移除,但摆脱 EOAs 并不像人们想象的那样容易。这其中有一定的权衡。
-
由于只有 ERC-4337 的存在,不可能将现有的 EOAs 转换为 AA 钱包
-
Gas 效率低下(一个基本的 UserOperation 需要 4.2 万,而一个基本交易需要 2.1 万)
-
从协议内抗审查技术中获益较少,如 crLists(强制验证者将交易添加到 mempool 的区块中的机制),该机制针对交易会错过用户操作。(crLists 不适用于 UserOperation mempool)。
以太坊基金会认识到了这些权衡,并提出了一个可能的解决方案来解决这些问题。
-
将 EOA 转换为合约账户。需要允许 EOAs 执行一个设置其合约代码的操作。一旦一个 EOA 这样做,转变是不可逆的;从那时起,该账户将只作为一个智能合约钱包发挥作用。因此必须创建一个新的 EIP。方案中提议创建一个名为 「AUTHUSURP」的函数。(参考阅读:EIP: 5003 )
-
降低 Gas。当 Verkle 树上线时,这是可能的(但没有明确的 ETD)。然而,将 UserOperations 捆绑到一个交易中会比在同一个区块中做一个 UserOperation 更有经济效率。
钱包类型对比
总结
了解了账户抽象是如何工作的,它能解决什么问题,以及它与其他类型钱包的区别。我们可以预测到账户抽象将在以下生态系统中获胜。
游戏
随着对区块链游戏的预期将在 2023 年走强,AA 钱包将在区块链游戏的成功中发挥举足轻重的作用。链上游戏的用户体验将通过 Session Keys 得到极大的改善。Session Keys 允许用户根据一组参数预先批准一个应用程序的交易:例如一个定量的持续时间,最大的 gas 数量,一个特定代币的最大交易量,或一个特定合约的特定功能。用户将能够使用一些基本条款来预先批准他们的会话,再点击开始,然后玩游戏,以此避免不断地被他们的钱包轰炸,让你确认此交易。他们只需要在游戏脱机或交换代币时担心区块链的部分。Sequence 等钱包供应商已经在与主要的区块链游戏一起做这件事来改善游戏者的体验。
DeFi
DeFi 用户在使用 DeFi 协议时的体验感很差。因为每次用户想在永续期货平台上完成一笔交易,都需要签署两笔交易,并支付两次 Gas 费用。而在这段时间内,交易价格可能会发生变化。
高频交易者在使用账户抽象钱包时,可以有更快的速度和更好的体验来完成交易。账户抽象允许在单一交易中借助捆绑交易实现 dApp 之间的互操作。例如现在我可以将 ETH 存入 Aave,并将收到的 AETH 换成 USDC,这些都会在一次交易中完成。捆绑交易和会话密钥将帮助现有的 DeFi 用户获得更好的体验;基于 SDK 的方法将不会被 DeFi 采用,因为 DeFi 是一个私人的和意向性很强的用例,因此我们需要熟悉用户的需求,不能脱离用户。通常 DeFi 的用户也很熟悉链上的工作原理。
Web3 社交 (DeSoc)
Web3 社交在 2023 年有很强的叙事。
随着下一个百万用户将通过 DeSoc 和 NFTs 涌入加密货币市场,这会是市场在关注的最大趋势之一,也是建设者们的目标。帐户抽象可以通过 SDK 以最小的摩擦点帮助用户入驻,并且可能有一些初使用的 Gas 赞助进入 Paymaster 来帮助用户有一个流畅的体验,可以使用 Session Keys 与社交 dApps 进行交互。
综上所述基于 SDK 的账户抽象化方法对于有更多消费者的用例是很好的,例如 DeSoc、Web3 游戏。同时独立钱包在 DeFi 领域也会有更多的应用方向。
原文链接