RAM熊市对冲?全方位了解EOS系统资源

互联网 2018-06-26 09:20:16


本文试图解读以下几个问题:

  1. RAM是什么?

  2. 如何买卖RAM?

  3. RAM的价格如何决定?

  4. RAM在熊市的对冲逻辑是什么?

  5. 内存投机是什么意思?如何遏制内存投机

  6. 侧链与主链的RAM价格是否一样?

  7. EOS如何限制内存的使用?

  8. RAM的相关工具和网址

  9. RAM/NET/CPU的区别?

  10. 如何购买和卖出RAM

RAM是什么?

RAM是指运行时的内存 ,在EOSIO系统中,RAM是一项宝贵的资源,将数据存储在区块链中要消耗该资源,是DApp开发时必须的资源。

如何买卖RAM?

RAM 的买卖,实质上是抵押 eos 到系统账户,而不是买方和卖方直接的交易。

不论是购买ram(即抵押eos,获取ram),还是卖出ram(即取回抵押的eos,释放ram),都是参与者与系统账户之间的交互,该过程将会收取0.5%的手续费。


买入RAM有两种计价方式: 买多少字节的RAM;买多少EOS的RAM。

卖出RAM只有一种方式:多少字节的RAM。

截止6月25日17:08,1个EOS可以购买19.8228Kb的EOS。

RAM的价格由什么决定?

RAM的价格是基于Bancor算法,可简单理解为市场的供需模型。如果RAM供不应求,则买入RAM时就需要锁定更多的EOS;同时,卖出RAM也能获得更多的EOS。

RAM在熊市的对冲逻辑是什么?

RAM的熊市对冲逻辑转自公众号区块链极乐空间的分析:

RAM的熊市对冲逻辑十分简单。币价下跌,开发成本下降,大量合约开始增速部署。首批部署的合约主要是1CO和发币合约。EOS的用户端没有手续费,但是开发端的成本不低。这些合约部署者都会大量购买RAM。币价越是下跌购买RAM的量越大。而根据bm的访谈,五月份最终版本的eos定价方法被换成了bencor算法。该算法的特别之一就是买的人越多,价格越高,并且增速会越来越大。因此RAM的价格大幅度跑赢了EOS的跌幅,RAM在熊市中的作用是十分明显的。

内存投机什么意思?

低价时大量囤积内存,在价格变贵后卖出内存来获利。

如何遏制内存投机?

  1. 但大量买入内存时,账户中相应的EOS将会被锁定,不能用于流通也不能用于出租带宽,将会损失EOS升值以及租赁带来的收益。

  2. RAM不可直接转让,只能是以当前价格售出内存,而这个售出是要收取0.5%的手续费,这意味着RAM价格变贵后,对应的手续费也会上涨。

  3. 受供需模型限制,EOS DAWN4.0提到允许超级节点讲内存从4TB升级到16TB,可抑制早期大量囤积RAM的获利行为。

EOS如何实现对内存使用的限制?

合约帐户的当前内存使用量将存储在合约帐户的常规数据库中,而不是像带宽和算力限制那样使用单独的数据库。

EOS.IO数据库管理的代码可以轻易拒绝那些试图用更多的内存,而不是根据通过当前持有EOS代币来获得允许的交易。

数据库会对一个账号的进行追踪,如果它想超过账户中被锁定EOS分配的RAM ,交易就会被拒绝。

DAPP开发者账户要使用内存来运行相关智能合约,必须抵押一定数量的EOS,假如EOS不足,EOS.IO拒绝那些占用内存的交易。

EOS DAWN 4.0原文

内存分配模型 | RAM Allocation Model

测试中我们发现了EOSIO系统合同分配RAM(数据库空间)的方式会导致未来资源的短缺。我们改用了一种基于市场的分配方法,使用Bancor算法。

我们的计算表明,如果1TB RAM按比例分配给token持有者,那么每字节的成本将是0.018美元(假设每个token20美元)。事实上,大多数token持有者实际上并不需要使用他们可能拥有的RAM;因此,我们最初对RAM的定价是每字节0.000018美元(假设每个token20美元)。创建一个新帐户需要大约4KB的RAM,这意味着将花费约0.10美元。随着RAM被分配,价格会自动增加,这样在系统耗尽RAM之前价格就会接近无穷大。

在Dawn 3.0系统合约中,您只能以您支付的价格出售RAM。 目的是抑制囤积和投机。 这种方法的缺点那些廉价购买RAM的人在RAM变得更紧缺后,没有为其他用户腾出RAM的经济激励。在Dawn 4.0之下,系统合约现在以当前市场价格购买和销售RAM分配。 这可能会导致交易商在预计明天可能出现短缺的情况下购买RAM。 总的来说,这将导致市场随着时间的推移平衡RAM的供需。

随着时间的推移,摩尔定律将允许超级节点升级到4TB甚至16TB的内存,并且这种供应增长将逐渐降低EOSIO RAM市场价格。

“ 供应量的增长,使得囤积RAM的获利可能性大幅降低了,保证了RAM的正常流通。”

对智能合约开发者的影响 | Implications for Smart Contract Developers

作为一名智能合约开发者,RAM是一项宝贵的资源,数据库记录需要消耗RAM。考虑到RAM的成本,将存储在内存数据库中的数据量减到最小,并且设定你的应用程序在用户使用完后释放RAM将是非常重要的。

例如,Steem仅在RAM中存储了1周的内容,因此总体的量大小不会随着时间增长而增长。

“ 如果DAPP的开发者要长期占用内存资源,那么成本会非常高。通过经济机制,使得开发者尽可能的减少内存资源占用,或者有足够的经济激励来释放内存。”

尽量遏制投机 | Minimizing Speculation

那么现在形成了一个RAM市场,投机者或许想要利用RAM价格的波动性获取盈利。而 EOSIO 系统合约设定RAM不可转让,并收取1%的交易费用。这笔费用的结果是通过将其退出市场来抵消Token 的自然通货膨胀。

如果 RAM 的年度交易量等于 Token 供应量,则所有块生产者奖励的100%将由 RAM 市场费用支付。

“ 1. 这里的RAM不可转让是指RAM资源不可以直接转让,只能通过锁定EOS来获取RAM资源。而这个过程将会收取1%的手续费,这个机制的设定类似于以太坊上gas的限制。

2. 年度交易量如果等于Token供应量,那么对应的手续费将可用于抵消因奖励超级节点所带来的通胀。”

主链、侧链的 RAM

主链与侧链的RAM是独立的,每条链上的运行的智能合约只访问自身的RAM。

主链、侧链上的RAM价格不同,因为RAM的价格是由该链上的供需所决定。显然,在主链上的DAPP开发需求将要大的多,因此主链的RAM会更贵;而DAPP的开发者也可以选择在侧链上开发,到时会有许多侧链,选择价格便宜的侧链将会节约成本。

无论是在主链还是在侧链上购买RAM,都是使用相同的EOS Token。

RAM的相关工具和网址

1. 实时查看RAM价格和K线图:1) https://www.feexplorer.io/EOS_RAM_price

2) https://eosmeta.io/statistics

2. 利用TOOKIT进行EOS的各种操作,包括买卖RAM: https://eostoolkit.io/account/undelegate

3. 设定RAM的购买需求,计算对应的EOS


RAM、NET带宽、CPU带宽的对比

NET带宽:网络带宽以过去3天的平均消耗量为单位进行测量,单位是字节如KB。每次发送操作或事务时都会暂时消耗网络带宽,但随着时间的推移会减少到0。抵押的EOS越多,网络带宽可以使用得越多。 可以随时赎回EOS,但是有三天左右的赎回期。

CPU带宽:CPU带宽以过去3天的平均消耗(以微秒ms为单位)来衡量。 当您发送操作或事务时,CPU带宽会暂时消耗,但随着时间的推移会减少到0。事务运行时间越长,它将消耗的CPU带宽就越多。 可以随时赎回EOS,但是有三天左右的赎回期。

三个区别:

1. RAM是自由市场买卖模式,由市场价格来决定。CPU、NET是抵押模式,抵押多少取消多少。

2. RAM是随时可以交易,但CPU、NET有三天等待期。

3. CPU和NET可用于出租给其他账户,取消抵押后,EOS可以回到自己的账户。RAM可帮助其他账户购买,但卖出时的EOS归其他账户所有。

如何购买和卖出RAM?

购买RAM

命令格式:

Buy RAM
Usage: cleos system buyram [OPTIONS] payer receiver tokens

Positionals:
  payer TEXT                  The account paying for RAM (required)
  receiver TEXT               The account receiving bought RAM (required)
  tokens TEXT                 The amount of EOS to pay for RAM (required)

示例:

$ cleos system buyram testuser1111 testuser1111 '1 EOS' -p testuser1111

卖出RAM

命令格式:

Sell RAM
Usage: cleos system sellram [OPTIONS] account bytes

Positionals:
  account TEXT                The account to receive EOS for sold RAM (required)
  bytes UINT                  Number of RAM bytes to sell (required)

示例:

$ cleos system sellram testuser1111 30000 -p testuser1111

= END =

相关资讯Relevent