RAM is considered to be the most precious resource in EOS blockchain and for this reason, RAM is treated elite and different from other resources. Before you go ahead with reading the blog, go through the following link Resources Overview - EOS for making yourself familiarize with the EOS resource. To our best knowledge, we know that RAM is a place where data are stored for temporary. The same concept is introduced into EOS blockchain. Here, the RAM stores every data that are to be accessed frequently by the DAPP (Decentralised Application).
Unlike other resources in EOS, RAM has to be purchased. The amount of RAM to be purchased depends upon the individual requirement. Meanwhile, Net bandwidth and CPU bandwidth are only needed to get delegated. We can undelegate them anytime and after three days, and the delegated amount will get converted back into liquid EOS. To know the current market price of EOS resources, you may go to www.eosrp.io.
The main problem faced by the blockchain technology is its scalability issue ever with the onset of Bitcoin technology. This acts as a major barrier for implementing applications like social media, microblogs, instant messengers etc. in the blockchain. EOS is the solution for this. EOS already achieved 3000 TPS while Ethereum still holds on with 30-40 TPS. A DAPP developer should run a full node for running his DAPP live in the blockchain. In order to attain maximum scalability, the full node should reserve a sufficient amount of RAM. RAM is required to store data which has to be accessed by the DAPP such as balances, keys, contract states etc.
RAM faces scarcity
Each bit of data is stored in each transistor. As the number of transistors increases, the storage capacity also increases. In 1965 Gordon Earle Moore an American businessman, engineer, co-founder and chairman emeritus of Intel Corporation introduced Moore’s law. Moore’s law was globally accepted and it helped a lot in forecasting chip capacity.
Moore’s law states that the number of transistors per square inch doubles every year since its invention. The rate of growth is steady exactly as Moore stated until 2012. In 2015 Moore stated that the growth will meet saturation and growth will almost die by 2025. This is the reason why RAM is a precious resource in EOS blockchain.
Total RAM provided by the block producers is initially around 64 GB. In future, as EOS finds it’s expected reach, so many people will start using the platform. We may see a lot of DAPPS working on EOS in coming years. In such a situation this scarcity problem will be severe if the total supply of the RAM is limited to 64 GB. Dan Larimer suggested a solution for this. He raised a proposal that, add 1 KB of RAM per block by the block producers. Which means when a block producer validates a block, a 1 KB of RAM will be added to the system. This will help the system to control RAM scarcity to a considerable limit. On 26th July 2018, 15 block producers voted positively for the proposal and it got live. As a result, the RAM price got tremendously dropped.
image courtesy: feexplorer
RAM is in Free Market
To allocate such a scarce resource to those who really deserve it, EOSIO took an approach with ‘free market’. The free market is the concept where buyers and sellers can trade without any third party interface, the only factor that decides the price, is the demand for the product. The algorithm used to implement this concept in the RAM market is Bancor Relay. There is a contract build by the EOSIO named ‘eosio.system’. This contract allows users to buy from and sell to the system in exchange for EOS tokens using ‘buyram’ and ‘sellram’ commands.
Those who don’t like to deal with commands can also depend on tools provided by the block producers to exchange RAM. This allows liquidity in RAM. No one needs to wait for a buyer to sell his RAM and no buyers need to find a seller. Users can directly buy or sell to the system directly at any time upon he/she wants.
When the demand for RAM increases, no one prefers to sell his unused RAM. Resultantly, there will be a price hike. Likewise, when there is no demand for RAM in the market, there will be a lot of RAM available in the system, eventually with the price dropping low.
RAM price a headache for the developers?
As 78% of total 64GB ram reserved, 1 KB of RAM costs around $2.5. Deployment of a typical smart contract for a DAPP will consume at least 5MB of RAM. This costs $12800. In addition, some transactions using the DAPP may consume RAM reserved by the developer’s account. And also the developer has to run a full node to run his DAPP live. The developer has to meet these expenses without a break even.
In short, we can conclude that the goal of a DAPP developer lies not only in his coding skills but also in his ability to optimize the code without consuming much RAM and parallelly maintaining the required scalability.