质押了很多的WAX,但为什么CPU还是不够用?

一、概述原因

#1 由于CPU“价格”是波动的,在不同时间质押同样数量的WAX获得的CPU资源是不等的。

#2 账号CPU/NET资源会占用24小时,CPU/NET资源的恢复周期为24小时。但并不是24小时后一次性复原,而是逐渐的线性恢复。

CPU计算公式:CPU价格 = CPU抵押的WAX总量 / 虚拟的CPU可用量

二、详细解释

抵押了一定数量的WAX,具体可以得到多少的CPU资源,是会根据WAX网络的忙碌程度而变化;如果CPU使用的高峰期,则获得的资源就少,如果是空闲时候,获得的资源就更多。

CPU计算公式:CPU价格 = CPU抵押的WAX总量 / 虚拟的CPU可用量,单位是 WAX/ms。 比如:1WAX/ms 意味着换取1ms的CPU时间,需要抵押1个WAX。

CPU的价格是不断变化的,是因为 为CPU而抵押的WAX的总量虚拟的CPU可用量 都是在不断变化。

#1 为CPU而抵押的WAX总量 是不断变化的

当WAX网络中,抵押用于换取CPU资源的WAX数量突然增加时,会导致1个WAX所对应的可用CPU资源减少。比如,你用10个WAX抵押换取CPU资源,目前可以有10分钟的CPU计算资源;突然有DAPP团队直接将总抵押量增加了一倍,这时就会导致你质押10个WAX所对应的cpu资源,会减少到原来的一半,也就是5分钟。

#2 虚拟的CPU可用量也是根据WAX网络动态调整的

当WAX网络拥堵时,那么,虚拟的CPU可用量就会降低,导致了CPU成本上升,1个WAX能够换取的可用资源就下降;而网络空闲时,虚拟的CPU可用量就增加,1个WAX能够换取的可用CPU资源,就增加。

【如果你抵押了WAX获得CPU资源,当你的CPU超额使用 或者 WAX网络繁忙你所分配到的CPU资源变少,不足以发起交易,这时就是CPU资源不足的情况。】

通俗来讲,当新用户注册 WAX 云钱包时,云钱包系统会自动给用户质押 1 WAX 的 CPU 和 1 WAX 的 NET 资源,以及购买部分RAM资源。这意味着每次有新的帐户注册时,都会有 WAX 被质押。随着大量新用户的涌入,整个资源池因质押量的增长而不断被稀释。但事实上,CPU 资源池没有变大,还和之前一样,以蛋糕为例,尺寸是没有变化的,但是每个用户可分的“蛋糕块”变小了。系统自动质押资源支持用户立即开始购买、出售和交易 NFT。账户持有人可以通过 CPU 和 NET 数量百分比了解自己可以进行多少交易。一旦 CPU 和 NET 资源不足导致交易失败时,用户将有两个可用选项:

  • 等待系统在第二天重新给用户质押资源 —— 自交易失败时起,待下一次系统自动补充资源需要 24 小时

  • 手动质押更多代币

#3 CPU/NET资源如何恢复

CPU和NET资源的恢复周期为24小时。但并不是24小时后一次性复原,而是逐渐的线性恢复。由于每个用户获得CPU/NET资源的数量也是动态变化的, 所以在资源消耗后,实际上系统的判定并不是将资源恢复,而是逐步减少上一次操作消耗。每过一小时,之前操作的消耗便减少1/24,直到24小时候后,计算消耗为0。在进行操作的时候,只有:新交易的消耗资源量 + 之前交易之后所记录下来的资源使用量 <= 系统分配的资源总量 这笔交易才能进行。

将资源恢复的规则这么设计,其实也是为了能更合理的分配资源。毕竟我们每个用户的资源分配量,本身就一直在变。这里有些绕,我举个例子大家就清楚了。假设现在抵押资源的人比较少,我用了1个WAX,获得了500ms的CPU资源(1WAX = 500ms)。就在此时,我进行了各种操作花掉了480ms的资源,而在下一秒,突然有大户进行了资源抵押,系统能分配给我的资源一下子从500ms降到了50ms(1WAX= 50ms)。但我已经消耗了480ms,那我此时应该有-430ms的cpu(没错就是负数)。到了一个小时以后,如果我恢复1/24的资源,就是20ms。这就相当于我之前价格,获得了当下的资源。这么做的话,一定会导致整个网络资源数变大。而这显然是做不到的。所以WAX用减少之前的消耗,代替了恢复。这么做,可以保证系统的总资源量,一直是恒定的。

本文章用于科普,不代表 橘猫社区 的投资建议。

投资有风险,您须充分认识风险,并自行作出投资决策。

最后更新于