Attic Lab block producer conducted a study of the EOS Resource Model: here are our conclusions

Attic Lab
Attic Lab
Published in
4 min readSep 21, 2020

In may, the Block.One company, the EOS creator, invited the community (https://www.eosgo.io/news/b1-invites-eos-community-to-test-proposed-resource-model) to test the new resource model.

The main goal of the study is to identify and eliminate critical problems in the EOS blockchain network, as well as to detect possible improvements to make the platform’s resources more accessible to users. At the moment, holders can use network resources in proportion to the number of EOS tokens staked and pay for a month of rent, the price of which is based on the dynamic price of the EOS token. It is assumed that the new solution will improve the mechanism of staking and sharing computing resources.

We at Attic Lab, one of the EOS block producers, conducted research and presented results. We’ll tell you about the key points of the study.

New pricing: maximum or no?

According to some reviewers, the cost of renting resources in the EOS network should not have the maximum value limitation. We found that determining the maximum price can provide a number of advantages to reduce the negative effect of price fluctuations.

We also believe that the maximum price should be carefully monitored and, if necessary, it can be quickly updated, for example, when there is high volatility in the crypto market.

Additional check

The rentbw method allows you to check that the actual rent is higher than the minimum rent. We found out that it is better to calculate and check at the beginning of the rentbw method that the maximum cost exceeds the minimum cost. Otherwise, the method call would fail.

We are determined that the current rentbw method will be difficult enough to call for developers and regular users. The main drawback is that users have to specify the maximum amount and parameters of the leased capacity themselves. According to the Attic Lab developers, users will prefer to specify only the amount, and provide optimization of the necessary configuration parameters to the blockchain.

Simplifying the rentbw pricing model

The current u usage function looks like this:

p(u) = min_price + (max_price — min_price) * (u ^ (exponent — 1.0)),

where the min_price, max_price, and exponent parameters are configurable, and the u value can range from 0 to 1.

When creating this function, it was taken into account that the maximum price is not specified. However, this approach has its drawbacks due to market uncertainty: no one knows how the dynamics of the crypto market will change in the future. If the maximum price is greatly increased, the exponent will grow accordingly, which will lead to inefficiency, and the price will depend on parameters instead of being determined by the market.

We have proposed a simplified formula based on the assumption that the user wants to purchase the same part of the CPU and NET resources, and the cost will not be lower than the prices determined at the initial use of computing power. The proposed formula looks like this:

XMAX = fee / (priceCPU (UCPU) + priceNET(UNET)),

where XMAX is the maximum possible purchased portion of CPU and NET resources, fee is the total maximum fee that the user is willing to pay, and priceCPU (UCPU) and priceNET (UNET) are the total price of resources after purchase. This way you can get a higher price limit:

PCPUMAX = priceCPU(UCPU + XMAX)

PNETMAX = priceNET(UNET + XMAX),

where PCPUMAX and PNETMAX are the CPU and NET price limits, respectively. You can use this price limit to calculate the minimum amount of resources that the user has enough money to buy:

XMIN = fee / (priceCPU (UCPU + XMAX) + priceNET(UNET + XMAX)),

where XMIN is the minimum possible purchasable portion of CPU and NET resources. This formula allows to simplify the rentbw method, which is especially important at an early stage of deploying leased resources.

If you have any questions for the developers, you can contact us on our official website (https://atticlab.net/). We are always ready to help you and tell you how to find a solution to your problem.

If you’d like to stay up to date with the latest news about Attic Lab and other projects, you can subscribe to one of the following channels that you are interested in:

Twitter: https://twitter.com/atticlab_it

Facebook: https://www.facebook.com/atticlab/

Reddit: https://www.reddit.com/user/atticlab_it

Steemit: https://steemit.com/eos/@attic-lab

Medium: https://medium.com/eosatticlab

Golos: https://golos.io/@atticlab

Telegram Chat: https://t.me/atticlabeosb
Telos Telegram chat: https://t.me/atticlabtelos

--

--