Under the new EOSIO Resource Allocation Proposal, user will pay a resource rental fee via smart contract to get 30 days worth of CPU/NET from the total supply.
Recently the EOSIO Resource Exchange (REX) that allocates resources (CPU/NET) to users became unusable on the EOS Public Blockchain after spikes in demand for processing power and bandwidth drained the system of liquidity. During the outage, borrowers who attempted to get access to these resources were denied service.
Resource supply for the EOS Public Blockchain on REX highlights a general issue with the resource allocation model; despite the large demand, most of the network’s resources are untapped. REX, managing around 30% of the network’s total CPU/NET, ran out of assets to allocate to new borrowers. Meanwhile, only a small percentage of the remaining 70% of the network’s resources were actually being utilized, proved by the fact that less than half of the blockchain’s total capacity was being used.
In light of this situation, we’re proposing a potential change to the way the current REX system works that would establish a resource rental market . Under the new proposed system, a user will pay a resource rental fee via a smart contract to get 30 days worth of CPU/NET from the total supply. After 30 days the rental will be renewed and pricing will be automatically adjusted using a market based mechanism, based on changes in demand and supply for CPU/NET resources.
Users will still be able of stake tokens under this proposed resource model. However, instead of receiving CPU/NET resources in proportion to staked tokens, users who stake their tokens to REX will receive some fees from name auctions, RAM fees, and proceeds from CPU/NET rentals.
The intent of proposing a transition from a resource entitlement model to a leasing or rental model is to remove the influence of speculative markets over resource pricing. Introducing a rental market with pricing based on overall resource utilization will make resource allocation more predictable and reliable for the community.
CPU/NET pricing will be based on the CPU/NET supply available out of the total; the less CPU/NET available, the higher the price to rent the resource, and the more CPU/NET available, the lower will be the price. The real time CPU/NET utilization is represented as Instant Utilization in Figure 1. Resource pricing is based on Adjusted Utilization.During spikes in resource utilization, Adjusted Utilization increases at the same rate as Instant Utilization, and the price increases in real time to prevent the CPU/NET supply from being exhausted.As resource utilization declines, the Adjusted Utilization rate decays over time, rather than instantly, thereby preventing big renters from leveraging an undesirable renting advantage.
The example curve shown above in Figure 2 demonstrates how price increases as network usage increases, in this case based on Adjusted Utilization. With an abundance of available resources, the price for CPU/NET remains relatively low, however the price rapidly increases as utilization reaches the maxima.
The price is determined by the difference in the network utilization prior to the rental purchase versus the new utilization of resources based on the size of the rental. For example , a user looking to acquire 5% of the CPU/NET supply for 30 days would pay a price equal to:
MAX(P(InstantUtilization+5%), P(AdjustedUtilization+5%))) — MAX(P(InstantUtilization ),P( AdjustedUtilization )))
The formula displays how the difference between the current utilization and the level of utilization as a result of the rental order is used to calculate price. For example, in Figure 2, current utilization is marked as point 1 and utilization after the rental is marked as point 2. The difference between these two points is the fee paid by the renter.
Migrating from REX to Rental Markets
To ease the changeover from the current REX system to the proposed rental marketplace, the percent of CPU/NET allocated under the current model would be shifted progressively. It would be done in a way that doesn’t increase the overall supply of tokens, rather adjusts the parameters that determine the ratio of CPU/NET that should to be allocated to each account.
The proposed changes aim to ultimately stabilize the CPU/NET marketplace in a way that more accurately represents the supply and demand for those resources. It is anticipated that the ecosystem will ultimately migrate to the newly proposed rental market as opposed to continue using the current staking for resources model because of a lower cost and greater supply on the new market. Over time, the CPU/NET supply available on REX will diminish as the flow of CPU/NET in the proposed rental market increases.
In order to operate smoothly, EOSIO application developers and users alike need a consistent means of accessing resources with predictable pricing. We are proposing this change to the REX system in order to reduce systemic waste and improve scalability by having enough CPU/NET to meet the growing needs of the network.
For more information regarding the proposed changes to the EOSIO resource allocation system, refer to the proposal in the EOSIO GitHub repository. This pull request was incorporated with the recent release of eosio. contracts v.1.8.4-rc1.
We appreciate feedback from the community as we work towards improving this new model. If you would like to provide feedback and work more closely with our team to improve EOSIO for developers, you can send our developer relations team an email on email@example.com .
We are consistently updating our mailing list along with future announcements and release notes. Subscribe today on the new EOSIO website .
Important Note : All material is provided subject to this important notice and you must familiarize yourself with its terms. The notice contains important information, limitations and restrictions relating to our software, publications, trademarks, third-party resources and forward-looking statements. By accessing any of our material, you accept and agree to the terms of the notice.
Originally published at https://eos.io .
Via This Site