Exploring EOSIO's public repository on GitHub, programmer Corvin Meyer auf der Heide has found a possible new resource that should be implemented in EOSIO software with the next update. We're talking about DISK. How does DISK work? And what should it be used for?
According to Corvin, the next EOSIO update should include the Key-Value-Store that will allow to create indexes* using less storage space and can be of any type and size above 64 bits. Basically it will improve efficiency and flexibility for the maintenance of smart contracts.
*Indexes are the unique identifiers for datasets.
Currently, in fact, smart contract data is stored inside the RAM (Random-access memory) of the chain. As the name itself suggests, the role of RAM should not be that of long-term data store, but should be used to store information in a flexible and only temporary way. On EOSIO unfortunately there is still no way to save long term information and for this reason just RAM is used.
Apparently Block.One is proceeding towards the release of DISK, the new resource that will allow smart contracts to save information in the long term, without having to use RAM. Through the technology behind DISK, the information will be saved in solid-state, which will allow for increased storage capacity that will grow yearly. As a result DISK will be much cheaper than RAM, but in the same way it will be slower and consume more CPU.
"DISK is in-contract on-chain storage for computational tasks, it is not distributed file storage for media or similar data" - Colin Talks Crypto New "DISK" technology on EOSIO
With the introduction of DISK, the use of RAM, whose purpose is to keep the most frequently used information in such a way that it can be easily and quickly accessed by smart contracts, will be highlighted. So the data that smart contracts do not use frequently will no longer have to be maintained by RAM, at a high cost, but can be moved to DISK, with a reduction in the speed to request information from the database but at the same time lowering the costs to maintain them.
For example, in the case of a game-dApp, information from active players can continue to be kept in RAM, while information from players no longer active can be moved to DISK. If the percentage of active players amounts to 20%, there would be a significant reduction in smart contract maintenance costs.
In conclusion, DISK will not be the solution to network congestion on the EOS mainnet, but it will allow smart contracts and dApps developers to significantly reduce the costs of maintaining their services. This is good to attract dApps back not only to the EOS mainnet, but also to other EOSIO chains.