Sharding is one approach that can help improve scalability. With sharding, the network is divided into “shards”, where each shard maintains its own state and transaction history. This allows the network to parallelize operations and validate/process transactions across shards simultaneously. This increases overall transaction throughput without needing consensus from the entire network. The challenge with sharding is ensuring security – validators need to properly assign transactions to shards and not allow double spends across shards. Some blockchain projects researching sharding include Ethereum and Zilliqa.
Another approach is state channels, which move transactions off the main blockchain and into separate side/private channels. In a state channel, participants can transact an unlimited number of times by digitally signing transactions without waiting for blockchain confirmations. Only the final state needs to be committed back to the main blockchain. Examples include the Lightning Network for Bitcoin and Raiden Network for Ethereum. State channels increase scalability by allowing a very large number of transactions to happen without bloating the blockchain. It requires an active online presence of participants and the side-channels themselves need to be trustless.
Improving blockchain consensus algorithms can also help with scalability. Projects are exploring variants of proof-of-work and proof-of-stake that allow for faster block times and higher throughputs. For example, proof-of-stake blockchains like Casper FFG and Tendermint have much faster block times (a few seconds) compared to Bitcoin’s 10 minutes. Other consensus optimizations include GHOST protocol which enables blocks to build off multiple parent blocks simultaneously. Projects also experiment with combining PoW and PoS like in the Ouroboros protocol to get the best of both worlds. The goal is to arrive at a distributed consensus that scales to thousands or millions of transactions per second.
Blockchain networks can also adopt a multi-layer architecture where different layers are optimized for different purposes. For example, having a large “datacenter layer” run by professional validators to handle the majority of transactions at scale. Then an additional decentralized “peer-to-peer layer” run by average users/miners to maintain resilience and censorship-resistance. The two layers communicate through secure API’s. Projects exploring this approach include Polkadot, Cosmos and Ethereum 2.0. The high-throughput datacenter layer handles scaling while the bottom decentralized layer preserves key blockchain properties.
Pruning old or unnecessary data from the blockchain state can reduce the resource requirements for running a node. For example, pruning transaction outputs after they expire through coins spent, contracts terminated etc. Essentially keeping only the critical state data required to validate new blocks. Projects utilize various state pruning techniques – CasperCBC uses light client synchronization, Ethereum plans to store only block headers after several years. Pruning optimizes the ever-growing resource needs as the blockchain size increases over time.
Blockchain protocols can also leverage off-chain solutions entirely by moving most transaction data and computation off the chain. Only settlement and uniqueness is recorded on-chain. Examples include zero-knowledge rollups (ZK Rollups) which batch validate transactions using zero-knowledge proofs, and optimistic rollups which temporarily store transactions off-chain allowing faster confirmations assuming no malicious actors. Projects pursuing rollups include Polygon, Arbitrum and Optimism for Ethereum. Rollups drastically improve throughput and reduce costs by handling the majority of transactions outside the blockchain itself.
There are many technical solutions being actively researched and implemented to address scalability issues in blockchain networks. These include sharding, state channels, improved consensus, multi-layer architectures, pruning, and various off-chain scaling techniques. Most major projects are applying a combination of these approaches tailored to their use cases and communities. Overall the goal is to make blockchains operate at scales suitable for widespread real-world adoption through parallelization, optimizations and moving workload off-chain where possible without compromising on security or decentralization.