Decentralized Storage and Two Ways to Scale Ethereum

Memo Labs
5 min readJul 11, 2022

To address the persistently high Gas fees, Ethereum has been actively looking for scaling solutions. According to the official statement of Ethereum, the essence of scaling is to increase transaction speed and increase transaction throughput per second without sacrificing security. In the end, Ethereum has settled on L2 Rollups and Sharding as the main scaling solutions. The technical principles and current development status of these two solutions are different, L2 Rollups is an off-chain scaling solution that has already been implemented, and Sharding is an on-chain scaling solution that is still in the planning stage.

Solution 1: off-chain scaling solution L2 Rollups , implemented

L2 Rollups is an off-chain scaling solution that uses other types of blockchains that are independent of the Ethereum mainnet, each with its own network and independent transactions and validations, and then packages and uploads the transaction data to the Ethereum mainnet for storage. In fact, L2 Rollups form the second layer of Ethereum’s aggregation network, they scale Ethereum and inherit its security guarantees. L2 Rollups are divided into two categories, namely Optimistic rollups and Zero-knowledge rollups. One uses zero-knowledge proofs to verify the validity of the data, while the other uses “fraud proofs” for validation. Several L2 Rollups are currently live and are helping to relieve some of the congestion on the Ethereum network.

Solution 2: Sharding, an on-chain scaling solution, not implemented

Sharding is an on-chain scaling solution that is currently only in the planning stages and is planned to start running after the merger of the mainnet according to the official plan of Ethereum. The sharding approach is to increase transaction per second (TPS) throughput by dividing the main Ethernet network into six shards, each operating independently in parallel through sub-nodes, and eventually connected together through a Beacon Chain. The availability of the sharded data is guaranteed by random sampling, i.e. each client does not need to download the full amount of data when verifying the sharding block, but only a randomly selected portion of the sharded block to verify that at least 50% of the data is available by RS code. And multiple sampling can guarantee the availability of the sharded data.

With both of the above scaling solutions, their ultimate goal is to improve scalability by increasing the transaction per second.

Currently, the Ethereum mainnet (layer 1) can only process about 15 transactions per second, with a block coming out about every 13 seconds and a baseline space of 15 million Gas for a single block, which can be capped at 30 million Gas for a single block when demand increases. During peak usage, the network becomes congested and transaction fees rise significantly as a result.

Gas fees can be significantly reduced through the scaling solution. It has been measured that through the scaling scheme of Rollups, Ethereum’s TPS can be increased by about tens of times, and the transaction fee of L2 rollups is now much lower than that of the Ethereum mainnet. And if the sharding is implemented on top of Rollups, eventually the TPS of Ethereum can be raised to more than 100000, a data volume far beyond VISA.

However, while the scaling has led to a reduction in Gas fees, it has also led to a significant increase in the volume of transaction data, at which point data storage becomes a problem that must be faced.

It is well known that the Ethereum blockchain is essentially a distributed database, with each block storing mainly transaction data. But Ethereum has no plans to increase the space per block, as this would not only increase latency, but also reduce decentralization.

For L2 rollups , they need to pack hundreds of transaction data into Layer 1 of the Ethereum mainnet for verification, despite generating transactions at Layer 2. Metis is the least expensive L2 project in terms of Gas fees due to its change in data storage structure. The specific strategy is to store the transaction data originally stored to the Ethereum mainnet in the decentralized storage MEMO, while only the most important state root and index data continue to be retained for uploading to the Ethereum mainnet, thus achieving the purpose of compressing data on the Ethereum mainnet while ensuring security. With the development of Rollups, the transaction data generated by many Rollups projects will also be increasing. Apart from Metis, other projects may also consider storing transaction data in a decentralized storage platform like MEMO to further reduce the Gas fee while ensuring data availability.

For sharding, Ethereum was originally designed so that the all nodes had to download all transaction data, whereas the latest plan is for DAS (Data Availability Sampling) to allow nodes to easily and securely verify that all content is available without having to download everything. The Ethereum mainnet is divided into 64 slices, each of which will produce approximately 250KB blocks of data every 12 seconds out of the block cycle, or 16MB of data every 12 seconds, which equates to approximately 1.3MB of data per second, generating a total of approximately 40TB of data per year, which would equate to 80TB over two years.

The 40TB of data per year is clearly more than the carrying capacity of an ordinary node, and the data on the Ethereum chain is currently more than 1TB. While Ethernet 2.0 is not yet launched, the sharding has not yet been implemented, and the performance of L2 rollups will continue to improve, so the data volume will continue to grow rapidly in the future.

Although Ethereum has always adhered to the original intention of decentralization, Ethereum 2.0 will change the consensus mechanism from PoW to PoS, and limit the capacity of each block and the speed of block out, which is all to allow more ordinary nodes to participate in the verification, these nodes do not need much computing power, nor do they need to have a large storage space, because only in this way can the monopoly of the giants be reduced, thus making the protocol more decentralized.

But the amount of data growth after the scaling is clearly at odds with the intention of decentralization, as it is difficult for ordinary nodes to load such a large amount of data storage and only clusters of specialist servers can meet the requirements. If devices with more computing power and more storage space are allowed to act as nodes, this will undoubtedly push the protocol towards more centralization.

As time goes on and the Ethereum ecosystem develops, this contradiction will become more and more apparent. If the decentralization of nodes continues, the lack of capacity of ordinary nodes will be a major problem; if ordinary nodes are upgraded to “specialized” nodes to meet the high capacity requirements, then “decentralization” will be a challenge.

Therefore, the only solution to this problem in the future is to migrate the historical data on the chain elsewhere, and in order to maintain the decentralization, this “elsewhere” cannot be a centralized server room or traditional cloud storage, but only a decentralized storage layer like MEMO.

--

--

Memo Labs

MEMO is a new-gen blockchain decentralized cloud storage protocol. Our mission is to build a reliable storage infrastructure for the Web3 era. www.memolabs.org