以太坊状态模型的最大问题是:平均状态增长与最坏情况状态增长之间的巨大差异。
本文系Vitalik在以太坊研究者论坛里提出的一个最新讨论,该讨论是继以太坊研究科学家BarnabéMonnot提出的关于EIP1559切实实施的思路进行的再次结合。
以下为原文翻译,团队对部分词汇进行了批注及少许删改。
作者:VitalikBurerin
特别感谢@barnabe在早期提出了类似的想法。
正如我在此前的《关于资源定价的立场文件》中详细讨论的那样,以太坊中的Gas实际上是支付三种不同的资源:
1.带宽
2.计算
3.存储
白计划批注:《关于资源定价的立场文件》是一份区块链资源定价的草案,其中Vitalik通过数学演算推论了相应的定价方式。
Gravity Finance项目Discord服务器已被入侵:金色财经报道,据CertiK监测,Gravity Finance项目Discord服务器已被入侵,黑客发布了虚假空投链接。在团队确认他们已经恢复服务器的控制权之前,请勿点击任何链接。[2023/4/6 13:47:37]
该草案内容包含:价格与数量、社会成本曲线、首次和二次拍卖、可调整收费计划、存储维护费,以及包含为什么固定费用并未得到充分利用?
带宽和计算是短暂的成本,存储不像这两个成本,它会超出短暂的限制。
在一个块的时间内,一个节点可以进行多少次计算或下载数据是有限度的,一旦该块通过,下载和验证所需的量就达到了极限。块的大部分都消失了。
而存储是持续的成本。如果一个单独的块状态增加了100MB,该块当下可以处理好,但是一系列的块将使以太坊无法使用。状态增长的“爆发”影响可以忽略不计,但长期影响是最严重的,一旦建立的一个超大状态就永远给网络增添了负担。
游戏公司Gravity将与The Sandbox合作,为旗下游戏Ragnarok构建元宇宙土地:7月27日消息,The Sandbox 与游戏公司 Gravity 达成合作,将把 Gravity 旗下游戏“仙境传说”(Ragnarok)在 The Sandbox 中构建元宇宙土地,以及使用 Ragnarok IP 的各种内容和 NFT,此外用户可以参加以 Ragnarok 元宇宙=和角色为主题的未来游戏 Jam。[2022/7/27 2:41:20]
不过,随着状态变为无状态,状态的长期影响会大大减少:状态不会给网络造成永久负担,它只会负担大约一年的时间,在那一年中,只有一小部分节点需要实际存储那个状态。但这种长期成本仍然是真实存在的,并且需要将其定价。
平均大小与最坏情况的存储大小
Vitalik为印度新冠援救运动捐赠100个枚ETH和100枚MKR:4月25日,Polygon联合创始人Sandeep推特显示,Vitalik为印度新冠援救运动捐赠超60万美元加密货币。目前印度新冠疫情严重,Polygon联合创始人Sandeep发起了援救运动,发动加密货币圈提供帮助。根据Etherscan信息,以太坊联合创始人 Vitalik Buterin 已经捐赠已捐赠了 100 个 ETH 和 100 个 MKR。[2021/4/25 20:55:41]
在当前协议和状态到期的改进协议中,对状态建模的不足之一是平均状态增长与最坏情况状态增长之间的巨大差异。
考虑当前的协议。如今,该状态的总大小约为5.5亿个对象,约32GB。如果我们剔除上一年所有nottouched的状态,那总量很容易下降一半以上。
Vitalik发起EIP-3298提案 gas费回归正常:2月28日消息,Vitalik在昨天发起EIP 3298提案,提案内容为在伦敦升级中移除“执行SELFDESTRUCT获得gas费减少奖励”的规则。
据悉,以太坊网络的gas费受以太坊状态(节点存储的合约和地址信息集合)大小的影响,以太坊状态越膨胀,全网gas就会相应上涨。而“SELFDESTRUCT(自毁)”是虚拟机级别的操作码,通过执行该操作码销毁合约,以太坊虚拟机会向用户退回一部分gas费,从而激励以太坊状态收缩。但是一部分开发者在gas费较低时将gas存储到合约中,在gas费较高时执行“SELFDESTRUCT”来进行套利,这种事先填充“便宜的gas”的行为其实导致了网络膨胀。Vitalik发起该提案后,以太坊gas已经回到几十Gwei水平。[2021/2/28 18:00:26]
现在,最坏的情况是什么?
合同代码的创建按每字节200Gas的费用收费,因此,如果将一个区块分成3个事务,每个事务创建一个合同,我们可以为12334800Gas3*55000Gas来制作3个20558字节的合同,以增加合同创建的开销。
这样,在单个块中,存储大小可以增加20600*3=61800字节。
假设平均出块时间为13.1秒1个,每年都有31556925/13.1=2408925块,总的来说,状态可以按61800*2408925=148871600381.67938字节增长,即约138GB。
这个差异约为10倍。
非常重要的是,消费者硬件RAM可以容纳实际大小可能是16GB,而138GB则不能被存储。
如果我们可以使最坏的情况接近平均情况,那就太好了。
双轨EIP-1559
解决此问题的自然方法是对临时成本和永久成本使用EIP-1559定价,但调整期有所不同。
对于临时成本,价格可以一次调整10%以上。但是,对于永久性成本,将使价格调整慢得多。
如果我们采用AMM成本曲线机制作为基础,对于存储,我们可以考虑一条曲线,目标速率为每月1GB,而成本的增加取决于我们比目标高出多少:
例如,每超出目标1GB,存储成本就可能翻倍。在这种情况下,存储块价格可能需要3天左右的才能翻一番。如果存储增长超过10GB,则存储成本将是正常价格的1000倍,在经济上无法继续存储。
有两种方法可以实现此目的:
1.用Gas购买存储。也就是说,使用SSTORE创建新的存储插槽,像现在一样消耗Gas,但是消耗的Gas量将是可变的。这样做的缺点是,它会形成激励措施,用户宁愿在Gas价格较低的周末补充存储空间。
2.用ETH购买存储。交易除了需要Gas外,还需要提供另一种资源,该资源将采用与Gas相似的机制,但参数不同。这样做的缺点是使调用规则变得复杂,并且需要添加新的CALL操作码。
请注意,这里有一个混合选项:
3.可以以ETH定价存储,但以Gas收费。我们可以将用于扩展存储的ETH排除在EIP1559Gas价格更新规则甚至是区块限制范围之外。
4.将Gas更全面地改造为三个概念:Gas,执行点和存储点。1Gas=1wei;分配Gas的交易只是意味着它正在将其某些wei转换为可用于支付资源的特殊形式。就call和subcall之间的传递方式而言,此形式的工作方式与Gas相同。
但是,AMM现在管理两项成本:执行点成本和存储点成本。当执行过程处理当前消耗N个Gas的操作码时,它将花费N个执行点,这意味着需要N*execution_point_cost支付Gas。填充存储槽需要1个存储点,因此需要storage_point_cost充入Gas。
最后,还要注意,状态限期的路线图里有望删除退款。这是因为技术原因:存储插槽无法“变空”且资格获得退款,因此只能将它们设置为零,并且零记录必须保持该状态,直到该时期结束并且该状态可以到期为止。这大大降低了早期在存储租金尝试时遇到的复杂性问题。
专业独立客观审慎,参与实战交易,具有丰富临盘经验。团队长期专注指导以太坊、比特币,擅长趋势交易,对资金规划、仓位管理及风险控制有丰富经验,准确率长期稳定在80%,欢迎免费实时跟单体验,不额外收取.
3月,以太坊Layer2生态以及各个生态参与者们都有了重要进展。3月,虽然以太坊?Layer2生态依旧存在不确定性和延期事故,但整体都有着很快的推进和发展,特别是OffchainLabs已上线主.
亲爱的用户:币安将于香港时间2021年04月06日15:00上线BTTUSDT1-25倍U本位永续合约。注意:BTTU本位合约是正向合约,即稳定币合约,采用稳定币作为保证金.
链闻消息,?北京时间4月8日8点,反映加密货币市场整体走势的ChaiNext100指数报5310.40点,过去24小时下跌5.63%,成交额2122.59亿美元,成交较前24小时增加7.31%.
Gate.ioPCNT超级空投福利活动已圆满结束,根据活动规则,我们已为符合规则的用户发放了活动奖励。用户可进入“账户管理—我的资金—账单明细”查询奖励发放情况。活动详情及规则请点击查看.
亲爱的用户: DigiFinex将支持NPXS更换智能合约映射并更名为PUNDIX的计划,具体时间安排如下:1、NPXS充提币服务已关闭;NPXS/USDT交易服务将于2021年4月6日15:0.