EOS流行之痛——RAM机制设计缺陷?

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/w7849516230/article/details/80836913

前些天整理EOS主网运行现状时,无意间发现RAM存在套利空间,而且紧接着看到EOS熊市对冲逻辑相关的文章,甚至在IMEOS上看到有项目因为RAM价格暴涨而可能停止空投。那么EOS上的RAM机制到底是怎样的?这种机制对用户和开发商的影响如何?这种暴涨是否能持续?另外除了RAM,是否还有其他资源可以获得收益?

RAM价格暴涨

先来看一张图:
RAM价格走势
从图中能够明显看出,EOS主网上RAM的价格从最初的0.017 EOS/KB左右,短短几天之内暴涨近5倍,到0.08EOS/KB附近,涨幅之快令人惊讶(文章还没写完已经超6倍了)。那么EOS上的RAM到底是什么?

资源分配机制

EOS在其技术白皮书中开篇就提到,要促进区块链的广泛应用,解决现有区块链平台使用费用高昂的问题,让普通用户能够免费使用平台服务。但白皮书中强调的是普通用户免费,而服务的提供者,应用开发商需要为此付费。

在EOS网络中,目前提供使用的资源有两类,一类是RAM,购买型的;另一类是CPU和网络带宽,抵押型的。把EOS理解为区块链操作系统,CPU和网络带宽是跟时间相关的,一定时间内你可使用的CPU和网络带宽是有限的,可使用量和你抵押的EOS数量相关,随着时间的流逝,CPU和网络带宽会慢慢恢复,而抵押的EOS在不用时可以全部退回。

RAM其实就是我们常说的内存。由于EOS是0.5s一个区块的高速运转,系统中的账号信息、智能合约执行信息的当前状态是存储在内存中的,因此这些信息需要长期占用内存(请不要和区块链上的数据搞混,比如账号的所有交易数据都在链上,余额是变化的,而当前的余额信息状态是在内存中的)。当存储账号状态的空间不足即RAM不足时,某些交易及其他操作就无法执行。例如你虽然余额中有足够的EOS,但RAM不足,你仍需要先购买RAM才能部署智能合约。

RAM的交易机制采用Bancor算法,通过中间代币来保证EOS和RAM之间的交易流通性。从EOSIO代码看EOS->RAM的交易,是通过EOS->RAMCORE, RAMCORE->RAM来实现的,反之一样。
EOS->RAMCORE采用如下公式:
这里写图片描述
其中,E是EOS->RAMCORE的转换数量,R是RAMCORE的发行总量(代码中初始化为100000000000000),C为EOS的余量,T为用来购买的EOS数量,F为常量,此处为0.0005,看整体代码截图:
这里写图片描述
RAMCORE->RAM采用如下公式:
这里写图片描述

其中T为购买获得的RAM数量,此处C为RAM的余量,R为RAMCORE的发行总量减去E(相当于RAMCORE数量没有变化),E为上面计算得的增发RAMCORE数量,F为常量,此处为2000,代码截图如下:
这里写图片描述
简单理解就是买的人越多,RAM价格越高,不用担心没有人买或者卖而无法交易;但是如果RAM扩容了,C就变大,RAM价格降低,但降低多少,仔细算算哦。

补充一张来自EOSPark的截图
这里写图片描述

哪些地方需要消耗RAM

先看一张测试网上的执行部分操作的RAM消耗表(为什么是测试网,你懂的,不影响理解)
(按0.08 EOS/KB,50 CNY/EOS算,则 4 CNY/KB)

操作 消耗者 消耗 ¥市价(估算)
创建账号 创建者 2.926KB 12
创建合约 创建者 30KB(根据合约大小变化) 120
转账 发送方 0.265KB(不固定) 1.06
抵押获取带宽 抵押者 0.156KB(不固定) 0.62
取回抵押 抵押者 0.586KB 2.34
购买RAM 购买者 购买数量的0.5% 数量及市价相关
卖出RAM 卖出者 卖出数量的0.5% 数量及市价相关

这仅是普通用户使用的操作,好在RAM的使用主要是状态的存储,部分状态有了之后,再操作仅是修改RAM中存储的记录,因此重复的操作并不会增加RAM的消耗。但是作为开发商的智能合约,如果没有恰当的使用好RAM,那花钱真是如流水啊。

RAM套利面临的风险

RAM套利面临的风险主要是开源节流。开源即BP达成协定,为服务器扩容。当前64GB的RAM扩充2倍、4倍还是比较容易的,这样RAM价格直接拦腰折半,再折半。当然,BP的扩容讨论都是公开的,不会突然升级。而且代码中最高上限是1024T,现实中估计还无法达到。
另外节流就是在现有的RAM上节约使用,主要还是在恰当的时机回收不再使用的RAM,如智能合约代码优化,减少代码量;选择合适的时机清理不再使用的状态信息等。再就是后话,如果提供清理已有状态的接口,如删除账号,回收资源,那效果非常显著。

是否还有其他收益

RAM的套利最简单直接,低买高卖,最重要的还是拿捏好时间。
但是在此之前炒作更多的是短账号的竞拍,值到现在还没有开始,看看这张竞拍图:
短账号竞拍
eos这个账号已经竞拍到了3500EOS,看看你还能想到哪些账号名来参与(记着账号长度12个字符注册没有限制,12个以内需要竞拍,初期每天只拍卖一个短账号)

另外一个其实是CPU和网络带宽,别看现在超过一天自动恢复了。到后期,可能会出现EOS银行,普通用户将EOS存储到银行,银行支付利息,而银行再放贷租用CPU和网络带宽给开发商使用,开发商就可以少量支付获取大量CPU和网络带宽,减少降低运营成本,也类似于租用云服务器了

是设计缺陷还是故意为之

再回到文章标题最初的问题,RAM机制是设计缺陷么?BM对RAM的设计其实已经考虑到投机行为了,在早期RAM采用的是原价买入,原价卖出的逻辑(在v1.0.5的代码注释中还能看到,虽然代码逻辑已经变了),后期担心早期买入者,在RAM空间不足,价格上涨后没有动力卖出RAM,而采用Bancor算法,让市场来定价。这样的设计有没有可能为了是营销,更多的调动用户参与,就跟长达一年的众筹,投票选举21个超级等事件一样,让EOS持续活跃在大众的视野中。

在写作本文时发现很多之前就分析RAM存在套利空间的文章,不知道他们屯了多少。
另外看到PeckShield发布的以太坊重大漏洞,想想EOS未来的路还很长,让我们一起见证他的发展。

参考:
EOS技术白皮书
http://blog.eosdata.io/index.php/2018/04/28/eos-io-whitepaper-v2/
【精解】EOS标准货币体系与源码实现分析
https://www.cnblogs.com/Evsward/p/eos-exchange.html
【捭阖命物eos】急文。eos熊市如何利用ram自救,逆风翻盘
https://bihu.com/article/742272
RAM熊市对冲?全方位了解EOS系统资源
https://www.jinse.com/bitcoin/205948.html

转载请注明出处:http://blog.csdn.net/w7849516230,欢迎关注微信公众号“编程阳光”
扫码关注

阅读更多

扫码向博主提问

w7849516230

非学,无以致疑;非问,无以广识
去开通我的Chat快问

没有更多推荐了,返回首页