什么是以太坊账户抽象
作者:Day
出品:白话区块链(ID:hellobtc)
原用标题:V 神高度重视的这个以太坊重要升级,或将开启 Web3 大爆发时代
封面:Photo by Shubham Dhage on Unsplash
以太坊联合创始人 Vitalik Buterin3 月曾发文称,自托管非常重要,社交恢复和多重签名是实现这一目标的好方法。并表示在加密支付方面使用 ERC-4337 账户抽象钱包会更加便利。
在 ETH2.0 的路线图中,官方将账户抽象与合并、分片放在一目录层级,不难看出账户抽象在 ETH2.0 的重要地位。
全球互联网用户数在 50 亿左右,根据 TripleA 的官方数据显示,截止目前,全球 Crypto 用户数量达 4.2 亿。
而作为目前使用最广泛的加密钱包 Metamask,在 22 年牛尾行情中,月活才刚突破 3000 万,对于 Crypto 行业了解相对较多的人来说,Crypto 的真实用户数还要再打个大的折扣。
究其原因,便是加密钱包的繁杂使用,例如各种专业词汇,以及资产保存等问题,阻碍了普通人进入 Crypto 行业,开头提到的以太坊账户抽象,可以有效解决这些问题,降低人们进入 Crypto 世界的门槛。
加密钱包,作为 web3 世界的入口,账户模型的实施为 web3 大规模用户奠定基础,具有重大的意义。本文,我们就来简单了解下账户模型的相关概念。
以太坊账户模型
想要了解账户抽象的概念,我们需要先了解钱包账户的知识。关于钱包账户模型(主要是以太坊等 evm 兼容链),目前主要分为 2 大类:外部账户(Externally Owned Account - EOA)和合约账户(Contract Account - CA)。
外部账户(Externally Owned Account),简称 EOA,目前,以太坊上的大多数钱包都是 EOA 钱包,包括我们熟悉的 Metamask,Tokenpocket 或者 Ledger 等硬件钱包,都属于此类。因为以太坊地址由公钥直接计算得到的,不依赖区块链本身,跟以太坊没有关系,所以被称为外部账户。
合约账户(Contract account),简称 CA,顾名思义,合约账户用由合约代码的逻辑进行控制的账户,常见的合约账户比如我们在 dex 交易时需要查找的各个 Token 的智能合约地址,它虽然没有私钥,也不能发起交易,但利用智能合约的可编程性,可以实现比 EOA 钱包更复杂的业务操作逻辑,通过 EOA 钱包控制合约账户,实现交易和签名等功能。
两种账户模型的共同点:
-都可以进行接收,持有,发送 token,与已部署的智能合约交互。
两种账户模型的区别:
-EOA 由私钥控制,CA 没有私钥,由合约代码的逻辑控制;
-EOA 创建账户免费,CA 创建账户需支付 gas;
-EOA 可以发起交易,CA 只能对接收的交易进行响应并发送交易;
-EOA 之间的交易只能是 Token 转移,从 EOA 向 CA 发起交易可以触发多种操作 Token 如 Token 转移或者创建新合约等。
钱包种类
1. 传统 (HD) 钱包
用户在传统钱包上生成地址,地址生成后,用户会获得一个公钥以及一个私钥。现状市面上的各种软硬件钱包,例如 Metamask,Ledger 等都属于 EOA 钱包。目前为止,传统钱包是普通用户进入 Crypto 行业的主要入口。
传统钱包目前存在的问题:
-门槛过高,用户需要对公钥私地址等相关知识有一定基础了解,才可能会使用钱包;
-资产容易丢失,用户需要自己保存私钥,私钥一旦泄漏,资产将永远无法找回;
-效率低下,用户在链上的每次交易,都需要进行签名授权等步骤才能完成交易确认,例如玩 web3 游戏,如果游戏全部上链,那么当游戏中每次行为都需要进行签名确认,会影响玩游戏的乐趣。
2.MPC(多方计算) 钱包
MPC 钱包本质上也是 EOA 钱包,MPC 钱包是将一个私钥打成 2 片或者 3 片,将部分碎片交给钱包方进行保存,每一方持有部分私钥碎片,当需要进行私钥签名时,通过算法(各方不泄露自己的隐私的前提下)将私钥碎片拼接成完整私钥完成签名。目前存在的产品如 Fireblocks,ZenGo 等。
优点:
-私钥分成多份,黑客破解难度提高,钱包安全性提高。
缺点:
-需要相信 MPC 钱包方,相信第三方提供的计算能力,当第三方出现问题时,服务无法继续。
以上两种都属于 EOA 模型,而智能合约钱包属于 CA 模型。
3. 智能合约钱包
智能合约钱包,是一种类似钱包的智能合约,即一个允许用户管理资金、登录并与各种 dapp 交互的界面。与 EOA 钱包不同,由于智能合约部署需要上链,使得智能钱包的创建需要支付一定成本。Argent,Gnosis Safe 这些老牌钱包就是智能合约钱包。
多签钱包的 “多方参与” 概念与 MPC 钱包类似,但他是建立在智能合约上的钱包,通过多个私钥来控制一个钱包,通过智能合约定义验证逻辑,当需要验证一笔交易时,需要一个以上私钥,或者多个私钥中至少三分之二的私钥参与验证,才能完成签名,因此也属于智能合约钱包。知名的就是上面提到的 Gnosis Safe。
优点:
-安全性提高(多签);
-可以实现批量交易,节约成本;
-可扩展性,由于智能合约的可组合性,可以添加各种功能;
-链上责任明确,多签可以在链上明确哪些私钥进行签名;
-社交恢复,当私钥/密码发生泄漏丢失可以重新拿回账户的控制权
缺点:
-成本变高,交易费用变高,交易验证需多个签名,恢复成本变高,需要支付链上费用才能完成;
-便捷性降低(多签);
-非 EVM 链上需要定制才能运行;
-兼容性差,与不可升级的合约不兼容,各家运营商之间控制账户标准不同,各种钱包之间无法随意切换。
账户抽象
由上文我们可以知道,EOA 和 CA 这两种账户模型支持的钱包都存在着各种各样的问题,因此,以太坊官方想通过账户抽象对这两种账户模型进行加强。
账户抽象(Account Abstraction - AA),核心是将账户的签名权和所有权解耦拆分,让 CA 和 EOA 的组合更具灵活性,通过智能合约代码实现 gas 代付、权限可编程等功能。
账户抽象是基于智能合约钱包的改进方案,因此两者之间界限不是特别清晰。以太坊账户抽象 2016 年就已经提出了,但真正看到实现的可能是 EIP-4337 方案的提出。
方便理解账户抽象,举个现实例子,当我们想看电视的时候,只需要通过遥控按钮来控制开关,音量,切换频道,并不需要了解电视内部是如何将这些行为一步步实现。而其中的遥控,就相当于把电视内部运行 “抽象” 至表面。
账户抽象也是类似的,将 CA 和 EOA “抽象”,简化为以太坊账户形式,用户不需要在意到底是哪种账户模型,背后的运行逻辑,用就完了。如果没有技术背景,可以将其理解之前大热的为模块化概念。
由于 EIP-4337 方案并不成熟,基于 EIP-4337 开发的账户抽象钱包目前也不可能广泛应用,我们可以通过账户抽象的用例来了解下其为何重要。
账户抽象用例:
1. 智能合约钱包
上文有提到相关概念,相较于 EOA 钱包,智能合约钱包可以提供类似 Web2 的丝滑体验,用户不需要了解钱包各种概念,降低互联网用户进入 web3 门槛。
2. 无 ETH 交易
传统钱包进行交易时,需要用到主网 Token(ETH)作为 gas 费,当钱包没 Token 网 Token(ETH)时,将无法进行交易。而在 EIP4337 提案中,用户即使没有以太坊也可以进行交易(代付或者用有 Token 作为 gas 费)。
3. 批量打包合并交易
批量打包合并交易,支持多笔打包一笔发送,类似 Dex 上的交易,新 Token 需要先 approve 授权再 swap(交换),而账户抽象可以一步进行。
4. 自动运行
自动运行,当用户设置交易条件后,达到相关条件,交易自动运行。类似支付宝的免密支付。在游戏中,达到要求后,自动授权签名,提高游戏体验,链上高频交易者,可以提高使用体验。
5. 权限拆分
权限拆分,管理多个密钥,不同密钥给予不同权限。
账户抽象的缺点:
-钱包的兼容性,对智能合约的依赖性,当将智能合约部署到链上时,将与该链绑定,其他链无法适用;
-随着功能的不断增加,漏洞出现的可能性也在加大;
-所有逻辑都跑在链上,增加 gas 成本。
以上便是账户抽象的相关知识,作为 Web3 行业的流量入口,低门槛,便捷是当下钱包的最大问题,账户模型的出现,可以有效的解决这些问题。目前 EOA 钱包作为主流,圈内用户大多已经习惯使用 EOA 钱包。
免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。本文内容仅用于信息分享,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。