原文作者:鹿目圆,IOBCCapital?
以太坊系统中实际存在两种类型的账户:
一种是由私钥控制的外部账户,比如我们所使用的钱包中的账户,这类账户都有自己的余额。拥有者可以通过创建和签名一笔交易从自己的外部账户发送消息;
另一种是由部署到区块链上的代码控制的合约账户,由存储在智能合约账户内的以太坊虚拟机代码控制。当合约账户收到信息时,其内部代码就会被激活,并允许它对内部存储进行读取和写入以及创建新合约等操作。按照目前的以太坊协议,只有外部帐户才可以发起交易,并且仅允许账户的所有人修改其帐户状态。
开发者社区的愿景。社区也提出了各种各样的方案,如:EIP-86,EIP-2938等。
EIP-86是为账户抽象做技术准备,它定义了一种新的账户类型,允许用户创建基于智能合约的账户。
opBNB最新进展:已与Truffle、Foundry、Hardhat、Remix开发者平台集成:7月14日消息,BNB Chain发布基于OP Stack的Layer 2网络opBNB最新进展,opBNB已与区块链基础设施提供商NodeReal合作,用户可通过NodeReal平台访问opBNB浏览器,opBNB Scan提供一个用户友好界面,用于探索和分析opBNB交易、地址和其他相关信息。此外,opBNB已与Truffle、Foundry、Hardhat、Remix开发者平台集成,支持MetaMask、Trust Wallet、Particle Network、Math Wallet钱包。同时,opBNB也已集成Polyhedra跨链桥,与AvengerDAO合作增强安全。[2023/7/14 10:55:50]
以太坊协议本身要求将所有内容打包到源自ECDSA安全的外部账户(EOA)的交易中,每个用户操作都需要由来自EOA的事务包装,这会产生21000gas的费用。用户需要在单独的EOA中拥有ETH来支付gas。
Balancer或将集成Aura Finance和Arbitrum:金色财经报道,DeFi流动性协议Balancer在社交媒体上宣布,“Soon TM”,并在配图中增加了Aura Finance、Arbitrum的logo,疑似将与Aura Finance和Arbitrum集成。[2023/6/20 21:48:26]
EIP-86提出的账户抽象带来新类型的事务,与传统事务必须有一个EOA作为发送者相比,这些事务没有发送者。这种事务破坏了事务哈希的唯一性。EIP-86原计划于Metropolis阶段升级,但由于前面所说的问题,开发者决定在Metropolis中暂缓引入。
EIP-2938提供了一种账户抽象化解决方案,通过更改一部分以太坊协议,允许合约账户与外部账户一样可以发起交易。但是由于这个方案需要在共识层进行以太坊协议的更改,所以并没有得到广泛的接受。
拜登:与美众议院议长讨论进展顺利,将于周一再次会谈:5月22日消息,美国总统拜登表示,与美国众议院议长麦卡锡的讨论进展顺利,将于周一再次会谈。(金十)[2023/5/22 15:18:06]
后来提出的新的协议ERC-4337则提供了一种无需更改共识协议的方案试图达到与EIP2938同样的效果,这种安全性更高的实现方式目前在社区中得到了更多的关注。
ERC-4337如何实现?
ERC-4337没有试图修改协议共识,而是在系统中复制了mempool的功能。
用户发送一个用户操作对象,这个对象中包括了用户的意图、签名和其他数据。用户操作有一个单独的mempool存储池,连接到这个存储池的节点会进行ERC-4337特定的验证,以过滤操作来确保他们只收到支付费用的操作。
BTC跌破23500美元:金色财经报道,行情显示,BTC跌破23500美元,现报23496.8美元,日内跌幅达到3.47%,行情波动较大,请做好风险控制。[2023/2/17 12:12:20]
由矿工或使用Flashbots服务的打包者批量收集这些用户操作,打包成单笔捆绑交易,并纳入以太坊区块中。打包者为以太坊中的捆绑交易支付gasfee,并收取每个单独的UserOperation所支付的费用进行补偿。打包者将使用费用优先级逻辑选择包含哪些UserOperation对象。
其中的用户操作UserOperation看起来像一个事务,但它是一个ABI编码的结构,包括了以下字段:1、发件人:进行操作的钱包;2、nonce和signature:传递给钱包验证函数的参数,以便钱包可以验证操作;3、initCode:如果钱包尚不存在,则用于创建钱包的初始化代码;4、callData:用于实际执行步骤调用钱包的数据。而每一个钱包都是一个智能合约,必须包括两个功能函数:
ApeCoin社区AIP-13提案完成投票,提案未获通过:金色财经报道,据ApeCoin Snapshot投票页面显示,ApeCoin最新的AIP-13提案已完成投票,投票数据显示该提案未获得通过,该提案提议可以通过 AIP 治理流程重新提交,同时突出显示对原始提案的更改,最终获得了95.12%反对票。[2022/6/2 3:57:52]
1、validateUserOp,它接受一个UserOperation作为输入。这个函数应该验证UserOperation里的签名和nonce,如果验证成功则支付费用并增加nonce,如果验证失败则抛出异常;
2、op执行函数,将calldata解析成钱包执行操作的一个或多个指令。
多重签名;
社交恢复;
更高效、更简单的签名算法;
后量子安全签名算法;
可升级钱包。
这种方案还打开了各种其他交易许可管理,比如允许交易通过智能合约来支付gas费。在目前,外部钱包要在以太坊上交互的gasfee只能通过钱包中的ETH来支付,如果你的钱包中只有ERC-20代币,没有ETH,你将没有办法将这些代币转出。当ERC-4337采用后,用户可以使用账户中的ERC-20代币来支付费用,由矿工节点用合约作为中介来代为支付ETH上链并获取用户的ERC-20代币。
抽象化实现后,由外部账户的所有者签名交易并进行广播将不再是发起交易的唯一方法。这将为以太坊充当元交易的中继者带来可能。目前许多以太坊上的应用都需要依靠中继者在区块链上发布用户交易,并向中继者支付费用。如果钱包中可以内置更复杂的合约,有些中继者就不再有存在的必要,也就不需要向他们支付额外的费用。
虽然有很多优点,但是新方案也同样面临一些问题。
最突出的一点就是更高的Gas成本,基本的ERC-4337操作约需要42000gas,而常规交易需要21000gas,原因如下:
1、需要支付大量的单个存储读/写成本,在EOA的情况下,这些成本会捆绑到一笔21000gas的付款中:编辑包含pubkeynonce(~5000)的存储slot;用户操作调用数据成本;ECRECOVER(~3000);首次访问钱包本身(~2600)首次访问收款人账户(~2600)将ETH转入收款人账户(~9000)编辑存储以支付费用访问包含代理(~2100)的存储slot,然后访问代理本身(~2600);
2、除了上述存储读/写成本之外,合约还需要执行“业务逻辑”
3、需要消耗gas来支付日志费用;
4、一次性合约创建成本简而言之,账户抽象地址的每一步都需要计算,需要消耗更多的资源,也增加了额外的费用。
好在这并不是无解的。
由于Rollup擅长进行数据压缩,与数据复杂的账户抽象方案具有天然的契合点。
在Vitalik最新的提案中,提出了通过layer2来处理账户抽象化产生的数据。其改进点在于,将只能分步骤实现的功能打包成批交易,同时用SNARK技术来保证交易有效性。
通过将ERC-4337与Rollup技术结合,可以在账户抽象化中实现数据压缩和降低gas成本的效果,更好地发挥账户抽象的优势。
zkSync发布V2更新信息:增添“账户抽象”功能,增加与以太坊EVM的兼容性。10月,ERC-4337发布了新版本,添加了包括BLS签名算法的签名聚合功能。签名聚合能够让构建者和批次提交者也能聚合签名,大大减少链上数据,可为rollups降低数据成本。
我们有理由相信,账户抽象带来的变化同样蕴藏着生态爆发的可能性。随着Rollup的发展,可以与Rollup进行结合的账户抽象化一定也能发展出更优更精细的方案。
标签:以太坊GASBNBNCE什么是以太坊币交易uGAS-JUN21 Token Expiring 30 Jun 2021XMASBNB币Quoll Finance
一位流行的加密货币分析师称2021年5月比特币(BTC)崩盘,他认为国王加密货币的炸弹性反弹即将到来.
1900/1/1 0:00:00Near基金会今日宣布,Near生态的稳定币项目USN面临「抵押不足」的问题,因此呼吁USN发行组织DecentralBank关闭USN项目,并为此拨出4,000万美元弥补抵押品资金缺口.
1900/1/1 0:00:00早期加密领域的成功吸引了一大批的狂热投资者纷纷涌入。然而,现有项目的基础设施限制还是阻碍了web3市场的广泛采用.
1900/1/1 0:00:00?编辑切换为居中添加图片注释,不超过140字由于价格在动荡的周末后上涨,以太坊周一仍接近三周高点。本周开始,看涨情绪似乎在某种程度上回到了加密货币市场,截至撰写本文时,市值交易高1.56%.
1900/1/1 0:00:00卡尔达诺在本周开始时收于一周高点,因为该代币连续第四个交易日攀升。多边形也处于绿色状态,并在此过程中与关键阻力位相撞。总体而言,截至撰写本分析报告时,全球加密货币市值目前高出1.30%.
1900/1/1 0:00:00公众号比特币现金是近年来对买家来说表现相当令人失望的加密货币之一。例如,回顾2018年初,倒数第二个牛市周期的结束,比特币现金跻身市值前5名的最有价值硬币之列.
1900/1/1 0:00:00