You’ve heard of the blockchain trilemma describing the challenge of simultaneously achieving three critical objectives in designing a crypto network: security, decentralization, and scalability. As the rule goes, achieving all three at once is extremely difficult, with most blockchains forced to prioritize two at the expense of the third.
But are you au fait with the blockchain storage trilemma? If you’re not, that’s okay – most people aren’t, outside of projects tasked with developing web3 storage solutions. But it’s a useful rubric to know since it will grant you a greater appreciation of the challenges web3 developers face and an insight into the advances being made in addressing this lesser known blockchain trilemma.
It goes like this: decentralized storage needs to be scalable, smart contract native, and offer random access. And yes, it’s extremely hard to achieve all three simultaneously – but not impossible. Let’s take a closer look at how this works and why it matters in the design of blockchain storage solutions.
Achieving the Impossible
Blockchains aren’t the only systems whose designers must make compromises. However, the need for blockchain systems to score highly for certain characteristics, coupled with the intense competition between different web3 protocols for market share, places these trade-offs center stage. You might not know the design compromises that dictated the engineering of the Golden Gate Bridge or the Burj Khalifa, but you can instantly list the reasons why Ethereum is more decentralized than Tezos or why Solana is able to achieve greater throughput than Solana.
As for blockchain storage, while an engineering-level knowledge of how it all fits together is not required, there’s value in understanding the core principles underpinning its architecture. As the number of dapps increases and the data demands made by each increases exponentially, decentralized storage is going to become more critical than ever. Web3 requires access to dedicated storage that enables L1s and L2s to host dapps without causing main chain bloat.
The question is, can the blockchain scalability trilemma be satisfactorily solved. Or, like other famous blockchain scalability trilemmas, is a partial 2/3 solution the best we can expect?
Tackling the Toughest Trilemma
The three cores comprising the storage trilemma can be broken down as follows:
Scalability: In the context of storage this means being able to support unlimited storage – or at the very least exabytes’ worth, which is essentially the same thing given that we’re currently in the era of gigabyte decentralized storage. In the near future, the data demands of dapps is going to skyrocket due to use cases such as AI and thus future-proofed web3 solutions must be able to deliver data by the bucketload – or exabyte load to be precise.
Smart contract native: It’s one thing to make data available on decentralized file storage networks. It’s another to make it directly integrated into smart contract blockchains such as Ethereum and Solana so that it can be accessed by native dapps in real-time. Native storage is faster to query since it’s optimized for the network it’s being accessed on. This requirement is particularly critical for handling complex dapps that consume vast amounts of data and use it to generate outputs as smart contracts.
Random access: When data is assigned to a network of decentralized nodes, it isn’t being placed in an archival vault: it’s meant to be live and queryable at a moment’s notice. For this to occur, data needs to be efficiently stored to support dynamic interactions by dapps requiring real-time data and analytics. File-level access isn’t enough: web3 storage needs to provide random access just like a regular computer hard drive.
The State of Storage Today
Extant web3 storage solutions such as IPFS and Arweave score well for decentralization and security – important qualities that all blockchain infrastructure should be optimized for – but don’t fare so well when ranked for scalability, smart contract nativeness, or random access. The majority of incumbent decentralized storage solutions designed to hold files or archives – i.e. objects – which makes querying them hard. They also become expensive to use once storage moves past gigabytes and into terabytes or even exabytes.So what’s the solution? There’s no single solution that will handle the data needs of all dapps in the near future, and nor should there be. Decentralization, after all, extends to having a diverse choice of operators to ensure redundancy. The storage layers that meet the needs of the next wave of decentralized applications will in most cases be designed for specific blockchain networks and languages, enabling them to be natively integrated into smart contracts and scalable through massively enhancing the main chain’s storage capacity while working within the constraints of its architecture.
The closest thing we currently have to a storage solution that scores well across all three pillars of the storage trilemma is probably Xandeum, the Solana project that’s designed to host virtually unlimited amounts of data with direct integration with Solana smart contracts. Data can also be quickly queried, supporting random access. The analogies that have been drawn between Solana as a home computer and Xandeum as the hard drive that completes its specification are well founded.
But blockchain is bigger than Solana and for other L1 chains, achieving this level of data storage calls for dedicated solutions that have been optimized for the programming language inherent to the network in question such as Solidity or Rust. This is the only way to implement storage that enhances decentralized applications while providing blockchain networks with the capacity to scale. For EVM networks, this may be achieved through implementations built on existing services such as Arweave that enhance their capabilities, particularly in terms of speed (random access) and being smart contract native.
Blockchain trilemmas are notoriously difficult to solve. But the rewards for doing so make the toil worthwhile. If developers can master decentralized storage, the upside – like the capacity itself – is uncapped.
Disclaimer: This article is provided for informational purposes only. It is not offered or intended to be used as legal, tax, investment, financial, or other advice.