主页 > imtoken下载链接 > 以太坊“状态”规模迅速扩大,开发者考虑向用户收取“状态租金”

以太坊“状态”规模迅速扩大,开发者考虑向用户收取“状态租金”

imtoken下载链接 2023-02-03 07:31:52

以太坊开发者社区正面临一些关于以太坊网络可用性的艰难决定,一些核心开发者预测,如果以太坊的状态规模继续以目前的速度增长,以太坊网络将在三年内崩溃。

28009681307_e36ab7870b_c

减缓其增长的首要解决方案是征收“国家租金”,向服务用户收取存储数据的费用。 (在某些情况下,这称为“存储租金”,但在本文中,我将使用术语“状态租金”)。

但这会对用户体验产生不愉快的影响,并对现有应用程序产生负面影响。 此外,并非所有人都同意州规模问题像某些人认为的那样紧迫。

虽然最终将由核心开发人员编写修复程序,但他们似乎并不急于代表以太坊社区做出决定并选择合适的解决方案。 这是因为尽管问题本质上是技术性的,但解决方案涉及一些影响可用性的价值权衡。 因此,围绕该问题进行协调有些困难。 本文试图用相对通俗易懂的语言描述存储租金作为解决方案的问题和主张。

庞大而冗余的数据量

以太坊官网以太坊_以太坊账户_sitejianshu.com 以太坊账户创建

存储数据需要磁盘空间,而同步数据需要时间,这两者都是区块链网络中的关键考虑因素,其中至少一些节点必须同步和存储整个链的数据(或其中的重要块)。

这不仅仅是效率问题,而是可持续性和可扩展性问题。 就目前而言,完全同步和下载存档节点需要数周时间,老实说,这是以太坊网络使用率最低的时候。

如果您不是超级技术人员或者不了解以太坊区块链的来龙去脉,您可能会认为这是因为链条太长了。 但这只是部分原因。 事实上,同步所有区块(区块头、区块哈希)只是过程的一部分。

问题是大量必要的信息,包括状态树,并没有包含在块本身中。 状态树是一个复杂的结构,包含所有当前账户和一组密码证明。 此信息需要提供给节点,然后它们才能以加密方式证明有关任何帐户的任何信息。 同步这些信息所花的时间与同步区块链本身所花的时间一样长,甚至更长。

这不是一个新问题。 以太坊黄皮书写道,处理和存储整个状态树很麻烦,并建议:“也许可以压缩区块链:可以丢弃状态树中未在某个固定数量的块中发送/接收交易的节点,从而减少状态数据库的增长。”

以太坊账户_sitejianshu.com 以太坊账户创建_以太坊官网以太坊

3 月,在讨论构建以太坊 2.0 的想法时,Ethresearch 的 Vitalik Buterin 提出了一种通过收取租金来限制状态增长的模型。

从不同角度处理问题

虽然状态大小的问题早已得到认可,但它最近已成为开发人员社区讨论的一个关键话题。 Fellowship of Ethereum Magicians 有一个团队致力于在 Casper/Sharding 升级之前开发以太坊 1.x。 该团队包括两个工作组,致力于解决以太坊日益增长的大规模数据存储问题,都从不同的角度:一个工作组专注于区块链剪枝和状态减少(删除旧的和不必要的数据),另一个工作组关于状态租金,专注于管理以太坊状态的增长。 虽然状态减少和区块链修剪的需要与管理状态大小的需要密切相关,但这些问题需要不同的解决方案,因此需要不同的权衡和单独的讨论和文章。

简而言之,关于区块链修剪和状态减少的讨论集中在效率和可扩展性之间以及安全性和不变性之间的权衡。 围绕通过强加状态租金来减少状态增长的讨论需要面对这样一个事实,即强加状态租金将严重损害本已棘手的用户体验,并对现有应用程序造成不必要的负担,这些应用程序的开发人员无法将状态租金纳入其设计。 虽然两者都很重要,但本文的重点是讨论如何通过状态租金来限制状态树的增长。

为什么要收取国家租金

以太坊账户_以太坊官网以太坊_sitejianshu.com 以太坊账户创建

强加状态租金的解决方案是由 Turbo Geth 开发人员 Alexey Akhunov 提出的,它适用于状态租金提议者所称的“活跃状态”,它由“所有非空账户和所有已创建但不是自毁的合约”组成”。

state rent 作为解决 state 通货膨胀问题的一种方式,其背后的思想包含两个方面: 一个好处是很容易通过未支付的 rent 识别不活跃的账户或无价值的数据,然后将这些数据从状态中“驱逐” “ 出去。 如果在以太坊上开发的成本更高,人们就会对他们在以太坊上所做的事情更加明智,这是有道理的。 对账户活动消耗的磁盘空间收取租金可以鼓励开发人员开发更多存储优化的合约以太坊账户,并吸引更多对数据敏感的用户。 如果账户数量减少,活跃账户数量减少,账户效率提高,那么状态树的增长速度必然会变慢。

征收国家租金的意义

现在,那些认为国家租金是最可行的选择的人正在争论细节,比如谁应该支付租金以及如何计算租金。 这些问题具有重大意义。

谁支付租金是一个特别相关的问题,尤其是在考虑抵制审查制度的情况下。 对于社区中的许多人来说,以太坊最有趣的承诺是它使许多组织能够在没有太多或任何人为干预的情况下运行,因此企业永远不会被监管机构或任何人关闭。要求组织支付定期费用以维护数据可用性将违反最初的承诺,至少对于开发人员无法预料到需要的已部署应用程序而言

以太坊官网以太坊_sitejianshu.com 以太坊账户创建_以太坊账户

不过,在 Akhnov 的提议中,他承认即使提前通知,合同也可能难以向用户收取租金。 此外,用户也有可能不负责任或恶意地向合约注入大量数据,从而抬高租金。 由于这些原因,为基于数据存储的合约收取状态租金可能很复杂。

即使与应用程序交互的个人用户为存储数据付费,如果由于某种原因他们无法支付或无法跟上他们的费用,强制性的国家租金也会对审查抵制产生负面影响。

需要注意的是,如果合约不支付租金,则不会删除合约或账户本身,只会删除处于活跃状态的信息(如账户余额)。 如果数据可通过其他方式获得,合同可以继续执行; Akhnov 和其他人讨论了个人或组织下载和存储自己的数据的可能性以太坊账户,以及一些节点选择这样做的可能性。

阿赫诺夫试图在他的提案草案中解决这些问题,但他承认征收国家租金会产生严重后果。 他说:

“不幸的是,在我看来,大多数合同都需要重新编写、重新部署并重新填充数据。 对我来说,必须修改合同,否则平台就会死掉。 两者必须选其一。”

以太坊账户_sitejianshu.com 以太坊账户创建_以太坊官网以太坊

也许州租可以休息一下

凯西·德特里奥(Casey Detrio)是以太坊 1.x 的核心开发者。 他写了一篇名为“Ethereum 1.x: Draft Mainnet Upgrade Roadmap”(“Ethereum 1.x: a half-baked roadmap for mainnet improvements”)的文章,概述了存储空间有限的问题,并提出了一些解决状态膨胀的方案。总结,他指出,有研究人员认为,只要以太坊2.0能够相对较快地推出,就会成为一个这样的解决方案。当然,这是基于Casper和sharding即将到来的假设,这将是相当如果属实,这是一个飞跃。此外,断言状态大小不再是以太坊 2.0 公认的事实下的问题,因为分片技术不提供无限的可扩展性。

对此,De Trio 提到了这样一个担忧:“在以太坊 1.0 上引入租金机制可能会让用户感到困惑,因为它可能与 2.0 上引入的租金机制不同。”

征收国家租金的主要替代方案是创建无国籍客户和无国籍合同。 但是,此选项的可行性仍在争论中。 此外,它会强制所有合约负责存储和维护自己的数据,这可能会有点压力。

目前的工作

有关 Akhnov State state rent 提案的更多详细信息,请查看 GitHub,或关注 Ethereum Magicians 组和 Ethresearch 论坛中的讨论。

与此同时,社区需要做更多的工作来制定提案和概念证明,以测试任何状态租金机制的后果。 一旦发生这种情况,将由客户和 Dapp 开发人员进行权衡并决定他们愿意做出的选择。