Reflections on the New Resource Allocation Proposal for EOS Mainnet

Our thoughts on the EOS Resource Allocation Proposal presented by Block.One

EOS Rio
4 min readSep 11, 2020

--

First of all, a big shout out to the Public Blockchain Engagement Team at B1 for the great job bridging the communication gap between network operators, communities in general and Block.one! We consider this to be a fundamental role in developing the EOSIO ecosystem.

We understand that the new proposed resource allocation model solves the issue of tokens staked out of REX that goes unused. Establishing a resource rental market for 100% of network resources tends to evolve pricing dynamics to a more rational and accessible network use.

Recently, Block.one announced a bounty program for the new resource model, so if you are a developer, get on with testing!

We fully support the proposed model. At the same time, we have a few considerations on potential additions to it:

Reducing Resource Waste

Our understanding is that the new resource model does the work in reducing waste generated by EOS staked outside REX for reasons other than actually using the network and protecting one’s capital. But there is another source of waste that is not affected by this proposal. When fixing a minimum rental period of 30 days with daily replenishment, the resource model may generate as much as 97% of CPU and NET waste.

Consider the case of a light user that may interact with EOS Mainnet once a week or every two weeks. To perform a handful of transactions a week, the user must rent the necessary resource for the whole month with daily replenishment that is mostly wasted. Even daily active users will most likely waste resources as they will have to rent resources matching their maximum daily usage and will have those for a month. The users getting the most value for their money in this scenario are CPU/NET miners as they have the incentive and goal of completely depleting their resources every day to mine tokens. We devise two possible solutions to mitigate this issue.

Making the rental period and replenishing cycles adjustable

One solution would be to reduce the minimum rental period, as this would reduce the minimum number of replenishing cycles. The pricing could be such that it becomes cheaper for the average user to buy resources matching their exact needs, while at the same time increasing the cost of congesting the network.

The key trade-off could be the increase in the number of rental transactions as more renewals would be necessary to have the same total resource usage. In this scenario, the minimum rental period and pricing curve could be set to encourage optimal rental periods based on resource usage. Lower usage should allow for cheaper resource liquidity and a lower minimum rental period, while higher usage should make liquidity more expensive, changing the price curve to make short term rentals relatively more expensive than longer-term.

Allow transaction sponsoring

Another alternative that could add flexibility and also foster community engagement would be to include features on the EOSIO protocol to allow for easier transaction sponsoring by 3rd parties and even smart contracts, this could pave the way for lighter and decentralized services that emulate the transaction fee experience and makes EOS much more usable for the general audience. Services such as “Greymass Fuel” or “Bloks.io free CPU”, already provide free transactions or some kind of transaction fee experience, allowing users to have a more intuitive experience using EOS Mainnet. However, in the current version of EOSIO, resource providers are forced to use off-chain solutions that can co-sign the transaction before submitting it, including dummy actions in the transaction to serve as the first actor, unnecessarily wasting resources. EDIT: There is already a specification on Github by Blockone (https://github.com/EOSIO/spec-repo/blob/master/esr_contract_pays.md)

Including in the transaction structure the possibility of naming a "sponsor account" that would be notified and could pay for the transaction without any overhead or off-chain service, would allow for new creative solutions to emerge and even spawn different DeFi products as those "resource liquidity brokers" would profit from making resources available for ephemeral use. This is a first suggestion from internal discussion that can and should be improved.

We hope those suggestions can help in the discussion and evolution of EOS Mainnet usability. Meanwhile, our team will keep on testing the new resource model and evolving our feedback.

What are your thoughts on this? Leave your comments below or engage in discussions with one of our team members on telegram!

Website

Twitter

Medium

STEEM

Meetup

Telegram

GitHub

--

--

EOS Rio

We want to positively impact billions of people around the world through distributed ledger technologies.