[Proposal] How to lower CPU costs in EOS network
This proposal is written by EOS NodeOne (Loum, Sungil Kim).
1. Objective
We propose to divide staking into two unique parts to lower the price of CPU/Net resources:
- stake for resource use
- stake for BP voting and referendum
2.1 Description of the Staking Feature
Because the computing resources of the EOS network are provided by BPs and the total supply of the resources provided by them is limited, it is required to safely distribute them to the holders in the network.
EOS network utilizes a unique resource allocation method called staking. And this is a method of distributing the rights to use computing resources of EOS network to all holders in proportion to the number of their staked EOS coins that deposits EOS tokens as collateral. In other words, staking is to hold EOS coins in the system account eosio.stake to prevent them from moving. So, this method makes the holders use the corresponding resources for free while their EOS is staked. Unlike the staking method, the existing method distributes the computing resources provided by nodes based on transaction fees as practiced in the case of Ethereum.
2. High Price Issue with CPU Resources
Currently, staking in the network is used for two purposes. It gives 1) the right to use resources and 2) the right to participate in BP voting and referendum.
To be specific, this can be described as follows. First, the holders acquire the exclusive right to use the resources of the EOS network through staking EOS tokens. This way, the holders first stake their EOS tokens to use computing resources, and then utilize the corresponding resources in the network. Second, they also obtain the right to participate in BP voting and referendum in proportion to the number of staked EOS to CPU/Net.
However, the drawback of this method is that it induces the holders to stake a large number of EOSs to CPU and Net resources to participate in BP voting, which is able to increase the price of these resources eventually.
For example, as of October 4, 2018, the second highest dApp in the number of transactions per second (tps) is BETDice. The total number of its transactions for 24 hours is equal to 306,872, so the tps is 3.55. The resources used by eosbetdice11, an account of EOSBet, staked 1) 123,500 EOS to the CPU and 2) 250 EOS to the network (Net) and 3) purchased 7.78 MB of RAM, which corresponds to 976 EOS. Therefore, the total cost for the EOSBet service is equivalent to 124,726 EOS.
Most importantly, CPU costs account for about 99% of the total EOSBet cost. Assuming the EOS price is $6, this account’s total cost of using resources is about $750,000. The bottom line is that almost all of these costs were spent on staking to use the CPU. For this reason, we believe that lowering the entry cost for dApps will be most needed to help EOS succeed as a dApp platform.
The table below shows the percentage of CPU cost in the total resource cost of top four dApps in EOS. Excluding the game EOS Knights, the three gambling dApps spend about over 90% of the total cost for the CPU. In contrast, the game EOS Knights spends about 97% of the total cost for RAM.
Table 1. Percentage of CPU cost in the total cost of top four dApps in tps (%)
3. Division of Staking Feature
To solve this problem, we suggest splitting the staking feature into two as follows.
- [Resource staking] for CPU/Net resource use.
- [Voting staking] for BP voting and referendum i.e. other than resource use.
We expect that this method can lower the price of CPU/Net resources. To realize this, we can create a new voting staking account for BP voting etc., in addition to the existing resource staking account, eosio.stake. For example, we can create a new eosio.stakevotes account for voting staking, and then configure the network for BP voting and referendum, using the EOS tokens staked to this account.
However, in this case, EOS holders can have a strong motivation to resource-stake to use the resources of the network, despite the disadvantages of keeping their EOS tokens from being transferred. However, it is highly likely that they will not vote-stake to enhance the health of the network. It is because there is no economic benefit but only a disadvantage of preventing transfer their EOS tokens by staking.
After all, if the staking feature is divided into two, it is strongly required to provide economic benefit to encourage them to participate in voting staking. However, we have not identified the source code for the CPU/Net resource allocation method.
3.1 Linkage with Interest
We have already proposed using some of the WP funds (e.g. 2%) accumulated in the eosio.saving account with 4% interest per annum for the health of the EOS network. link
This method pays interest to all EOS accounts for 1) resource staking and 2) BP voting via resource staking respectively. This can lead to the result that 1) it can increase the ratio of EOS tokens being staked, which would in turn reduces the EOS circulation and thus increase the probability that EOS prices will rise, and 2) it make more small account holders participate in staking and BP voting, which improves the health of the network.
Thus, we propose a method of paying interest to all accounts through voting staking and BP voting via voting staking. It means that no interest is paid to the accounts that has resource-staked. It is because resource staking is meant for the holders to 'use' the network, but voting staking is aimed at 'participating' in the EOS ecosystem to improve the health of the network.
For example, interest may be paid at 1:1 ratio for voting staking and BP voting via voting staking. The interest rate is assumed to use the total yearly inflation, which is 2%, and let us say 50% of the total EOS tokens are staked for voting, and 10% of the total EOS tokens are participated in the BP voting.
In this case, 2% and 10% interests are paid a year for the voting staking and the BP voting respectively. Therefore, the holders who are eligible for all will receive 12% interest per year, while those who only participated in the voting staking will earn 2% interest annually.
Dan Larimer, CTO of BlockOne, has already made a proposal to pay interest with REX tokens to the resource staking. We also can apply this to our example above.
5. Conclusion
We have proposed a method of dividing the existing staking feature for CPU/Net into 1) resource staking and 2) voting staking to reduce CPU resource costs. We also discussed how to increase voting staking by paying interest to all accounts that has vote-staked. We believe that this approach not only lowers CPU resource costs but also increases the participation of the BP voting by the holders, thereby making the network healthier.
Leave [Proposal] How to lower CPU costs in EOS network to:
Read more #eos posts
Best Posts From EOS NodeOne
We have not curated any of eosnodeone's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From EOS NodeOne
- EOS NodeOne Achievements
- EOS 노드원 [월드 인터뷰 시리즈1] — Starteos!
- EOS 노드원의 업적
- [공지] 노드원 두개의 BP 평가 플랫폼에서 21등과 22등을 차지하다.
- [Proposal] How to lower CPU costs in EOS network
- [제안] EOS에서 CPU 비용을 낮추는 방법
- 【提案】通过利息促进EOS网络健康的方法
- [Proposal] How to Enhance the Health of EOS Network with Interest
- WPS를 위한 토큰 흐름과 소각 제안
- Token Flow and Burn Proposal for WPS
- [제안] 이자를 통한 EOS 네트워크의 건강성 증진방법
- # EOS WPS 첫 번째 총투표 예산안 공개(검토 목적)
- [제안] RAM 무단점유 해결방법: RAM의 임대시장 및 공매도 시장의 도입
- A Solution to RAM squatting problem of EOS platform.
- [Suggestion] RAM Squatting Solution: Unlimited RAM Supply Model
- [Proposal] Self-Motivated Infrastructure Growth(SIG) through Profit
- [제안] RAM 무단점유 해결방법: 무제한적 RAM 공급 모델
- [제안] 충분한 보상을 통한 자발적 인프라 확장 방법
- (제안) 담보물에 의한 BP 책임성 및 시스템 기반 투표 보상 방법
- [Suggestion] Block Producer Collateral and System Based Voters Rewards