EOS.IO 的RAM市场与Bancor算法

EOSIO区块链软件让社区能够为所有全节点配置实现性能最大化应该有的RAM(随机存取存储器)。存储像密钥、余额和合约状态这类的信息都需要RAM。由于可使用的RAM被摩尔定律和其他技术发展所限制了,因此RAM从根本上就是稀缺的。

EOS.IO采用了自由的市场方式去分配稀缺资源,把好钢用在刀刃上。为了促进市场,EOS.IO系统合约允许用户向系统购买RAM和将RAM卖回给系统并换回区块链原始代币(e.g. EOS)。这为RAM市场带来了流动性的同时促进了价格发现。做市商的可用内存越少,他们对于剩余RAM的价格就会定的越高。做市商的这种算法就是Bancor Relay.

Bancor Relay不设定RAM的价格,而只在之前建立的市场价格上提供买卖。只要当前的市场价格不同于Bancor Relay提供的当前价格,交易者就会买卖RAM,将价格推向它由市场决定的价值。

EOS.IO系统合约用从之前区块链社区购买RAM的所得的收益来为那些想要将RAM卖回给系统的人提供流动性。用EOS区块链社区来举个例子:在撰写本文时eosio.ram账户里有440万个EOS(大约4000万美元)。这440万个EOS为52GB的RAM提供流动性,这52GB的RAM在当时市场价值在大约2500万个EOS(2.7亿美元)。很显然,做市商在仅拥有低于20%总市值的RAM的情况下,无法控制RAM的价值。

RAM是一个商品

RAM可以被买卖,但它不能在用户之间转让。另外,与关于维持传统货币人为稀缺性的社会共识不同,RAM的供应量可以因为社区的需求量和技术发展而一夜间增加。RAM的供应量是由投票者决定的,是为了照顾那些需要廉价RAM去建立应用的开发者和用户们。昂贵的RAM会大大降低商业模式在区块链上的可行性。

EOS.IO系统合约是代表EOS代币持有者的名义自动运行的,定价结构是由代币持有者投票决定的。作为一个RAM持有者,区块链给予你的唯一权力就是往合约里存储数据。除了社区在你决定卖出的当时通过EOS.IO系统合约给你的价格之外,你无权享受任何其他的回购价格。由于RAM的量受到技术的限制,所以EOS.IO系统合约一般会根据市场价格买卖。重申一点,合约不会设定市场价格。市场价格是由与系统合约进行买卖的人们设定的。

Bancor Relay 的波动性

Bancor Relay有一些参数影响价格对买单卖单的反应速度。这就很大程度上决定了手持订单的形状和当有人大量买入或卖出时看到的价格滑动。

由于EOS区块链上无意中配置了的Bancor Relay权重,该参数被设置为了0.05%而不是50%。这个造成了大量买卖的大滑动,导致波动性超出了期望值。

我们建议将此参数到更新为50%,也就是原本想设定的值。这个改变的直接影响就是会暂时降低做市商提供的现货价格。市场参与者将可以与做市商互动来将价格推回市场价值。记住,不管是新的还是旧的参数,价格都是由自由的市场来决定的,而做市商只是作回应的。这也就是说修改参数也许会为买卖制造机会,直到价格回到其市场价值。

当自由的市场将Relay推回到RAM的市场价格时,用户在大量买卖时遇到的价格滑动会小很多。减少价格滑动和波动性为RAM投机者和RAM使用者带来了更大的可预测性和稳定性。

通过扩展降低成本

自比特币问世以来区块链一直在为扩展挣扎。最近EOS RAM市场的价格高点表明市场认为根据当前的供应量RAM是值4美元1KB的。这是个很强的市场信号,提供更多的RAM是很有价值的。

Dapp开发者在建立他们的系统时会面临两方面的成本

与区块链交互的成本

托管一个全节点的成本

保持RAM的稀缺(64GB)降低了托管一个全节点的成本,但是增加了与区块链互动的成本。以至于部署一个一般的智能合约(需要使用10MB的RAM)的成本在今天的RAM价格为$40000左右。一个试图建立一个社交媒体平台的开发者通常会想要至少托管一个自己的全节点。对他们而言,花费$39000买高端硬件和足够的RAM加上花$1000往RAM里存储他们的智能合约是“收支平衡”的。

RAM大概在每个服务器$11/GB的价格,EOS RAM市场上的RAM价格现在是$4/GB。这表明整个网络可以为超过300000个服务器购买真正的RAM,价格等同于投机者押在分配给EOS链上的有限的64GB的RAM。

网络明显可以在提高全节点成本的同时维持显著的去中心化。基于这个服务器成本vs Dapp开发者成本的分析,可以很明显看出链上RAM的骤增和更昂贵的全节点对于整个网络的用户来说成本是更低的。

根据这个分析能得出,增加全节点的成本直到在链上部署大型合约的成本低于运行一个全节点的成本,这个做法是合理的。

虚拟内存

20年前,当128MB的RAM就已经被认为是很多了的时候,大多数计算机靠虚拟内存同时支持多个应用。虚拟内存在近期未使用时将RAM内容交换到磁盘上,这会极大降低你计算机在承受RAM压力下的速度。对我们来说幸运的是,SSD技术很大程度上缩小了RAM和磁盘在性能上的差距。再加上,很大一部分RAM是不经常被使用的,或者是被以投机为目的囤起来的。

非生产全节点应该是有可能靠虚拟内存降低成本的。网络中绝大部分的CPU容量都未被充分利用,所以是有机会用CPU时间换取RAM的.

 

 

新兴NVM技术

现在的操作系统还支持RAM压缩,可以在空闲的内核上交换CPU周期以获得更多空间。将RAM解压缩实际上比从磁盘加载RAM来的更快。压缩、磁盘分页和现今超低延迟磁盘的组合意味着区块链社区可以在TPS最大化和RAM之间进行权衡。毕竟就算可以达到10亿TPS,但如果它们仅限于8MB的L3缓存,还是对任何人都没有帮助的。所有区块链必须在内存使用、吞吐量、全节点成本和稀缺资源需求之间进行市场权衡。

RAM市场中的透明度

要想让RAM投机者去平衡当前与未来对稀缺资源的需求,他们则需要对RAM供应量增长的可靠预测。突然的和不可预测的RAM供应量增长会使他们遭受损失和(或)远离市场。这将导致更低效率的资源分配。

RAM供应量的骤然增长代表了系统合约对新供应量的低效的分配,并且从市场中提取的代币会少于长时间可以抽取的。这种相对低效的提取是做市商收入上的损失,也会让资金不足的做市商引起长期波动性的增加。

因此,Block.one创建了一个系统合约的提议更新,该更新将RAM供应中每个区块的字节数量固定。被选出的BP可以设定持续增长率而不是瞬间增长率。增加RAM的供应量是在BP的职责范围之内的,我个人认为目前没必要投票将这道他们可以手动完成的程序自动化。

结论

RAM的目的是让开发者打造能让大家的生活变得更好的东西。自由的市场和区块链社区会采用多种方法的组合来降低部署和应用大规模去中心化应用的总成本。RAM并非是被设计为人为稀缺的,整个市场都在研究如何使RAM和TPS随着时间而增长。​​​​