Blockchain as we know has been the buzz word for quite some time now. Blockchain is based on the concept of distributed ledger.
As compared to a centralized database where the data is stored in a central server and has access restrictions, the Blockchain network is a decentralized data store that makes data available to all the parties in the network.
As depicted in the picture above, the traditional database model relies on a central server (or a cluster of servers) to store and retrieve the data.
Also, the access is controlled to a select few who have full access to the database (DB Admins). In a Distributed ledger system, the data is replicated among all the participants in the network and there is no access control on the data availability and accessibility.
In the case of a central server, there is potentially a single point of failure, whereas in the case of a Distributed System, the data is available on the other nodes even if 1 node goes down.
The first implementation of the distributed ledger was done by Satoshi Nakomoto in 2009 through Bitcoin, which also happens to be the first crypto currency to be based on DLT.
Ever since there has been a boom in the number of cryptocurrencies that have sprung up.
To answer this question, let’s take a look at the characteristics or the features that Blockchain promises and delivers.
Blockchain allows everyone on the network to view every transaction that happens thereby providing transparency and immutability among other advantages.
The fundamental building block in a blockchain network are the blocks that are chained together.
What does this block contain? Simply put, Blocks are a collection of transaction that happen over a particular time window.
All such transactions are grouped together, and a block is created after the time elapses.
A transaction is an exchange of asset or information between 2 or more participants and this is usually accompanied by a state change in the blockchain data tracked using a blockchain.
Storage space was probably not one of the focus of early blockchain miners or for people who were running full node.
The priority was the speed of transaction processing and incentivisation which focussed more on the processing power to compute the block hash.
With the growing trend of the blockchain network, it has become inevitable and everyone is looking at the growing storage requirements and ways to tackle the same.
Lets look at the top 2 Crypto blockchains (Bitcoin and Ethereum) to see how their journey has influenced storage.
Ever since the first block was created in 2009, the size of the Bitcoin blockchain has been growing. As per statistics, the current total size of the bitcoin blockchain stands at close to 200 Gigabytes (GB).
Below is a representation of the growth in the years of Bitcoin existence:
Though Ethereum blockchain started much later in 2015 than Bitcoin, the growth has been exponential.
In an Ethereum blockchain, to validate transactions, the entire blocks (from the genesis block) needs to be downloaded.
The current size of the Ethereum blockchain (full node) is at 185 Gigabytes (GB). There is another type of node called the “Archive node” that is much more than the “Full node”.
The Archive node stores all of the intermediary and historical states of each block. The size of the archival node of an Ethereum blockchain is said to be more than 1TB.
Consider that a user wants to run a full Ethereum node. Some of the considerations are:
Storage space cannot be an independent parameter anymore in the context of blockchain.
With the growing demand for the blockchain technology and the adoption, storage space and the deployment options would need to be carefully thought and factored into the solutioning.
It is interesting to see several solutions being worked upon to address the growing storage requirement of blockchain.
It remains to be seen as to which solution will get the maximum consensus and how the implementation will further shape the blockchain networks and forks.
By Uma Raj
By Uma Raj
By Abishek Balakumar
Karthik Rangamani has over 21 years of experience having worked extensively in the Data Storage domain. He has worked for companies like Legato, EMC (now DELL-EMC), Hewlett-Packard, Commvault. He has tremendous experience and expertise in Blockchain, Karthik is responsible for growing the Blockchain practice at Indium Software. He is a certified Project Management Professional from PMI, Certified Storage Professional from SNIA. He has delivered talks in Technical forums conducted by SNIA.