通过 Paymaster 的代偿合约,降低了用户参与 Defi 的门槛,项目方可以提供 0gas 或者低 gas 交易来吸引更多用户的参与。通过对交易的打包与批量化处理,大大优化了用户在 Socialfi 和 gamefi 中的参与体验,为 Socialfi 和 gamefi 的参与者提供了更为多样的交互选项。
原文作者:Jerry Luo
原文来源:Kernel Ventures
TLDR:
当下以太坊上主流的钱包类型有 EOA 和 SCW 两种,但两者分别面临着执行效率低下和无法自主发起交易的问题。以太坊开发者几经探索,现阶段找到的最优方案是通过 ERC4337 实现的账户抽象。
总的来说,ERC4337 仍为现阶段实现账户抽象的最优解。通过 Paymaster 的代偿合约,降低了用户参与 Defi 的门槛,项目方可以提供 0gas 或者低 gas 交易来吸引更多用户的参与。通过对交易的打包与批量化处理,大大优化了用户在 Socialfi 和 gamefi 中的参与体验,为 Socialfi 和 gamefi 的参与者提供了更为多样的交互选项。
去中心化和便利性的取舍一直是困扰 crypto 参与者的一大难题。如果要拥抱去中心化,就必须舍弃便利的 web2 操作模式,接收操作从简单的点击按钮变为保管助记词,私钥签名,设置 nonce 值等一系列流程。而如果要追求便利性, FTX,JPEX 等一系列中心化机构的暴雷又使我们无法忽视账户所有权的重要性。为解决这一问题,以太坊开发者们做出了一系列的尝试,使 web3 账户具有 web2 的便利性——账户抽象。今年的 ETHCC 大会上,以太坊创始人 Vitalik Buterin 总结了这些尝试,其中得到开发者最大共识的便是 ERC4337 标准。
ERC4337 在实现控制权和所有权与账户主体剥离的过程中主要涉及到了三个对象 UserOperation, Bundler 和链上合约。UserOperation 主要包含了用户的输入,Bundler 完成了打包和触发交易的过程,链上合约由 Entry Point, Paymaster Contract 和 Wallet Contract 三部分构成,主要实现了复杂的验证和执行逻辑。
两者最大的不同在于 ERC4337 钱包中可以指定 sender ,而不像 EOA 中默认 ECDSA 解签地址为交易发起者,因而 ERC4337 钱包实现了账户主体与所有权的分离。其次,ERC4337 中还新增了 paymasterAndData 参数用于设置代付合约的具体信息。代付合约的具体作用我们也会在后面进行讲解。
整体来看,这个过程中用户首先向 Bundler 发送包含了用户自定义参数的 UserOperation,如果有 paymasterAndData 参数,则会调用代付合约对 gas 费进行支付。如果有 initCode 参数,用户则会按照里面的代码逻辑创建一个新的智能合约钱包。最后,为了降低验签过程的 gas 消耗,ERC4337 中采取了批量打包交易的方式,使用 Signature Aggregator 将同类的 UserOperation 打包生成一个聚合签名,仅进行一次验证。当链下 Bundler 的模拟验证和链上的实际验证都通过后,智能合约钱包便成功执行了 UserOperation 中用户的自定义功能同时将多余 gas 退还给 Bundler 作为奖励。
相较而言,使用 EOA 账户发起一笔交易就显得极为简单,只需要某个 EOA 账户对交易数据进行签名后全网广播即可。广播的交易经过节点验证后会被等待打包,最后由 POS 机制选出的具有记账权的节点记录上链。这一过程非常简洁,不存在中间商 Bundler 和 Entry Point 入口点合约,因为会有相对较小的 gas 消耗。同时,安全性仅与 ECDSA 加密算法相关,不存在复杂合约逻辑带来的内生安全风险。但是这一过程中私钥和账户控制权唯一绑定,无法变更,且必须对所有交易一个个进行签名验证,无法进行自动化的处理。
总而言之,ERC4337 实现了私钥与账户所有权的分离,通过批处理交易降低了复杂交易过程的 gas 消耗,通过代付合约消除了钱包的以太坊余额准入门槛,通过智能合约钱包实现了签名方式的多样化与账户功能的自定义化,这些改进为 web3 账户的使用便利化,功能多样化做出了巨大推进。
总而言之,要在以太坊上进行账户抽象,ERC4337 虽然是现今得到最广泛认可的选项,但并非唯一选项。
可以看出,由于智能合约的引入,在执行合约业务(解包 UserOperation,执行条件验证,链上哈希等)以及触发事件并在以太坊上发布日志的过程中产生了巨大的 gas 消耗。同时,ERC4337 中所提出的交易批处理以降低交易成本的方式被证明在实际交易中并不实用,大多数的用户往往不需要在一次调用中打包大量交易,仅在项目方发放空投等极少数情景下可以发挥 ERC4337 批处理交易的优势。此外,原先为了分摊交易成本的 UserOperation 一旦在链上执行失败,也会给钱包账户或 Bundler 带来更高额的损失。
ChainCatcher 消息,MetaMask 产品负责人 Alex Jupiter 在接受 Decrypt 采访时表示,尽管 EthCC 期间账户抽象、EOA 等多种优化用户体验的技术被多次提及,但 MetaMask 会非常谨慎地采用这些技术
MetaMask 作为传统钱包供应商,可以帮助用户便捷的创造 EOA 账户,并通过提供去中心化的 Swap 服务收取手续费。对于这类已经形成稳定盈利方式的传统钱包巨头,大都不愿意冒险做出改变,当下对账户抽象也是多采取观望态度,虽然积极探索但在尝试方面始终保持谨慎态度。
以太坊上现有的 Dapp 包括 Opensea,Uniswap,MetaMask Swap.....,均以 EOA 账户作为默认服务对象。而如果要使这些 Dapp 完全兼容 ERC4337 钱包,需要改变 Dapp 与钱包交互的审查机制以及代币质押机制。要完成这一改变,现今主流 Dapp 的智能合约代码都需要进行改动,这一过程可能产生的安全风险以及更新成本都无法估量。此外,考虑到之前 Tornado 合约而引发的 Dapp 对合约账户的大量交易抵制,这一更新的工作量将更加巨大。
在以太坊与 Layer2 进行交互的跨链桥中,往往默认接收网络的收款地址为发送网络上付款的地址。这在传统的 EOA 账户中完全是没有问题的,因为同一把私钥通过签名便可以实现对两个网络上地址同样的控制效力。但是在 ERC4337 钱包中,转账发起地址为合约地址,而并不受私钥控制,也就不能把收款地址设置为与发送网络相同的地址了。所以 ERC4337 钱包与现今以太坊 Layer1 和 Layer2 之间几乎所有跨链桥都存在不兼容问题。
ERC4377 中为了使账户主体与账户控制权剥离而引入了 Bundler。只需要一个存储了一定以太坊的 EOA 账户便可充当 Bundler。相比传统 POW 机制下的矿机挖矿,这种新型挖矿方式几乎是零投入成本,同时也不存在可能的法律风险。而相较 POS 机制下的质押挖矿,Bundler 具有极低的参与门槛,不需要质押 32 枚以太坊,仅需要留存可以与 Entry Point 合约进行一次交互的 gas 即可。这一差异的本质原因是 Bundler 作恶的难度远大于验证节点而作恶产生的收益远小于验证节点,因而并不需要质押大量的以太坊以保证 ERC4377 协议整体运作过程中的奖惩平衡。最后,相较于流动性池中的质押收益而言,Bundler 具有更短的锁仓时间,从而使得资产有了更高的流动性,在以太坊面临较大抛压时,用户可以及时取出以减少损失。鉴于上述种种优势,Bundler 未来很有可能成为以太坊上的一种新型投资方式,并进一步衍生出类似于比特币矿池,以太坊质押池的 Bundler 池。具有低成本,回报稳定,高流动性的特点。
Intent centric 即以“意图”为中心,指用户在进行操作时无需了解具体执行步骤,而是程序根据用户需求在底层自动执行模块化的操作。对于新入 web3 的投资者,交易中的各种签名,gas 设置非常不友好,所以他们即便对 crypto 感兴趣,往往也只能借助 CEX 进行投资,无法进入真正的 web3 世界。这一现象产生的本质原因在于 DEX 和 CEX 中操作意图的差异。比如说现在有人想通过 DEX 以对自己获利最大的方式将手上的 USDT 置换为 ETH,那么他首先要从众多交易池中进行挑选,选出最优的一个,然后签名授权该 Dapp 一定权限,再签名确认将 USDT 质押入流动性池,最后签名确认从流动性池中提取出等值的 ETH。以上每一步操作都是基于行为的操作,一个操作对应底层的一个行为。但在 CEX 中,操作均为基于意图的操作。为了实现以最利方案将用户持有的 USDT 置换为 ETH 的意图,仅需要一个市价挂单便可,用户无需对具体挂单价位进行设置,了解。尽管有人提出,通过自己完成这一系列过程可以对交易过程有更具体的了解,防止模块化流程中可能存在的固有问题。但总的来说,拥有这一能力的人还是极为少数,多数人需要的只是一个可以实现他们意图的模块化流程,而没有意愿了解背后对应的具体操作。同时,人为操作过程相较经过长期检验的模块化流程也存在更高的风险性。在 ERC4337 账户抽象诞生之前,EOA 账户执行效率低下,需要对交易一个个进行签名确认,因而需要按照用户意图模块化处理交易的 intent centric 应用在以太坊上一直发展缓慢。而在 ERC4337 中通过引入 UserOperation 和 Bundler ,用户不是每签署一笔交易,经过验证便放入主要内存池等待上链。而是首先将交易( ERC4337 中的 UserOperation)发送到备用内存池和自己另外的或其他用户的 UserOperation 混到一起,等待 Bundler 对这些UserOperation 进行捆绑后一起提交给入口合约进行验证和执行。在这个过程中,用户仅需声明或签署其偏好,具体过程由 Bundlers 按照已有的共识层或者合约层逻辑进行选择与执行,无需用户参与任何具体过程。在 Dapp 中,我们可以设计好 intent centric 逻辑,当用户想要完成某一目标时,仅需对自己的意图签名即可,而不需要向原来一样自己选择交易行为,并逐个签名。可以预想,随着 ERC4337 的全面推广,intent centric 的 Dapp 将会在以太坊上得到普及,从而大大降低 web3 的进入门槛。
Defi 在上一轮牛市与 EOA 账户紧密结合,提升了 crypto 投资者链上交互功能的多样性,提供了质押,做市商,借贷等多样的金融方式,最终促成了 Defi Summer。但是 Defi 的复杂交易过程以及链上损耗为普通用户的参与设置了一个巨大的门槛,阻碍了 Defi 的进一步推广。ERC4337 钱包与 Defi 结合后可以提供 intent centric 的交互方式,使用户获得接近 CEX 的体验。同时通过ERC4337 中的 Paymaster 还可以实现免 gas 交易,一些运营商也可以通过这个方式降低 Defi 的门槛,吸引更多的人参与。但是不同于 Socialfi 和 gamefi 等赛道, Defi 涉及大量 token 的转账质押,对安全性有极高的要求。而账户抽象的合约层具有比较高的复杂性,容易出现安全漏洞造成用户加密资产的损失。同时,自从美国政府下达了对 Tornado 等许多洗币合约的禁令后,许多 Defi 对合约地址都会严格审查甚至暂停与其交互,因而智能合约钱包与现行 Defi 系统存在大量不兼容的地方,在与 Defi 合约交互过程中甚至还有被误判进入黑名单的可能,这也为 ERC4337 钱包在 Defi 中的推广带来不少阻碍。
不同于早期 gamefi 中的“半链”游戏,仅将游戏资产与道具进行了上链处理,通过去中心化的形式确保其资产安全。全链游戏将游戏的核心逻辑以及经济模型都写成了链上的智能合约,在链上进行游戏交互,实现了全过程的去中心化以及高安全性。但是现阶段的 web3 游戏为了实现全链也付出了巨大代价。首先便是 gas 费的激增,链上游戏,道具,场景的交互,每一步都需要在链上记录,这造成了游戏成本的激增。为了解决此问题,现阶段全链游戏的交互逻辑往往极为简单,但这也限制了用户的交易体验。同时,如果使用传统的 EOA 账户,在全链游戏的交互过程必须忍受极为繁琐的验签流程,对每一次交互进行确认,这使得游戏体验大打折扣。而引入账户抽象后首先便是大大降低了交易成本,交易确认环节仅进行 BLS 聚合签名和一次验签即可,大大节省了密码学验证过程的 gas 消耗。此外,通过批量打包交易,可以将原来一次次确认的过程。同时,个性化智能合约账户的引入可以为全链游戏的模块化搭建提供便利,从而提高开发效率。但是截止目前为止,账户抽象与全链游戏的结合更多的还是出现在 StarkNet 这类实现了原生账户抽象的 Layer2 上面,比如 loot realms,cartridge 等项目。不过原因并非以太坊上不适合进行全链游戏与 ERC4337 钱包的结合,而是由于 Entry Point 合约今年 3 月才完成上链,所以多数以太坊上基于 ERC4337 的全链游戏仍在开发中。可以预见,近期便会有许多基于 ERC4337 的全链游戏在以太坊上落地,从而大大提高其上全链游戏的交互体验以及降低交互费用。而以太坊现有的一些大型全链游戏比如 Dark Forest, Wolf Games 等也可能会考虑对合约层做出更改,以兼容与 ERC4337 账户的交互。
困于私钥账户的捆绑机制以及 EOA 账户自身有限的交互功能,长期以来 Socialfi 面临着参与门槛高,账户难管理的问题。不佳的用户体验大大限制了 SocialFi 项目的发展上限,账户抽象的引入将彻底改变这一局面,但便利性、可追回性与安全性之间如何取舍,还要根据 Socialfi 具体 web3 账户的重要性进行权衡。首先是私钥与账户控制权的分离,用户不再需要保管复杂又无序的私钥或者助记词,而且可以实现对账户密码的动态调整。比如 2021 年底推出的 ERC4337 项目 Ambire,便实现了通过电子邮件对 web3 账户的创建与私钥恢复。其次,ERC4337 提供的批处理交易解决了本文开头提出的 web3 门槛问题,web2 中一个按钮可以解决的问题,web3 中也可以通过一个按钮来解决。最后,ERC4337 账户中自定义代码逻辑的引入也更贴近 web2 中账户的个性化设计,可以使得每个 Socialfi 账户按照自身喜好引入不同的账户功能,类似于 QQ 中根据用户喜好可以选择开通频道功能与否。
截止发稿,web3 用户的数量级大概在 3 亿左右,仅占全球人口的约 4%,相较于全球 60 亿的网民,还有很大发展空间。web3 要对 web2 的体量发起追赶,跨过 10 亿人数这个大关,更低的参与门槛与更多的账户自定义功能是前提条件。当前实现这一目标的所有选项中,ERC4337 相对风险降低,具有比较成熟的框架,还得到了以太坊基金会和主要开发者的认可。因此,自从 Entry Point 入口合约部署以太坊上以来,账户抽象用户的数量也是迎来了爆炸式的增长。
虽然 ERC4337 现在得到了广泛的认可以及以太坊社区的推进,但在实际推行过程中还是面临不少问题。首先就是自身待定的标准,由于 ERC4377 的许多补充提案还在审核,所以最后的整体实现形式现在还无法确定,这为 ERC4377 生态项目的开发带来了很大的阻碍。其次是 ERC4377 的更新成本,一旦部署入口点合约,需要全网多数钱包统一覆盖原有地址才可以完成更新,成本极高。最后是与现有 Dapp 和跨链桥的不兼容问题,如果要完成 ERC4337 的全面落地,以太坊现有 Dapp 需要大范围升级,面临极高的安全风险和成本。
但是 ERC4377 也有对以上问题做出了积极的应对,比如通过添加外部智能合约提高 Bundler 的打包效率,增添操作码提高智能合约账户权限,补充 EIP 提案解决 Entry Point 难以升级的问题。同时,面对传统 Dapp 的不兼容问题,ERC4337 积极的自建生态,促进账户抽象钱包在以太坊上更为广泛的应用。ERC4337 钱包的全面落地,可以实现以太坊虚拟机层面的 evm intent-centric,而 evm intent-centric 在 Dapp 中进一步抽象便可使 web3 中的操作达到 web2 中以用户意图为中心的简易程度。如果 intent centric 在以太坊 Dapp 可以全面实现,Defi,gamefi 以及几乎所有对操作简便性以及自动化有需求的赛道都将对用户体验做出大大优化,从而吸引更多圈外人士参与。但是 Defi 这种直接涉及 token 转移的赛道增量相对会比较保守,因为其对安全性有更苛刻的要求。而 Socialfi 和 gamefi 这类赛道更在意用户体验,相对弱化安全性。但之前苦于 EOA 账户局限性,一直无法进行复杂交互设计。通过 ERC4337,这些赛道可以解决原来用户门槛过高和用户体验差两大问题,从而迎来用户量的大规模增长,甚至可能作为下一轮牛市中的主要爆发点。