源码

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

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

RAM价格暴涨

先来看一张图: 

20180628020048185.png

从图中能够明显看出,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采用如下公式: 

20180628132607481.png

其中,E是EOS->RAMCORE的转换数量,R是RAMCORE的发行总量(代码中初始化为100000000000000),C为EOS的余量,T为用来购买的EOS数量,F为常量,此处为0.0005,看整体代码截图: 

20180628132652470.png

RAMCORE->RAM采用如下公式: 

20180628132104813.png

其中T为购买获得的RAM数量,此处C为RAM的余量,R为RAMCORE的发行总量减去E(相当于RAMCORE数量没有变化),E为上面计算得的增发RAMCORE数量,F为常量,此处为2000,代码截图如下: 

20180628132712776.png

简单理解就是买的人越多,RAM价格越高,不用担心没有人买或者卖而无法交易;但是如果RAM扩容了,C就变大,RAM价格降低,但降低多少,仔细算算哦。

补充一张来自EOSPark的截图 

20180629084317347.png

哪些地方需要消耗RAM

先看一张测试网上的执行部分操作的RAM消耗表(为什么是测试网,你懂的,不影响理解) 

(按0.08 EOS/KB,50 CNY/EOS算,则 4 CNY/KB)

微信截图_20180703143302.png

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

RAM套利面临的风险

RAM套利面临的风险主要是开源节流。开源即BP达成协定,为服务器扩容。当前64GB的RAM扩充2倍、4倍还是比较容易的,这样RAM价格直接拦腰折半,再折半。当然,BP的扩容讨论都是公开的,不会突然升级。而且代码中最高上限是1024T,现实中估计还无法达到。 

另外节流就是在现有的RAM上节约使用,主要还是在恰当的时机回收不再使用的RAM,如智能合约代码优化,减少代码量;选择合适的时机清理不再使用的状态信息等。再就是后话,如果提供清理已有状态的接口,如删除账号,回收资源,那效果非常显著。

是否还有其他收益

RAM的套利最简单直接,低买高卖,最重要的还是拿捏好时间。 

但是在此之前炒作更多的是短账号的竞拍,值到现在还没有开始,看看这张竞拍图: 

20180628020913131.png

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,欢迎关注微信公众号“编程阳光” 

(0)

本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/eosliuxingzhitongramjizhishejiquexian.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:7 月 3, 2018 at 11:11 下午

热评文章

发表回复

[必填]

我是人?

提交后请等待三秒以免造成未提交成功和重复