<aside> đź“Ź The goal of this document is to explain the basics of modular architecture, the current state of progress in this space (including specific companies/projects), and how we might approach investing here.
</aside>
The best way to understand modular architecture is to take a walk down memory lane to the advent of micro-services. Once upon a time when architecting a system, the traditional way to design it was to create a monolithic back-end service that powered everything. And while there certainly were advantages (simpler architecture, less operational overhead, unified code base, etc), as these systems scaled, people began to realize some disadvantages:
Micro-services solved this by promoting a design where smaller services were created to handle very specific functionality and have the ability to communiciate with one another. As a result, teams could optimize for the usage of their specific service(s) + move quickly.
Modular architecture is the “micro-services” evolution in blockchain land. Instead of a single monolithic chain like ETH or SOL being responsible for all capabilities that a blockchain must do, modular architecture design splits that functionality across different components — which allows each to better optimize and innovate.
Before we get into the particulars of how modular architecture works, it’s important to understand the four primary thing a blockchain needs to be able to do to function:
Monolithic blockchains accomplish all four of these in the same system, which makes it difficult to optimize for any one thing without sacrificing something else.
As seen in the classic “blockchain trilemma” diagram on the right/below, want to have decentralized security? Settle for a slow chain. Want to create a fast TPS chain with high security? Decentralization goes out the window.
Modular architecture breaks out these functions into separate building blocks, and empower builders to “plug and play” the components that best suit their use case. A good example are roll-ups, which aggregate (or “roll up”) multiple transactions on a L2 (Layer 2) and then settle that batch of transactions in a single transaction on a L1 chain (e.g. ETH). Rollups provide faster and cheaper transactions for users by moving execution function off-chain, while maintaining the same level of security by keeping the consensus or settlement function on-chain via the L1.