Vitalik最新讨论:存储的分开定价和双轨EIP1559_GAS:ITA

以太坊状态模型的最大问题是:平均状态增长与最坏情况状态增长之间的巨大差异。本文系Vitalik在以太坊研究者论坛里提出的一个最新讨论,该讨论是继以太坊研究科学家BarnabéMonnot提出的关于EIP1559切实实施的思路进行的再次结合。

以下为原文翻译,团队对部分词汇进行了批注及少许删改。

作者:VitalikBurerin

编译:白计划团队

特别感谢@barnabe在早期提出了类似的想法。

正如我在此前的《关于资源定价的立场文件》中详细讨论的那样,以太坊中的Gas实际上是支付三种不同的资源:

1.带宽

2.计算

3.存储

Vitalik发文《收入-邪恶曲线:用另一种方式来思考公共产品资金的优先性》:10月28日消息,Vitalik发文《收入-邪恶曲线:用另一种方式来思考公共产品资金的优先性》,文中尝试提供一种不同的方法来分析私人和公共之间的“混合”商品:收入-邪恶曲线。这是一种整体“社区”中的“混合经济”环境与商业市场以及中心化资助者的补贴相结合的假设。对于如何在当今的加密社区、国家和许多其他现实世界环境中为公共产品提供资金有一定启发。[2022/10/28 11:51:36]

白计划批注:《关于资源定价的立场文件》是一份区块链资源定价的草案,其中Vitalik通过数学演算推论了相应的定价方式。

该草案内容包含:价格与数量、社会成本曲线、首次和二次拍卖、可调整收费计划、存储维护费,以及包含为什么固定费用并未得到充分利用?

Vitalik:有研究证明 EIP 1559 大大减少了平均交易等待时间:1月18日消息,Vitalik今日在推特上转发了北京大学和杜克大学共同研究关于 EIP 1559的论文《EIP-1559的实证分析:交易费用、等待时间和共识安全》,并表示,此篇论文特别提到 EIP 1559 大大减少了交易的平均等待时间的确认。

据了解,这篇论文研究证明,EIP-1559通过简化费用估算、缓解区块内已付gas价格差异以及减少用户等待时间,大大改善了用户体验。然而,EIP-1559对gas费波动和普遍安全性的影响很小。此外,研究还发现,当以太坊的价格波动较大时,等待时间明显较长,研究还验证了较大规模的区块会增加兄弟区块的存在。[2022/1/18 8:56:09]

带宽和计算是短暂的成本,存储不像这两个成本,它会超出短暂的限制。

Vitalik Buterin发布新的概念验证:本周一以太坊设计者Vitalik Buterin发布了一个新的概念验证,演示了如何将分片扩展解决方案“栓在”Ethereum主链上。并发推表示“分片即将来临”。该演示遵循Ethereum联合创始人最近推出的“最小分片协议”计划,旨在显着提高以太坊区块链的事务吞吐量和可扩展性。[2018/5/1]

在一个块的时间内,一个节点可以进行多少次计算或下载数据是有限度的,一旦该块通过,下载和验证所需的量就达到了极限。块的大部分都消失了。

而存储是持续的成本。如果一个单独的块状态增加了100MB,该块当下可以处理好,但是一系列的块将使以太坊无法使用。状态增长的“爆发”影响可以忽略不计,但长期影响是最严重的,一旦建立的一个超大状态就永远给网络增添了负担。

金色财经独家分析 以太坊创始人Vitalik反对通过分叉方式抵制ASICs:在周五举行的开发者大会上,针对用分叉解决ASIC矿机的讨论,以太坊创始人Vitalik表示,“在这一点上,我个人倾向于不采取任何行动。”金色财经独家分析,据比特大陆官方消息,Antminer E3矿机将于7月开放销售。该款矿机将改变以太坊的挖矿算法。以太坊的开采历史上一直被GPUs所主导,这一改变将导致以太坊的挖掘中心化。另一方面,ASICs提高了进入的门槛,可能会排挤较小型的矿主。之前以太坊主要开发人员讨论是否要对区块链进行硬分叉,以抵制比特大陆ASIC矿机对算法的改变。在3月29日,以太坊开发者Piper Merriam提出了以太坊改进提案(EIP) #958,该方案寻求社区对区块链是否应该分叉以及它如何“抵抗ASIC”的建议。此次在开发者大会上,Vitalik反对通过分叉方式抵制ASICs,这似乎预示着以太坊不会针对ASIC矿机进行硬分叉。[2018/4/9]

不过,随着状态变为无状态,状态的长期影响会大大减少:状态不会给网络造成永久负担,它只会负担大约一年的时间,在那一年中,只有一小部分节点需要实际存储那个状态。但这种长期成本仍然是真实存在的,并且需要将其定价。

平均大小与最坏情况的存储大小

在当前协议和状态到期的改进协议中,对状态建模的不足之一是平均状态增长与最坏情况状态增长之间的巨大差异。

考虑当前的协议。如今,该状态的总大小约为5.5亿个对象,约32GB。如果我们剔除上一年所有nottouched的状态,那总量很容易下降一半以上。

现在,最坏的情况是什么?

合同代码的创建按每字节200Gas的费用收费,因此,如果将一个区块分成3个事务,每个事务创建一个合同,我们可以为12334800Gas+3*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。

最后,还要注意,状态限期的路线图里有望删除退款。这是因为技术原因:存储插槽无法“变空”且资格获得退款,因此只能将它们设置为零,并且零记录必须保持该状态,直到该时期结束并且该状态可以到期为止。这大大降低了早期在存储租金尝试时遇到的复杂性问题。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:15ms0-0:971ms