I love modular blockchains because it breaks out of the blockchain trilemma (speed, security & decentralization)
There are 3 ways to achieve modularity from my view.
1. Writing code modules that enable developers to spin up chains with a select your own consensus feeling.
2. Layers that each independently operate as a blockchain themselves with changes that could help them preform their module better. (The pattern discussed in this thread.
3. Nodes each with a specified role to perform. (This is how
@flow_blockchain works. )
I’ll zoom in on approach 2 and 3 here.
With approach 2:
➕many blockchains can attempt a diverse set of solutions at the same time.
➖each blockchain likely requires its own token to secure it
➖ it pushes complexities on to the developer and user to work across and understand the risks of each blockchain
➖ the full stack is only as secure as its weakest token or chain
With approach 3:
➕simplified developer experience using a single blockchain to build their app
➕simplified user experience enabling for them to no longer worry which DA layer is used for app A or execution layer for app B
➕single token and blockchain to secure
➖ puts a lot on the protocol developers to create this holistic platform aligning on the best decisions and directions for the community
IMO approach 2 is another solution that leads to sharding. Sharding state, networks or users while makes it easier on protocol engineers, pushes risks and complexities to developers and users. This is why the initial proposal for a sharded blockchain scaling pattern is something Ethereum moved away from years ago. This feels like that same discussion to me.
#onFlow we use option 3 with our multi-node architecture.
Consensus nodes provide sequencing and settlement.
Execution nodes provide execution.
Collection nodes serve as the data availability.
I believe modular blockchains are the way to scale and using node to achieve this are the way to make it usable for developer and users. 🌊
Attaching a gif that shows Flow in action.
uploads-ssl.webflow.com/5f73…