EOS中的CPU、NET和RAM是什么?

时间:2024-03-19 16:08:47

 

                                      EOS中的CPU、NET和RAM是什么?

不管是开发还是投资或者纯科普扫盲,刚接触到柚子EOS区块链的时候都会先遇到CPU、NET和RAM的概念,他们到底是什么,跟我们平时了解到的计算机中的概念有什么关系?

 

 

EOS介绍

 

EOS是一种区块链架构,全称Enterprise Operation System,即适用于商业分布式应用的操作系统,旨在提供一种去中心化的通用基础设施,以支持开发者在其上部署智能合约、开发dApp(去中心化应用)。

 

 

EOSCPUNETRAM有什么关系?

 

EOS做为一种基础设施,其设计思路是将区块链的P2P传输、智能合约运行、状态存储等通用概念看作是传统操作系统(如windows、linux等)的网络通信、存储等概念,在此基础上设计出一套EOS 代币(后统一称作token)去中心化生态模型。简单的可以说这些概念是一套服务于token生态的资源量化方案。

 

CPU & NET

 

基本概念

 

EOS中的CPU和NET是从计算机词汇中引入的两个概念:CPU代表*处理单元,是指负责在计算机中执行指令和处理信息的硬件,而NET表示网络带宽。在EOS上,这两个术语的含义略有不同:CPU是一种以时间计价的资源,用来衡量出块节点(BP)为交易所付出的时间(PS:不仅是BP,所有的全节点都需要付出这种资源,只是BP具备代表性)。NET是一种以空间计价的资源,用于衡量交易在P2P层传输过程中消耗的网络份额。

 

计量和使用

 

CPU的计量单位为微秒,NET以字节为单位。因为只在交易执行和传输的时候会用到,用完以后就可以释放掉,所以他们是可再生的资源。用户可以通过抵押自己持有的token来获取CPU和NET,可获得的资源量取决于抵押token所占全网token的比例,比如用户持有1%的token,那么他抵押全部token能获得的CPU或NET资源就是全网的1%(需要补充抵押价格计算)。在不需要这些资源后,用户可以再将其换回等额的token,没有任何代币消耗,这也是EOS和以太坊的一大区别:EOS中的资源是按持有token份额免费使用(所有权模式),而以太坊在使用资源的时候是需要消耗token的(租赁模式)。

 

RAM

 

基本概念

 

RAM即我们平时说的内存,在EOS中RAM的含义稍微复杂一点,可以延伸为EOS系统中除了CPU和NET之外的所有资源,对应到传统计算机系统上,大致相当于RAM和数据库两者的集合。

 

谁需要

 

RAM对dApp开发者(确切来说应该是运营者)来说是很珍贵的资源,因为随着dApp的运行会产生大量需要存储的程序状态(比如新增的用户账号、余额记录等),通常这些程序状态多数会长期占用节点的存储空间。可以想象一个EOS节点会随着运行在其上的dApp的业务不断增长,积累在节点上的数据会越来越多,其所剩的存储空间也会逐渐减少。因此,与CPU和NET所不同的是,RAM具备比较明显的稀缺性。

 

计量和使用

 

RAM的资源获取本质上与CPU和NET一样,也是通过抵押换取,并且在释放后能取回抵押的token。所不同的是,由于RAM的稀缺性,必然会伴随抵押价格波动:可以假设EOS刚一运行的时候RAM抵押价格为 10Byte/1EOS,人们知道RAM的数量有限,会设法抵押换取并囤积尽可能多的RAM然后在高价(比如10Byte/10EOS)时卖给急需RAM的dApp开发者,尽管EOS本身可能并未设计这种倒卖盈利的渠道,投机者也总能找到炒作方法,包括线下交易,账号出售等。为了描述这种价格波动的场景,EOS的设计采用了bancor算法(一种供求市场价格模型,其核心思想就是根据市场供求关系决定价格,买的人越多价格越高)来计算RAM的抵押价格。由此一来,用户将手中的token抵押获得RAM,然后再在某个时刻将其释放的时候,所能取回的token数额可能不再等于当初抵押的数额,可能亏损也可能盈余。需要再次强调的是,这种波动不是由bancor算法引起,而是缘于节点主机有限的物理内存空间。

 

对RAM的炒作投机会引起token价格上升,进而导致开发者的成本增加,最后不得不将目光转向其他区块链生态。所以EOS中对RAM资源的抵押获取机制除了使用bancor算法,还增加了一些规则:抵押或者解除抵押需要收取0.5%的手续费,并且获得RAM不能出租给其他人,只能给自己使用。

 

那RAM的价格波动和手续费的存在是否与前文提到的“免费使用”和“所有权模式”相背?一方面,EOS设计初衷的确是根据token的持有比例免费分配RAM资源,价格波动所致的盈亏本质是用户承担了市场炒作风险,而非“费用”,至于手续费,其本质是遏制投机的一个楔子,类似于某些调控税项(“楔子”引自曼昆的《经济学原理》),也并非“使用费”;另一方面,dApp开发者确实承受了日益趋高的价格压力,不管它是什么“费”,都为开发者所诟病,成为EOS发展的一个阻碍。

 

对此EOS也在积极寻找优化方案,比如可能尝试引进DRAM的概念,分离投机和开发需求。但在笔者看来,根本解决的方向可能还是解决RAM的稀缺性或者考虑使用以太坊的“租赁模式”,显然第一种会受限于存储介质技术发展。另外,部分开发者的望而却步也无疑是泼向炒作市场的一盆冷水。

 

结语

 

虽有不完美之处,EOS的很多先进设计仍吸引了包括笔者在内的大量开发者的关注和信奉,区块链在今天仍是探索中的事物,我们有理由拭目以待。

 

 

参考文献

 

1. EOS RAM 101: Non-Technical Guidebook for Beginners 

https://medium.com/coinmonks/eos-ram-101-non-technical-guidebook-for-beginners-6f971322042e 

2. CPU, NET & RAM — The raw materials of the EOS economy

https://medium.com/@liquideos/cpu-net-ram-the-raw-materials-of-the-eos-economy-c4f85022fae

3. EOS RAM:内存是拿来用的,不是拿来炒的

https://www.jingyublock.com/132.html 

 

4. 什么是staking抵押和-unstaking取消抵押eos

https://www.eoscanada.com/zh/blog/什么是staking抵押和-unstaking取消抵押eos

5. EOS钱包开发:抵押和赎回NET与CPU带宽

https://www.8btc.com/article/309582 

6. 为什么我EOS账户会有CPU不够用的情况?

https://www.eoscanada.com/zh/blog/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91eos%E8%B4%A6%E6%88%B7%E4%B8%8A%E7%9A%84cpu%E4%BC%9A%E6%9C%89%E4%B8%8D%E5%A4%9F%E7%94%A8%E7%9A%84%E6%83%85%E5%86%B5 

 

7.https://eosio.stackexchange.com/questions/42/how-is-the-total-available-capacity-ram-cpu-bandwidth-communicated-among-block

EOS中的CPU、NET和RAM是什么?