Yeah this. Am not an expert on the subject by any means, just trying to start a discussion and hopefully bring more awareness of whats going on in the wider crypto ecosystem to the IC community. There’s a tendency to ignore the rest and think the IC is somehow superior in every aspect. While the IC is underrated in many ways it can be a dangerous mindset to have. There’s many exciting things going on beyond just the IC.
I agree we should definitely keep tabs on going on outside the IC. I find ZK rollups very interesting. What do think are some of the drawbacks using rollups?
Not sure how interoperable dapps built on them are. First of all them may be limited to using the same VM as the L1 they are connected to. And also I dont know how practical it will be for dapps deployed on different rollups to talk to eachother, maybe it’s possible since they should all have access to the same L1 data/blocks.
Just found out L3 is a thing Fractal Scaling: From L2 to L3. It’s layers all the way down | by StarkWare | StarkWare | Medium
Yeah interoperability is an active area of research, altho since different rollups share the layer 1 they actually dont need chain key to communicate to each other as I understood it.
They can use any VM they want btw, some cool ones are indeed starkware, https://zksync.io/ https://risczero.com/ (ZK RISC-V) https://cartesi.io/ (Optimistic rollup RISC-V + Linux)
In the case of ZK rollups they have to use the same VM as the parent layer, because they parent layer has to be able to run the rollups transactions to verify them when needed.
I think you are mixing it up with optimistic rollups, but even there its not required to do all the computations. Only the part they disagree on Inside Arbitrum · Offchain Labs Dev Center
In the case of cartesi its a RISC-V interpreter thats implemented on top of EVM on layer 1. Sounds crazy, but since it only has to run a single instruction it doesnt matter.
Optimism is similar but uses MIPS
- Run that single instruction on the L1 chain. minigeth is compiled to MIPS because it’s easy to write a simple on-chain MIPS interpreter (only 400 lines!).
This is the great debate: who will win? Rollups or high-performance L1s???
The IC can go from monolithic to modular if they switched from the subnet model to every cannister being a blockchain with programmable security requirements. I dislike how the IC prescribes the speed/security tradeoff to developers, not letting themselves choose.
Really the only function of the IC should be to co-ordinate and serve high spec nodes to developers looking to leverage blockchain consensus. As it currently stands the IC prescribes a compute environment to developers, and if their dapp does not function well within the 13~ node subnet environment they are essentially out of luck. There are lots of applications that require more than 13 nodes for security (defi) and likely lots more that require less than 13 nodes (non-critical data). I posted a thread about this but got no replies.
This model also opens up more opportunities for dapps. Consider the idea of an online videogame that could create a single cannister and assign a node count of 1 to serve as the server in an online match (real time videogames cannot process inputs through consensus) that then publishes the results to another cannister of size 10~ that stores historic game data. Something like this is completley infeasible with the IC’s current model.
I think was the original design and we are headed back there. The design was simplified for launch, but we’re getting back to where we could have configurable subnets.
I agree that we need more subnets types, but I don’t think that’d be enough to make the IC a modular chain, consensus and execution would still be IC’s.
What makes you think that? Dfinity mentioned different subnet types in the past months, but never specified how far they want to push this concept.
Sure if modularity means separating consensus from execution, but the reason l1’s are considering that is because they’re designed for such low spec nodes that really can only do consensus. Layering is a technical nightmare and if I understand it right there needs to be 3 different networks, execution, consensus and data i/o. How do you manage the incentives for that? 3 different tokens? I think the ICs simpler solution of having spec requirements for nodes and smart contracts running in an asynchronous environment for horizontal scaling is simply the better design for 99% of projects.
Modularity is a generic term. Loosely speaking for subnets of 1000s of nodes a modular arch with separate data dissemination, consensus on md and parallel execution makes a lot of sense.
The modular architecture is a step in the right direction. For smaller subnets it’s modularity doesn’t mean much.
Also it’s not 3 different network, single network with nodes having multiple roles probably being run as vms/services on the same physical node
I don’t think eth is splitting it’s network nodes into 3 different roles, optimism and arbitrum are ostensibly separate networks that provide execution for rollups posted on eth. That still requires another separate network for data i/o
ETH is the consensus + data layer in ETH2
Eth is not a good example of a modular blockchain arch. Modular blockchain arch is inside out of what Eth and eth2 would like to be.
Checkout Celestia, Aptos, Sui and the underlying paper on Narwhal and Tusk. Summary it’s separating out
- P2P with data availability proofs (narwhal/tusk)
- Parallel Consensus with block metadata (narwhal tusk)
- Parallel async execution (block stm)
- Parallel state certification
Overall this results in natural batching and pipelining and thus high throughput - 160k TPS to 500K TPS. This is all for subnets having representative 4000+ nodes in a network.
My 2 cent, subnets and modular blockchains are non-complimentary approaches to scale. Modular block chain thus isn’t particularly relevant in the IC context. IC story for scale is linear scaling with subnet additions. Modular blockchain won’t scale linearly they will plateau at points
Modular blockchain is about extracting more and more throughput on a single state chain with 1000s of node using old school systems tech
Yeah although, you can have many layer 2s sharing the same layer 1. Not to even mention layer 3s (see starkware). Subnets dont share security so it doesnt feel like a great comparison. Does Cosmos have infinite scaling just because the chains are connected through IBC? I certainly dont think so.
What about when they enable Interchain Security?