这样,在单个块中,存储大小可以增加20600*3=61800字节。 假设平均出块时间为13.1秒 1个,每年都有31556925/13.1=2408925块,总的来说,状态可以按61800*2408925=148871600381.67938字节增长,即约138 GB。 这个差异约为10倍。(白计划注:下文数据16GB根据上下文理解是以太坊目前一年的状态总量大小) 非常重要的是,消费者硬件RAM可以容纳实际大小可能是16GB(如果不能,我们可以调整Gas价格或状态有效期以使其适合),而138GB则不能被存储。 如果我们可以使最坏的情况接近平均情况,那就太好了。 双轨EIP-1559 解决此问题的自然方法是对临时成本和永久成本使用EIP-1559定价,但调整期有所不同。 对于临时成本,价格可以一次调整10%以上。但是,对于永久性成本,将使价格调整慢得多。 如果我们采用AMM成本曲线机制作为基础,对于存储,我们可以考虑一条曲线,目标速率为每月1GB,而成本的增加取决于我们比目标高出多少: 例如,每超出目标1GB,存储成本就可能翻倍。在这种情况下,存储块价格可能需要3天左右的才能翻一番。如果存储增长超过10GB,则存储成本将是正常价格的1000倍,在经济上无法继续存储。 有两种方法可以实现此目的: 1.用Gas购买存储。也就是说,使用SSTORE创建新的存储插槽,像现在一样消耗Gas,但是消耗的Gas量将是可变的。这样做的缺点是,它会形成(变相)激励措施,用户宁愿在Gas价格较低的周末补充存储空间。 2.用ETH购买存储。交易(和调用)除了需要Gas外,还需要提供另一种资源(我们可以称其为mana),该资源将采用与Gas相似的机制,但参数不同。这样做的缺点是使调用规则变得复杂,并且需要添加新的CALL操作码。 请注意,这里有一个混合选项: 3.可以以ETH定价存储,但以Gas收费(因此,如果基本费用上涨了2倍,则填充存储插槽所需的Gas将自动减半)。我们可以将用于扩展存储的ETH排除在EIP 1559 Gas价格更新规则甚至是区块限制范围之外。 4.将Gas更全面地改造为三个概念:Gas,执行点和存储点。1Gas=1wei; 分配Gas的交易只是意味着它正在将其某些wei转换为可用于支付资源的特殊形式。就call和subcall之间的传递方式而言,此形式的工作方式与Gas相同。 但是,AMM现在管理两项成本:执行点成本和存储点成本。当执行过程处理当前消耗N个Gas的操作码时,它将花费N个执行点,这意味着需要N* execution_point_cost支付Gas。填充存储槽需要1个存储点,因此需要storage_point_cost充入Gas。 最后,还要注意,状态限期的路线图里有望删除退款。这是因为技术原因:存储插槽无法“变空”且资格获得退款,因此只能将它们设置为零,并且零记录必须保持该状态,直到该时期结束并且该状态可以到期为止。这大大降低了早期在存储租金尝试时遇到的复杂性问题。 (责任编辑:admin) |