以太坊系统中实际存在两种类型的账户:
一种是由私钥控制的外部账户,比如我们所使用的钱包中的账户,这类账户都有自己的余额。拥有者可以通过创建和签名一笔交易从自己的外部账户发送消息;
另一种是由部署到区块链上的代码控制的合约账户,由存储在智能合约账户内的以太坊虚拟机代码控制。当合约账户收到信息时,其内部代码就会被激活,并允许它对内部存储进行读取和写入以及创建新合约等操作。按照目前的以太坊协议,只有外部帐户才可以发起交易,并且仅允许账户的所有人修改其帐户状态。
什么是账户抽象化?
账户抽象是对以上两种账户的一种改进,尝试模糊二者之间的界限,变成一种包含复杂逻辑的通用性账户,使账户可以同时拥有合约账户和外部账户的功能。
这种做法相当于让用户按照合约账户的格式来定义外部账户,用户可以在智能合约钱包中包含任何逻辑验证。由密钥控制的账户也可以获得代码的支持。
账户抽象化的各种方案
一直以来,实现账户抽象化都是以太坊开发者社区的愿景。社区也提出了各种各样的方案,如:EIP-86,EIP-2938等。
SEC通过从M条例中删除对信用评级的引用的修正案:金色财经报道,美国证券交易委员会(SEC)今天通过了对规则的修改,从M条例第101条和第102条规定的现有例外中删除并取代对信用评级的提及,这套规则禁止可能人为影响所发行证券市场的活动。
Gensler表示,这种采用符合国会在 2008 年金融危机之后的愿望,确保我们不会在我们的规则集中嵌入对信用评级的依赖,而是采用适当的替代信用衡量标准。此次通过将是SEC为执行这一任务而制定的第六次也是最后一次规则制定。
修订案生效后,将取消M条例第101条和第102条中某些现有的例外规则,这些例外规则参考了不可转换的债务证券、不可转换的优先证券和资产支持证券的信用评级,取而代之的是基于信用度替代标准的新例外规则。这些替代措施包括满足特定违约概率门槛的发行人的不可转换债务证券和不可转换优先证券的例外情况,以及根据在委员会SF-3表上提交的有效货架登记声明发售的资产支持证券的例外情况。[2023/6/8 21:22:53]
EIP-86是为账户抽象做技术准备,它定义了一种新的账户类型,允许用户创建基于智能合约的账户。
以太坊Layer2上总锁仓量为91.59亿美元:金色财经报道,L2BEAT数据显示,截至目前,以太坊Layer2上总锁仓量为91.59亿美元,近7日跌3.39%。其中锁仓量最高的为扩容方案Arbitrum One,约60.99亿美元,占比66.59%,其次是Optimism,锁仓量18.26亿美元,占比19.94%。[2023/5/8 14:48:49]
以太坊协议本身要求将所有内容打包到源自ECDSA安全的外部账户(EOA)的交易中,每个用户操作都需要由来自EOA的事务包装,这会产生21000gas的费用。用户需要在单独的EOA中拥有?ETH来支付gas。
EIP-86提出的账户抽象带来新类型的事务,与传统事务必须有一个EOA作为发送者相比,这些事务没有发送者。这种事务破坏了事务哈希的唯一性。EIP-86原计划于Metropolis阶段升级,但由于前面所说的问题,开发者决定在Metropolis中暂缓引入。
EIP-2938提供了一种账户抽象化解决方案,通过更改一部分以太坊协议,允许合约账户与外部账户一样可以发起交易。但是由于这个方案需要在共识层进行以太坊协议的更改,所以并没有得到广泛的接受。
Uniswap将通过集成sudoswap实现NFT交易:7月23日消息,Uniswap产品负责人在Twitter上表示,Uniswap将通过集成sudoswap实现NFT交易。
此前报道,NFT交易平台sudoswap公开发布NFT市场协议sudoAMM,用户可以创建流动性池并根据价格曲线逐步买卖NFT、为买卖NFT的流动性池提供流动性以赚取费用、直接以固定价格上架他们的NFT。此外LP还可以完全控制流动性池的定价,并可以随时进行调整。[2022/7/23 2:33:09]
后来提出的新的协议?ERC-4337?则提供了一种无需更改共识协议的方案试图达到与EIP2938同样的效果,这种安全性更高的实现方式目前在社区中得到了更多的关注。
ERC-4337如何实现?
ERC-4337没有试图修改协议共识,而是在系统中复制了mempool的功能。
用户发送一个用户操作对象,这个对象中包括了用户的意图、签名和其他数据。
用户操作有一个单独的mempool存储池,连接到这个存储池的节点会进行ERC-4337特定的验证,以过滤操作来确保他们只收到支付费用的操作。
罗马尼亚当局正在追查未能报告加密交易收入和纳税的投资者:7月3日消息,罗马尼亚国家财政管理局(ANAF)本周宣布,其负责防止逃税和欺诈的部门的官员已开始检查,以确定在Binance、Kucoin、FTX等各种平台上进行数字代币交易获得的收入。这些检查被视为税务局新战略中的一项举措,以“适应技术和金融市场趋势的演变”。他们的目标是63名罗马尼亚公民,根据ANAF的信息,他们在2016至2021期间的加密收入为1.31亿欧元。税务检查员发现其纳税申报单中缺少价值4867万欧元的数字资产。该机构迄今已下令追回约210万欧元未履行的税收义务。
罗马尼亚税务机关还打算检查其他各种与加密相关的业务的收入,例如挖矿或NFT交易。ANAF的反欺诈部门已建议所有开展此类活动或计划参与的罗马尼亚人确保他们报告收入并承担对国家的财政义务。(Bitcoin.com)[2022/7/3 1:48:10]
由矿工或使用Flashbots服务的打包者批量收集这些用户操作,打包成单笔捆绑交易,并纳入以太坊区块中。打包者为以太坊中的捆绑交易支付gas?fee,并收取每个单独的UserOperation所支付的费用进行补偿。打包者将使用费用优先级逻辑选择包含哪些UserOperation对象。??
ZK Rollup 订单簿 DEX ZigZag 已在 GitHub 上提交代币源代码:6月14日消息,以太坊二层 ZK Rollup 订单簿 DEX ZigZag Exchange 已在 GitHub 上提交代币源代码。[2022/6/14 4:24:25]
其中的用户操作UserOperation看起来像一个事务,但它是一个ABI编码的结构,包括了以下字段:
1、发件人:进行操作的钱包;
2、nonce和signature:传递给钱包验证函数的参数,以便钱包可以验证操作;
3、initCode:如果钱包尚不存在,则用于创建钱包的初始化代码;
4、callData:用于实际执行步骤调用钱包的数据。
而每一个钱包都是一个智能合约,必须包括两个功能函数:
1、validateUserOp,它接受一个UserOperation作为输入。这个函数应该验证UserOperation里的签名和nonce,如果验证成功则支付费用并增加nonce,如果验证失败则抛出异常;
2、op执行函数,将calldata解析成钱包执行操作的一个或多个指令。??
ERC-4337带来的变化
如果该提议被普遍采用,签名验证转移到了以太坊虚拟机上,validateUserOp函数添加了任意签名和随机数验证逻辑,使验证逻辑变得更加灵活。
如此一来,签署交易之时就能采用新的密码学工具,钱包也可以提供一些新的功能,比如:
1、多重签名;
2、社交恢复;
3、更高效、更简单的签名算法;
4、后量子安全签名算法;
5、可升级钱包。
这种方案还打开了各种其他交易许可管理,比如允许交易通过智能合约来支付gas费。
在目前,外部钱包要在以太坊上交互的gasfee只能通过钱包中的ETH来支付,如果你的钱包中只有ERC-20Token,没有ETH,你将没有办法将这些Token转出。当ERC-4337采用后,用户可以使用账户中的ERC-20Token来支付费用,由矿工节点用合约作为中介来代为支付ETH上链并获取用户的ERC-20Token。
抽象化实现后,由外部账户的所有者签名交易并进行广播将不再是发起交易的唯一方法。这将为以太坊充当元交易的中继者带来可能。目前许多以太坊上的应用都需要依靠中继者在区块链上发布用户交易,并向中继者支付费用。如果钱包中可以内置更复杂的合约,有些中继者就不再有存在的必要,也就不需要向他们支付额外的费用。
虽然有很多优点,但是新方案也同样面临一些问题。
最突出的一点就是更高的Gas成本,基本的ERC-4337操作约需要42000gas,而常规交易需要21000gas,原因如下:
1、需要支付大量的单个存储读/写成本,在EOA的情况下,这些成本会捆绑到一笔21000gas的付款中:
编辑包含pubkey+nonce(~5000)的存储slot;
用户操作调用数据成本;
ECRECOVER(~3000);
首次访问钱包本身(~2600)
首次访问收款人账户(~2600)
将ETH转入收款人账户(~9000)
编辑存储以支付费用
访问包含代理(~2100)的存储slot,然后访问代理本身(~2600);
2、除了上述存储读/写成本之外,合约还需要执行「业务逻辑」
3、需要消耗gas来支付日志费用;
4、一次性合约创建成本
简而言之,账户抽象地址的每一步都需要计算,需要消耗更多的资源,也增加了额外的费用。
好在这并不是无解的。
由于Rollup擅长进行数据压缩,与数据复杂的账户抽象方案具有天然的契合点。
在Vitalik最新的提案中,提出了通过layer2来处理账户抽象化产生的数据。其改进点在于,将只能分步骤实现的功能打包成批交易,同时用SNARK技术来保证交易有效性。??
结语
在以太坊重点发展Layer2的格局已定的现在,Vitalik对以太坊升级的后续计划开始转向账户抽象。最新的提案中展示了rollup+账户抽象的技术路径。各个Rollup提供商也推出了兼容账户抽象的新版本。
今年6月,zkSync发布V2更新信息:增添「账户抽象」功能,增加与以太坊EVM的兼容性。10月,ERC-4337发布了新版本,添加了包括BLS签名算法的签名聚合功能。签名聚合能够让构建者和批次提交者也能聚合签名,大大减少链上数据,可为rollups降低数据成本。
我们有理由相信,账户抽象带来的变化同样蕴藏着生态爆发的可能性。随着Rollup的发展,可以与Rollup进行结合的账户抽象化一定也能发展出更优更精细的方案。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。