账户抽象方案会重塑钱包赛道 就像移动支付取代现金和信用卡
作者:北辰
crypto行业在过去的大半年里很少冒出新事物,但最近一两个月以来,已经开始涌现一些值得讨论的新概念/技术了,它们将会共同塑造下一轮牛市的叙事。
ERC-4337标准定义的「账户抽象」绝对算是一个,未来的大部分交互场景也许是由智能合约钱包来完成,而不是今天的外部钱包。
由于「账户抽象」(Account Abstraction)是对以太坊上两种类型账户的改进方案,因此我们讨论「账户抽象」的优势,就必须先确定在此之前的不足。
以太坊有两种类型的账户——外部账户(externally-owned account,EOA)和合约账户,二者在功能上都可以接收、持有和发送token,以及和智能合约交互,但形态不同。
外部账户就是我们现在常见的钱包所提供的账户。创建外部账户时,会生成公钥和私钥的密钥对,然后该账户在链上的每一步交互都需要用私钥从外部来签名。也就是说,谁控制了私钥,谁就控制了这个账户。
所以外部账户的操作就很麻烦,而且还不能离线授权,限制了很多应用场景(比如止盈止损,除非是把资产打给协议的账户才可以代劳)。毫不夸张地说,限制Web2用户迁移到Web3最大的也是第一个拦路虎就是外部账户。
以太坊上还有另一种形态的账户,那就是存储在链上并由代码自动执行的合约账户,理论上就不用再每一步都签名确认了,可实际上它的执行逻辑决定了它不能在链上发起交易(只能响应)……除非以太坊改动共识层。
所以以太坊社区用合约账户取代外部账户的想法一直搁置到今年,直到ERC-4337标准的推出。
ERC-4337标准并没有改变以太坊的共识层,但可以让合约账户像外部账户那样发起交易,而且由于是账户本身就是一个智能合约,因此还有很多可自定义的权限,例如项目方空投时直接给用户付Gas费,甚至Gas费本身也可以支持各种token。
很难用三言两语介绍清楚ERC-4337标准是怎么做到的,所以这里就用比喻来形象(但不够准确)地加以说明——让合约账户伪装外部账户去发起交易。
我们现在所使用的外部账户发起交易的流程是:
先向节点发送一组指令(主要是描述这比交易的接收者、数量、允许最大Gas、签名等),节点收到指令后会判定该指令是否有效(余额够不够,签名对不对),如有效就添加到区块链上。
有时指令太多,节点处理不过来,就把它们放到内存池排队等候(基本是按Gas费多少来安排顺序的)。
ERC-4337标准就是把内存池这个底层功能给复制到合约上,这样就可以跟外部账户一样发起交易了。当然这个内存池是另外的内存池,节点运行的是专用代码,有专用的接口。
那么可以发起交易的合约账户,跟本来就可以发起交易的外部账户相比有什么优势呢?
Vitalik Buterin总结的优势有可以添加任意签名和随机数验证逻辑、可以更改公钥或升级代码、可以为执行步骤添加自定义逻辑等。这里再用一个形象(但不够准确)的比喻来加以说明——让管理账户就跟管理DeFi协议一样灵活。
对普通用户而言,终于可以像使用支付宝、微信钱包那样去使用链上钱包了,包括且不限于免密支付、社交恢复、代付、挂失冻结等。
可以预见,账户抽象方案未来会取代外部账户方案成为钱包赛道主流,就像移动支付取代现金和信用卡那样不可阻挡。只是「未来」会有多久?
这个问题背后是一系列具体的问题,例如如何兼容现有的dApp、合约推进难度如何等等,不出意外的话一定会出意外。
欢迎持续关注链茶馆,我们会持续追踪钱包赛道以及账户抽象方案,希望得出相对清晰的判断。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum