基于EOS.IO 软件的区块链存储成本

原文链接:https://steemit.com/eos/@eosio/storage-costs-on-blockchains-using-eos-io-software?from=singlemessage&isappinstalled=0

ERC:这篇文章对于理解EOS很关键,是目前可用预见的最大成本瓶颈。

在EOS.IO技术白皮书中,我们讨论了一个采用未经修改的软件包的区块链的一些特征。在本文中,我们描述了一种资源分配方法,即如果您拥有1%的代币,那么软件将为您分配该区块链1%的可用存储容量。如果有10亿个代币以及1TB的存储空间,那么每存储1024字节将花费大约1个代币。价值30亿美元的市值相当于每1024字节花费3美元。如果代币达到Ethereum的市值,那么每1024字节可能是30美元,或者说每个字节约3美分。

我们也知道,用EOS.IO软件创建的每一个帐户都大约有1000字节的数据,包括为了追踪权限、账户余额和其他杂项开销。这意味着每个帐户的成本将为30美元,不过仍然太高。

提高节约成本的能力

为了在代币价格比较高的时候降低成本,我们需要增加容量。为了将每个帐户的成本降至0.01美元,我们将需要3000TB的存储空间。如果我们可以使用SSD,这种存储将耗资约100万美元。如果一个基于EOS.IO的区块链达到300亿美元的估值,每年可以分配15亿美元给区块生产者(通货膨胀率为5%),那么这种100万美元的资金是微不足道的。

不幸的是,SSD比RAM大约慢2500倍,并且最近Steem升级到chainbase时,许多Steem见证人发现强制要求操作系统“转换”到SSD可能断然终止进程。这意味着我们需要3000TB的RAM速度级的存储。这并不罕见,Google将其整个数据库保留在RAM中,不同寻常的是一个新的平台需要这么多的RAM。

新的存储技术

英特尔最近开始出货其第一款基于新的3D XPoint技术的Optane SSD。这是第一款可以配置用作RAM的SSD,尽管它比传统RAM稍微慢点,但是比原来的SSD拥有更快的性能。他们将在今年晚些时候发布这些1.5TB容量的驱动。

通过这些新技术,我们认为高性能内存的成本将大幅下降,区块生产者应该能够扩大可用内存以降低成本。代币的市场估值越高,区块生产者将能够支付更多的存储容量。

挑战的真实本质

EOS.IO软件的RAM存储器的代币化使其除了存储价值之外还拥有货币价值。这种附加的货币价值使得相对于没有货币价值的实际存储来说是昂贵的。黄金在工业中并没有被大量使用,是因为它的货币价值超过了其工业价值。使用EOS.IO软件的人创建的代币通过要求当选的区块生产者提供性能证明,有效地地将RAM存储容量货币化。

像一家银行的黄金储备一样,大部分时间它只是存储在那儿从未被使用过。实际上,区块生产者可以宣称“3000TB的存储容量”,但实际上他们只有3TB的容量,1000倍的备份储量。在这种模式下,就像黄金支持票据的存储的费用会如同黄金的价值一样降低,容量存储的成本也会降低。除非突然有人决定购买1%的货币,并尝试存储30TB的数据,而实际可用的只有不到3TB,除此之外将一切正常。

阻止内存银行的运转

只要大多数人从来没有试着去使用他们名下的存储空间,那么一个区块链网络可以以每个代币获得“廉价存储”的方式来操作。随着可用存储量的降低,价格将不得不增加。任何时候,一旦有人想要使用100%的可用存储空间,那么他将不得不支付100%的流动代币;然而,只想使用1%的可用存储空间的人可能只需要支付0.01%的流动代币即可。这个里面使用的准确的方程式需要做一些建模和估计,但是使用第一个存储字节的初始价格比使用所有可用存储的每字节价格便宜1000倍是可能的。

你可以这样理解,一开始你可以启动1000倍的储备率,随后会降至1倍,因为实际的存储百分比被消耗了。所以如果你有1TB真正的RAM,你可以从1000TB的虚拟RAM(1000倍)开始。在消费第一个100GB(10%)之后,您的存储率可能下降到100倍,导致新的虚拟RAM为100TB。当你消耗500GB(50%)的时候,您的储备率将降至20倍,同时拥有的虚拟内存为20TB。随着虚拟RAM下降,每个代币的虚拟RAM也将自动降低从而增加每个附加存储单元的价格。

可变定价的影响

市场自然会消耗资源,直到市场价格不断变化之后导致供需平衡。如果存储的初始定价太便宜,它将迅速被消耗掉,直到价格上涨到只能存储有价值的数据。在这一点上,区块生产者可以增加存储能力或最大储备率来降低价格。代币持有者将投票给价格最实惠的区块生产者,如果代币价格上涨,区块生产者将能够承担额外的能力。

可变定价的另一个因素是在不使用时释放闲置内存的财务激励。随着代币价值增加,使用这些代币来维持存储的机会成本也增加。智能合约开发者们将基于最小化内存使用量及最大化回收利用的原则来设计应用程序。

内存蹲守攻击

这种算法的一个副作用是想要消耗大量内存的人有财务激励机制促使他们成为第一个去消耗内存的人。一旦他们消耗了内存,他们可以在合约中重新规划使用它们。如果他们需要钱,他们可以释放这些内存。第一时间储备内存将快速推高价格,到达投机需求与实际需求的平衡点。

幸运的是,由于保留的内存是“不可传输的”,并且初始的内存成本比购买实际的物理RAM还要贵一百倍左右,所以这个攻击得到了很大的缓和。这个网络使用的每个字节的内存被复制并存储在超过100个完整节点中,并且通常很多都是次节点。网络必须为这些人支付足够的费用来保证购买和维护内存的并行操作。因此,在100个节点上复制的去中心化的RAM每个字节的费用,通常会比中心化的RAM高100倍左右。区块生产者应该注意保持存储率设置,使得当分解所需的冗余级别时,每个字节的成本不会低于这个网络使用的实际存储的成本。

总结

市场自然而然且不可避免地将货币属性加入EOS.IO软件创建的代币中。有必要对消耗额外内存单元的成本进行动态定价,以保持实际价格与真正应用程序开发的价格是对等的。这与新内存技术相结合将确保:在基于EOS.IO软件的区块链上存储数据的成本对于去中心化应用程序开发人员来说是合理的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注