重新构想EOSIO资源分配

EOSIO的第一个用例EOS公网是吸引各类用户的最常用的公共区块链,最近,它利用自身部分技术能力,实现交易处理速度稳定保持每秒800笔。由于转账的需求一直很高,所以资源交易所REX已经没有额外的EOS代币一共租赁。本文探讨REX没有EOS可供租赁的原因,并提出了解决方法,保证用户能以合理的市场价格获得需要的CPU资源。

质押EOS代币可以提供CPU带宽。CPU功能的资金成本已经被市场高估了,换言之,大多数人需要租赁EOS来获得可承受价格内所需的CPU,从而减少因为EOS价格波动带来的资金损失。

REX(资源交易所)设计的目的是在拥有EOS CPU功能的人和需要利用CPU时间却没有EOS的人之间自动形成市场。现在的问题就是如何为租赁EOS设置合理的价格,同时还要为EOS所有人保持功能价值:如果定价太高,没有人愿意租赁,整个网络使用率就低;如果定价太低,EOS供给量就远远不够,结果导致不管价格如何都没有CPU可用。

我们设计REX的时候利用的算法是这样的:如果可用来租赁的EOS供给趋近于0,那么价格就会趋于无穷大。最近,REX的问题是,现在不管开怎样的价格,都没有EOS可以租赁,因为提供EOS租赁的租赁方可能租出EOS之后又任性地召回代币。设计的时候,我们考虑的是投资人会有赚钱的需求,所以我们并没有预料到他们会从REX中召回这么大量的EOS。

好消息是REX的运行如常,按照代码要求,30天内租赁方可以召回放在REX中的EOS。而由于短时间内突然召回的EOS的量高于借出的量,对此,定价算法就把价格推向无穷大。

发生这种情况是因为我们设计REX的时候,初始构想是这样的:

  1. 大量账户的租金需求呈正态分布

  2. 对REX的租赁需求呈正态分布

  3. 租金提高,用户供给REX的需求会增加,可租赁的EOS数量就会上升

  4. 存入REX的代币量能抵消召回的数量,租赁供应总量相对稳定

而现实是:

  1. 存入REX的代币呈帕累托分布

  2. 召回量也呈现帕累托分布

  3. 从REX租赁的需求也呈帕累托分布

  4. 租赁期结束30天之前召回代币可以提前获得租金收入

我们初始构想和REX使用的现实之间存在的这一差异导致了租赁资源价格波动,也导致了市场上没有EOS可供出租。

CPU分配的全新设计

导致REX现在这个状态的原因是EOSIO公网资源分配策略在不断升级。我们想尽量提高构建解决方案时的灵活性,所以我们想的是如果我们不受先前设计的任何限制,那么我们就可以做些不一样的东西。如果我们能够创捷一个更好的、更理想的解决方案,那么我们就可以实现向后设计,实现以现在的EOS网络和REX为基础进行升级。

而唯一一个最大的问题就是“CPU”太贵了,其次则是你无法预测你在任何一个给定的时间会获得多少CPU带宽。这些问题的原因可能是先前因为高资金成本和低利用率,所以我们尝试降低CPU价格。我们的构想是EOSIO利用代币代表这么一个所有权模型:支付1%的EOS来利用1%的CPU,无限时间,无附加费用。这个资源模型就好比你买了一套有永久居住权的房子。

CPU所有权模式让EOS获得极大的利用率,但是同时也导致用户想利用网络就必须拥有大量的EOS。但因为市场上充斥着各种可转换的加密资产,其投机价值高于预想的实用价值,结果获得EOS CPU时间所需要的资金就高于大多数用户能承受的范围了。此外,价格波动风险意味着CPU真正的价格就和任何极端波动市场的资本损益捆绑在一起,变得无法预测。

为了减少CPU成本,EOSIO引入了“部分备用CPU”这个概念,向活跃用户分配未使用的CPU循环。这样,网络利用率低的时候,CPU的感知成本最多就可以下降1000倍;但是,如果使用率飙升,但用户因为已经消耗了超过最低保证CPU时,其账户会被锁定,因此,这种情况下的结果也时不可预见的。

上个月,我们把所有账户列入灰名单,解除了免费CPU 1000倍的提升,从而鼓励用户使用REX,因为相比购买EOS然后自己质押,这么做他们的风险和成本都小得多。同时,一些EOS用户从REX中租出大量得EOS,开始名正言顺地利用自己的CPU预算。哪怕我们去掉了1000倍的免费CPU福利,每个EOS对应的CPU时间的稳定性还是依靠质押在CPU中的全部EOS的比例。

假设你是唯一一个向CPU质押EOS的用户,你就会获得100%的CPU。但现在假设另外一个用户质押了你的100倍,那么你现在CPU预算只剩下原来的1%。这就是当某人从REX中租赁了大量的EOS然后用来租用CUP产生的后果。

我们的底线:除了1000倍的福利,我们还会给尚未质押,但可随时质押的EOS提供额外3-5倍的福利。这些因素都导致了CPU分配对所有人都不可预测,不管是对出租方,还是对于租借方。

理想算法

在理想算法中,CPU就不会有投机价值了,你保留的CPU时间是固定且可预测的。此外,你无需利用投入太多(EOS代币形式的)资金、继而承担资本损益,你就可以使用CPU。最后,我们会保证利用某个价格你一定能获得CPU,因此,长期来看,CPU价格会保持相对稳定。

为了实现该目标,所有的CPU时间必须100%从系统合约租赁出去,而对应的EOS价格应该是随着租赁的CPU比例增长而指数上升。租赁这些CPU时间的EOS将被分配到质押的EOS代币中(如REX库中)。这个模型抵消了质押收入和出租CPU的费用,从而把CPU分配保留给质押了EOS的持有人。假设你质押的EOS每个月产生了1EOS的增长利润,你就可以把这个EOS花在租赁市场,获得一些CPU。CPU的数量会根据实时价格动态变化。显然,根据你质押代币的比例,一些CPU租赁费用就会直接返回给你。

当100%的CPU都通过租赁分配出去以后,就不会再有任何质押获得CPU的代币动态供应,人们也不用担心租赁方从REX中召回EOS冲击CPU租赁市场和价格算法。

此外,CPU时间会变成无法转换的,因为所有的CPU时间都是通过从系统合约租赁分配,而不是通过质押EOS获得。这样就解决了投机影响CPU定价的因素,保证每个人都能在同样的资源模型下运行。

我们可以用一个简单的公式算出租赁一个固定比例的CPU时间30天所需要的花费。

下图显示了本次租赁收取 “1亿EOS*使用百分比”。在公式中,当网络租赁了大约10%效用的时候,租金收入会超过EOS增长。很可能,未来EOSIO治理的模式会选择支付超级节点一定比例的租金收入,这也符合他们让网络功能价值最大化的利益所在。原则上,社区可以利用任何常数指数来决定价格曲线。指数越高,能够被便宜利用的网络比例越大,但是当功能接近100%的时候,它也会更快地增加价格。理想指数能够平衡供给和需求,实现总租金收入扣除区块链运营成本的差值最大化。

因为租赁CPU的人呈帕累托分布,所以我们预计到时候会有大量用户同时租借和/或续租。这就会导致租金在上升之后突然下跌。如果没有“订单簿”捕捉下调的租金,这就会导致大租户获得过高的价格优势,这是我们不愿意看到的。因此,我们建议,租金下调的速度应该低于上升的速度。我们可以创建一个定价函数,设P(Total Usage)为新CPU租赁价格,该价格最大值为MAX( P(CurrentUsage), P(DailyAvgTotalUsage) )。如果价格过高,CurrentTotalUsage下降,随着时间的发展DailyAvgTotalUsage也会下降。如果CurrentTotalUsage突然上升,价格也会急剧攀爬,防止CPU供给被消耗完。

我们会考虑这个算法的变化,比如当CurrentTotalUsage大于DailyAvgTotalUsage的时候,把DailyAvgTotalUsage重置为CurrentTotalUsage。这样就能让平均算法对需求增长反应速度加快,同时如果没有新的需求,在24小时候还能逐步降低价格。

用户想购买1%的CPU供给30天,他需要支付MAX(P(CurrentTotalUsage+1%),P(DailyAvgTotalUsage+1%))) — MAX(P(CurrentTotalUsage),P(DailyAvgTotalUsage))),或者简单来说,他们需要支付按照当前利用率算的租赁收入总和与新利用率水平下的预期租金收入的差值。

从REX中转移出来

新的模型之所以可行是因为,和REX不同,这个模型下“CPU”不能从租赁市场撤回。REX算法必须平衡出租方和租借方的需求。这个流程中,出租方要等待30天租赁才算完成,或者,潜在的租借方就会因为出租方撤回EOS而不能获得任何EOS。在现行REX模式下,没有任何简单的解决方案,能给出租方和租借方提供理想的方案。

解决该问题最直接的方法是慢慢把现在的CPU分配百分比模型转移到新的通过逐渐“增加CPU供给”的新模型。我们可以在系统合约中加入一个新动作,允许CPU分配被租用,接着分配“虚拟cpu-质押”,从而把全部质押的CPU(不管是拥有的还是租用的)稀释到现有的CPU中。这样不单单增加了EOS的供给,而且我们只是调整了分配到每个账户的CPU比例的参数。现在,系统合约是以1:1的比例把EOS质押到CPU中,但是基础EOSIO协议只知道相对CPU权重(分配到你账户的权重除以分配到所有账户的所有权重总和)。

如果新的资源市场创造的CPU供给慢慢增长到质押到CPU的EOS供给的100倍以上的时候,那么新的租赁市场就有效地控制99%的EOS CPU时间。最终,把EOS质押到CPU和NET的做法就会被弃用,因为每个人都转移到了CPU/NET租赁市场。

新的CPU租赁市场产生的收益就会转移到质押在REX的用户身上,就想域名排名和RAM市场费用一样。这个解决方案可以让用户马上可以通过合适的价格获得CPU。慢慢地,REX市场的使用率会下降,新的CPU市场会占据主导。

如果社区采用我的方案,拥有EOS并质押的用户就要转到新市场租借CPU,因为他们现在质押的EOS在整个CPU市场上的比重减少了。我建议用过一年的时间把CPU转移到新的市场中,让用户能有机会转移自己的CPU资源策略。

最终,质押EOS获得CPU和从REX中租借EOS都会因为新推出的CPU市场而停用。

适用于CPU的所有内容都适用于NET市场,它和CPU市场的模式相同。

对于终端用户的可用性

很多应用和钱包已经采用了“先付费先授权”的CPU模式,也就减少了终端用户考虑租赁或质押获得CPU带宽的问题。这个新的提议会模仿相似的平台:应用提供方已经从云提供商那里租赁了服务,他们就会继续通过一系列金融策略承担成本,如订阅、广告、产品销售等。

结论

我提议的CPU租赁市场会稳定CPU价格、减少租赁CPU的成本、增加访问CPU的可预见性。从CPU和NET租赁上获得的收益还是可以分配给质押在REX上的用户。但是最大的变化是通过质押EOS获得一定比例的CPU从而永远“拥有CPU”的能力会慢慢减少。同时,因为服务提供方可以以每次交易为基础向用户覆盖其CPU成本,综上所述,我们可以说,这个提议会让基于EOSIO的网络成为市场上使用最简单、成本最低的解决方案。

本文来源于互联网:重新构想EOSIO资源分配

Click to rate this post!
[Total: 0 Average: 0]

人已赞赏
名家说每日优选

三大趋势指标来看我们现在是不是已经趋近底部?

2019-12-9 10:35:32

名家说每日优选

暗潮涌动,ERC-20 BTC 正在搅动市场

2019-12-9 10:35:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索