M and Ms and everything else in the pack.
Noobs defi series 3 - Infrastructures. |Monolithic, Modular chains and everything caught in between.
Native blockchains by their design, are monolithic. Monolithic blockchains are “do_all” blockchains. These sort of blockchains compress their *execution layers, *consensus layers and *data availability layers into the same network. This makes for a scarcity of *blockspace leading to congestions (and as a result, low *throughput) and high transaction fees whenever the blockchain comes under high usage. This means, that monolithic blockchains can scarcely *scale without tradeoffs. (This concept has been described as “the blockchain trilemma”).
The blockchain trilemma;
The blockchain trilemma describes the inherent inability of blockchains to achieve all 3 data points of Decentralization, security and scalability. At some point, one has to be sacrificed for the other. For instance, chains with high level of security (validators) have a low throughput compared to those without. This is so because transactions waiting to be validated have to be broadcasted to all validating nodes. The logic is pretty simple; as in real life situations, the more ‘checking points’ an item has, the longer it takes before it gets to the user.
We can make a comparison of solana vs Eth. Etheruem has a higher number of validators (the higher the number of validators, the more decentralised a network get, and the more expensive it gets to perform a 51% attack on the network) but a lesser throughput than solana. Etheruem does sacrifices scalability in an attempt to be more secure. Solana on the other hand, boasts a 4k TPS throughput, but has far lesser validators, and is thus more centralised.
“The blockchain is the future of finance”- twitter anons.
However, the blockchain in it's current state falls short of fulfilling this future. For this future to be actualized, there is the need for blockchain architectures that can scale without sacrificing security/decentralisation. Enter the solution; modular chains.
Modular chains;
These are (in contrast to monolithic chains) chains, blockchains that have seperate but interconnected layers for data availability, consensus, execution, settlement and execution.
A modular blockchain's infrastructure mirrors the economic concept of division of labour; If workers do different but interrelated tasks, the entire job would be done sooner, more efficiently and with fewer drawbacks. If each layer of the blockchain were assigned a task, then the entire blockchain can function more efficiently without having to sacrifice any one of security/decentralisation in an effort to scale. Modular chains are by their nature, a type of blockchain referred to as layer zero. A layer zero chain is a type of chain upon which another chain can be built. Modular chains make room for the development of appchains.
Appchains;
These are “application specific blockchains”. Unlike “general” blockchains, appchains are built for specific operations and for a singular application. Appchains mirror the economic concept of specialization; If a worker focuses on a particular task suited to his person, his productivity and work efficency increases. Similarly, if we have a blockchain dedicated to a particular/specific application it would allow for much more a higher throughput, and overall efficiency.
However, spinning up new chains would traditionally require building security layers for each one. This would be cumbersome and expensive. Thankfully, the case is different with modular chains as most operate a shared security model.
Shared Security Model;
This is basically a security model where all (or some) of the chains built on a modular stack shares the same security layer.
If any of all of these sounds ‘complex’ to you, imagine the modular chain as a confederation (as in the case of NATO), and the appchains built on the modular stack as the separate independent countries within NATO.
One could liken the shared security model of modular chains to the collective security principle of NATO. A member country (an appchain) could ‘borrow security’ from NATO (the modular stack) to defend itself (secure it’s chain) much like in the case of the Ukraine-Russia war.
Sidenotes;
*Scaling refers to the ability of a blockchain to handle increasing number of transactions. A blockchain that can continuously ‘expand’ it's handling of transactions as they grow without going off the rails (shutting down or becoming expensive to use) is a blockchain that has and can scale.
*Throughput basically refers to how fast a blockchain can process transactions/how many transactions it can process within a time period. The throughput of blockchains is measured in ‘per second’ terms. It is effectively the transactions that a chain can process per second.
*Data availability in the simplest of terms refers to the ‘availability’ of transaction data to network participants. You see, transactions on the blockchain are stored in blocks that are linked together (hence the name block-chain). These blocks contain data. These data are mostly transactions processed on the same network. The ability of a network participant to access this data when they need it is what is described as data availability. An absence of this data to some or all of the network participants threatens the security of the network. It is quite simple really; if A does a thing and does not tell me, how do I know he has done it ? How do I get to verify A has actually done this thing. Similarly, if A network participant performs a transaction and this transaction data is not broadcasted to the rest of the network participants (especially the validating nodes), how do they know and verify what has been done ? The implication here is; to every other network participant except A, this transaction was never performed. It simply doesn't exist.
Blockspace; recall what was just said about transactions being stored in blocks ? A blockspace (or a block as both are used interchangeably) is basically where these transactions are stored. [It’s a block with a space.. you gerrit ?]
Consensus; this is how miners/validators reach an ‘agreement’ on the truthfulness/correctness of a transactions before it is added to a block [in the space in the block.. you get this now, eh ?]. If these miners/validators fail to reach an agreement on a particular transaction, it is rejected as untrue. The consensus layers of the blockchain is responsible for agreeing upon/validating and adding transactions to the blocks in the blockchain..
Execution; this as the name implies is the layer concerned with processing transactions.
Thanks for reading this far anon. Enjoy the rest of your week.
What an amazing article. I love the way you made it so simple man. I clearly understood every single thing you wrote here. Thanks man.