A Thought on RAM Squatting Problem
This article was written by Loum from EOS NodeOne and translated by Leo.
After reading ‘jem’s opinion on RAM squatting issues, I decided to write this. The ‘jem’s comment in EOS Gov is in the bottom of this article.
In Dawn 4.0, RAM allocation model is switched to a market-based supply approach from a stake-based. While a stake-based approach ensures that you get all staked-tokens back, in a market-based, the amount of tokens returned depends on market price.
2. Introducing jem’s idea
The illustration below shows Block.one and jem’s solutions to the RAM squatting problem.
In both approaches, there is a 1% trading fee. However, while Dawn 4.0 chose the EOSIO RAM market, jem’s solution is a stake-based.
In other words, jem applied only the trading fee policy on the previous stake-based approach. By burning the fees or covering BP rewards with them, it can be beneficial for long-term holders as the amount of inflation is reduced. The result of this fee is to offset the inflation of tokens by taking them out of the market.
3. Drawback to market-based RAM allocation in Dawn 4.0
New market-based approach is to resolve RAM squatting by RAM trading. However, one defect of this is that users who are able to predict the RAM supply can speculate with it.
Daniel Larimer, CTO of Block.one, stated how to manage the RAM supply is determined by ⅔ +1 block producers. Therefore, they might supply only a certain amount of RAM of total available capacity, for example, 200GB of 1TB. Importantly, the producing BPs are able to predict the total capacity of RAM to be supplied to the market.
For another example, dApp developers who need a lot of RAM can make a profit by predicting RAM demand when launching their dApp on the EOS platform.
In other words, whoever predicts available RAM capacity can speculate with it in a market-based RAM allocation model.
4. Drawback to the previous staked-based RAM allocation
The graph below shows the price per RAM by Bancor algorithm in a staked-based approach suggested previously by Block.One.
The previous stake-based RAM model has no fee policy, but users should stake the amount of token set by the Bancor pricing algorithm and can get them back after use.
This RAM pricing algorithm creates barriers to entry that limit demand by raising prices as available RAM capacity is reduced. The less amount of RAM is available, the more EOS coins must be staked for the same amount of RAM. Critically, however, Block.One has never provided any suggestion to recover the squatted RAM. In other words, they have never suggested how to kick off the RAM squatters.
When the EOS Mainnet launched, developers would apparently try to squat at a cheap price in advance. Since RAM is not transferable, developers can not profit from trading, but they can squat for the preoccupancy of RAM. Therefore, it is necessary to take preventive measures against RAM squatting.
5. Our suggestion on RAM squatting problem
We agree with the jem’s proposal. In addition to this, we propose a method to recover the squatted RAM, which is a disadvantage of the existing RAM stake-based RAM allocation.
5.1 Preposition :
We first assume that we can distinguish between RAM squatters and real users by monitoring RAM usage. There are many ways to do this. For example, we can build a RAM usage monitoring tool, or ask potential RAM squatters if they are actually using it.
So in conclusion, if it is possible to distinguish RAM squatters, we can prevent the RAM squatting problem by giving a financial disadvantage to them through the voting of BPs, etc.
5.2 Financial Disadvantage to RAM squatters
We are thinking of two ways to put RAM squatters at a financial disadvantage.
First, we programmatically invalidate the squatted RAM. Then, RAM squatters will not be able to use their own RAM, which will be recovered and made available for other users. They may get back their staked coins at any time.
Second, we freeze the staked coins by RAM squatters. In other words, we give them a freezing period.
If RAM squatters apply for termination of RAM use. The corresponding RAM is recovered immediately and can be used by other users, but the staked coins by squatters is returned after being frozen for a certain period of time, 2 weeks or 1 month, for example.
Hence, we have confirmed the main drawback to market-based RAM allocation model in Dawn 4.0 and support jem’s staked-based RAM allocation model with 1% fee. In addition, as mentioned above, we propose two methods that slap economic sanctions on RAM squatting in order to recover squatted RAM.
Jem’s comment in the Telegram chatroom, EOSIO Gov.
Link : https://t.me/EOSGov/37814