以太坊状态模型的最大问题是:平均状态增长与最坏情况状态增长之间的巨大差异。
本文系Vitalik在以太坊研究者论坛里提出的一个最新讨论,该讨论是继以太坊研究科学家BarnabéMonnot提出的关于EIP1559切实实施的思路进行的再次结合。
以下为原文翻译,团队对部分词汇进行了批注及少许删改。
作者:Vitalik Burerin
特别感谢 @barnabe 在早期提出了类似的想法。
正如我在此前的《关于资源定价的立场文件》中详细讨论的那样,以太坊中的Gas实际上是支付三种不同的资源:
1.带宽(必须下载的事务数据)
2.计算(验证和执行交易的时间)
RSS3研发的“Web3 User Activity”插件在ChatGPT商店中上线:6月21日消息,RSS3团队宣布,由他们研发的一款名为“Web3 User Activity”的插件已经在ChatGPT商店中正式上线。“Web3 User Activity”插件搜集整合链上信息,并提供给ChatGPT。这一行动弥补了AI领域中Web3数据的缺失,使ChatGPT用户能够访问到更加全面的链上内容。[2023/6/21 21:51:41]
3.存储(历史记录,但更重要的是状态陈述,例如帐户余额,随机数,约代码,合约存储)
白计划批注:《关于资源定价的立场文件》是一份区块链资源定价的草案,其中Vitalik通过数学演算推论了相应的定价方式。
AI+Web3医疗科技公司Lavita AI完成500万美元种子轮融资:5月11日消息,AI+Web3医疗科技公司Lavita AI宣布完成500万美元种子轮融资,Camford Capital领投,一批来自区块链和人工智能领域的天使投资人参投。
据悉,Lavita AI是一个基于Theta Network的去中心化健康数据点对点市场平台,旨在患者能够在人工智能、区块链和隐私保护技术的支持下控制自己的健康。(Crypto Reporter)[2023/5/11 14:56:18]
该草案内容包含:价格与数量、社会成本曲线、首次和二次拍卖、可调整收费计划、存储维护费,以及包含为什么固定费用并未得到充分利用?
带宽和计算是短暂的成本,存储不像这两个成本,它会超出短暂的限制。
Gravity DEX开发团队成立新项目Crescent:3月11日消息,开发流动性模块Gravity DEX的B-Harvest团队分拆成立了一个名为Crescent的新项目,正在寻求完全重构和扩展Gravity DEX。Crescent由Ignite Ventures资助,并与Ignite团队合作支持Crescent项目。
Crescent已经公布了治理代币CRE分配模型,总量2亿枚,其中将向ATOM委托者(delegator)空投1亿枚,另外1亿枚作为战略储备。空投方面,5000万枚CRE可在Crescent网络启动后推出Crescent DEX(DEXdrop)时索取,具体空投数量会根据二次空投系统确定,即按UTC时间2022年1月1日00:00快照时委托数量的平方根来决定,如果参与一些治理提案,能获得通过固定乘数获得更多奖励;剩余5000万枚将在一定时期内分配给使用Crescent Boost的ATOM委托人。[2022/3/11 13:50:06]
在一个块的时间内,一个节点可以进行多少次计算或下载数据是有限度的,一旦该块通过,下载和验证所需的量就达到了极限。块的大部分都消失了(将来只有少数同步节点需要对其进行处理)。
以太坊公益组织 Nomic 基金会获 Vitalik 等捐赠1500万美元:2月12日消息,以太坊公益组织Nomic基金会于2月9日宣布正式成立,专注于改进和扩展以太坊的开发者平台,同时接管 Hardhat 和 Nomic Labs 的其他开放工程项目和相关团队,未来将继续扩展 Hardhat 工具套件。Hardhat是一个编译、部署、测试和调试以太坊应用的开发环境。
据介绍,以太坊基金会、Vitalik Buterin、Coinbase、Consensys、The Graph、Polygon、Chainlink、Gnosis、a16z、a_capital 和 Kaszek Ventures 已经向该组织捐赠 1500 万美元,其中以太坊基金会捐赠 800 万美元。接下来,该组织还将向几个 DAO 提交资金提案,以达到 3000 万美元的总资金。[2022/2/12 9:47:48]
而存储是持续的成本。如果一个单独的块状态增加了100MB,该块当下可以处理好,但是一系列的块将使以太坊无法使用。状态增长的“爆发”影响可以忽略不计,但长期影响是最严重的,一旦建立的一个超大状态就永远给网络增添了负担。
Vitalik:捐赠的50万亿枚SHIB不会获得税务冲销:5月19日消息,Vitalik表示,其向印度新冠加密救援基金捐赠的超50万亿枚SHIB不会获得税务冲销(税务减免)。据悉,SHIB币价波动剧烈,此前其捐赠款价值20亿美元,目前缩水到8亿美元左右。(彭博社)[2021/5/19 22:19:08]
不过,随着状态变为无状态(白计划注:即无状态以太坊方案),(超大)状态的长期影响会大大减少:状态不会给网络造成永久负担,它只会负担大约一年的时间,在那一年中,只有一小部分节点需要实际存储那个(超大)状态。但这种长期(一年)成本仍然是真实存在的,并且需要将其定价。
平均大小与最坏情况的存储大小
在当前(状态)协议(普遍认为是不可持续的)和状态到期的改进协议中,对状态建模的不足之一是平均状态增长与最坏情况状态增长之间的巨大差异。
考虑当前的协议。如今,该状态的总大小约为5.5亿个对象,约32GB(不包括trie开销)。如果我们剔除上一年所有not touched的状态,那总量很容易下降一半以上。
现在,最坏的情况是什么?
合同代码的创建按每字节200Gas的费用收费,因此,如果将一个区块分成3个事务,每个事务创建一个合同,我们可以为12334800Gas+3*55000Gas来制作3个20558字节的合同,以增加合同创建的开销。
这样,在单个块中,存储大小可以增加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。
最后,还要注意,状态限期的路线图里有望删除退款。这是因为技术原因:存储插槽无法“变空”且资格获得退款,因此只能将它们设置为零,并且零记录必须保持该状态,直到该时期结束并且该状态可以到期为止。这大大降低了早期在存储租金尝试时遇到的复杂性问题。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。