The New EOS Resource Model — EOS Amsterdam Response

Image for post
Image for post

Block.One has recently proposed a new EOS resource model which aims to solve some of the problems that exist with the current EOS resource model. In this article, we will explain the current EOS resource model, the new EOS resource model, and our opinion on the new model.

The current EOS resource model

Before we start explaining and reacting to the new EOS resource model, let’s first explain the current one, and why there is a need for a new one.

On EOS there are 3 resources: CPU, network and RAM, which all allow users to do different things. We will explain each resource individually below using a metaphor by EOS Asia.

Image for post
Image for post
How resources in an EOS account (can) look

If the EOS blockchain was a train, CPU, RAM, and network could be explained in the following way:

Network would be the available seats in each train leaving and entering the blockchain. Your chair will always be reserved, and if u need it, it will be yours. BUT, if no one is on the train, you could lay across a bunch of chairs because they are free! So network is a way to make sure you have somewhere to sit when the train leaves.

CPU is how often you can ride the train, and works much like network as far as allocation goes. You may have a train ticket, but of course the ticket is only usable on certain days and times.

Now the EOS train is pretty laid back, so any unused space is free to use re: CPU and network, until the people that paid for the space need to use the space.

CPU and network are joint resources that together are called BANDWIDTH.

RAM is your storage space on the train. If you need to bring a ton of luggage, you need to pay per bag to check your bags onto the train. If you do not need to bring a lot of luggage, you can sell your storage space to others that are riding on the train.

CPU and network can be obtained by staking EOS, which is essentially locking your tokens for a certain time. When the user wants to move their EOS they can unstake their tokens, essentially making transactions free. RAM can not be obtained through staking but can instead be bought and sold and is used to hold other tokens for example.

Furthermore, users can rent resources through REX. These resources come from people who allocate their tokens/entitlement to resources to REX, allowing them to be rented by anyone who wishes to temporarily use a large amount of resources. In return for allocating their tokens to REX, users receive compensation.

As explained in Block.One’s announcement of the new EOS resource model, the current resource model has various problems.

“despite a large demand, most of the network’s resources are going unused. REX was managing around 30% of the network’s total CPU/NET and ran out of resources to allocate to new borrowers. Meanwhile, only a small percentage of the remaining 70% of the network’s resources were actually being utilized, evidenced by the fact that less than half of the blockchain’s total capacity was being used.” — Block.One

Many EOS users stake their tokens, entitling them to x% of the network’s resources. While these tokens are staked, nobody else can use these resources, not even when the owner is not using them. This means that in many situations, there is a large demand for EOS resources but these resources are unavailable despite the majority of staked EOS/resources being unused.

To tackle this issue, a resource exchange (REX) was introduced in 2018, but it was unfortunately not enough to solve the issue. There is a fundamental problem with the current EOS resource model.

The new EOS resource model

The new EOS resource model is Block.One’s latest attempt to solve the EOS resource problem. The new model aims to solve the above issues by removing the entitlement to resources from staked tokens, and by creating a new global resource rental market. Furthermore, staked tokens receive certain fees from various actions on the EOS blockchain.

Under the new model, 100% of the CPU and NET of EOS are available on the resource rental market (REX). CPU and NET can be rented from REX for a fixed period of 30 days. The pricing of the resources is based on the overall resource utilization and constantly changes to reflect the actual network usage.

Fees from REX are distributed among all staked tokens, among various other fees of the network. This should improve the current situation and creates an incentive for users to stake their tokens.

Our opinion on the new EOS resource model

We fully support the new EOS resource model, and look forward to seeing it in action. However, there are a couple of points that have to be taken into consideration before deploying the new model, namely the following four:

While the new resource model attempts to reduce resource waste by taking away entitlement to resources from staked tokens, it can also generate new wasted resources.

Since users have to rent the resources for 30 days, users who only want to make a couple of transactions may end up with a big amount of wasted resources thanks to this fixed rental period.

One proposed solution to this problem by EOS Rio is making the rental period and resource replenishing cycles adjustable. By allowing users to have shorter/longer rental periods and/or longer/shorter replenishing cycles, the rentals will fit their needs better, ensuring less resources are wasted. While this is likely to increase the number of rental transactions, users can be incentivized to rent resources for longer periods by making short rentals relatively more expensive.

Another possible issue with the fixed rental period is the ‘nothing at stake’ problem. Let’s consider a users who wants to use a few dApps a couple of times a week and wants to participate in an event (for which he has to make a relatively high amount of transactions) once a month. This user will have to rent a certain amount of CPU and NET which is sufficient for participating in this event for the full 30 days, despite only using these resources for a short amount of time.

In this case, the user might use their resources in a way which is harmful to the ecosystem, such as mining operations (as previously proven by Eidos), because they have already paid for the resources.

With the new EOS resource model is that block sizes and network traffic are increased, thanks to the higher utilization of resources.

This might become a problem for Block Producers, which EOS Sweden described very well in their response to the resource model:

“Extra strain will very likely be put on the block producers under the proposed model since blocks are meant to get bigger and consume more CPU to process. The hand-over process already is quite problematic at times and likely all top 30 producers will need to start running a separate peering network to transfer blocks between themselves and in accordance with the schedule; minimizing the amount of micro forks.

Image for post
Image for post

Replaying, indexing and just keeping nodes in sync is going to require more resources and performant hardware than what is needed today. This is likely to put a strain on peering nodes where we will need our block producers to step up and to provide more stable access to the blockchain.

For the overall state of EOS it would be good if more block producers and block producer candidates started to provide more reliable peering than what is available today.”

To add onto this previous point, we would like to mention one last thing. The new EOS resource model does not address the lack of incentive for Block Producers to upgrade their infrastructure and to provide public services.

Under the current model, Block Producers are rewarded based on the amount of votes they receive and based on how many blocks they produce. At the start of EOS, it was assumed that votes would be based on which Block Producers are adding the most value to the EOS ecosystem.

However, as we have learned over the past 2 years, these votes are currently based on where token holders can receive the highest return on their EOS, rather than being based on which Block Producers are adding the most value to the EOS ecosystem.

While it was initially looked down upon, colluding with other Block Producers has become the norm in the top Block Producer positions. Furthermore, profit sharing of Block Producers has also become a normality.

This has led to a situation where there is no incentive for Block Producers to keep their infrastructure to the highest standards and to provide public services which are essential for keeping the blockchain running, such as public API services, history services, and notifications.

Due to this lack of incentives, only a couple of Block Producers are providing these services. For full history services, for example, only three Block Producers are providing this service, with only 1 of these Block Producers being in the top 21.

All things considered, we are very happy with the new proposal and look forward to making the new resource model a success. While these possible issues need to be considered and improved, the proposed resource model seems to be an improvement to the current resource model.

About us

Founding block producer for the EOS mainnet. Telos, Proton, BOS, FIO, and Instar Block Producer. Active top WAX Guild. Partner in the Europechain sister chain. Investor in blockchain projects. Governance, intercultural cooperation, and security specialist. You can find us here:
EOS, Europechain, Proton, and Instar Block Producer name: eosamsterdam
BOS Block Producer name: amsterdambos
Telos Block Producer name: amsterdam
FIO Block Producer name: bp@eosamsterdam
WAX Guild name: amsterdamwax
Website|Twitter|Telegram|Wechat

Written by

Founding block producer for the EOS Mainnet. WAX Guild. Partner in Europechain. Investor in blockchain projects.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store