IPC is a protocol that enables scalable, hierarchical blockchain networks through the creation of interoperable subnets under a parent chain. It aims to enhance the scalability, decentralization, and security of decentralized applications (dApps).
Key Features:
- Horizontal Scalability: IPC achieves scalability by spawning new subnets, which can operate independently but communicate seamlessly within a hierarchical structure. This reduces the need for cross-chain bridges and allows dynamic throughput adjustments by creating or closing subnets as needed.
- Custom Consensus Algorithms: Each subnet can run its own consensus algorithm, tailored to specific application requirements, while inheriting security from the parent chain.
- Interoperability: Subnets can interact with each other and the parent chain efficiently, ensuring smooth asset and data transfers across different chains.
Technical Components:
- Parent Chain: Provides the foundational security and coordination for all subnets.
- Subnets: Independent blockchains under the parent chain, capable of customized consensus and operations.
- Cross-Chain Communication: Protocols for secure message and transaction relay between parent and child subnets.
- State Channels: Used for off-chain transactions to enhance throughput and reduce main chain load.
Use Cases:
- Scalable dApps: Distribute workloads across multiple subnets to enhance performance and scalability.
- Cross-Chain Asset Transfers: Enable seamless asset movement across blockchain networks.
- Custom Blockchains: Deploy blockchains with specific configurations while remaining part of a larger network.
Security:
- Fraud Proofs and Challenge Periods: Mechanisms to detect and handle malicious behavior.
- Periodic Commitments: Regular state commitments to the parent chain to ensure consistency and security.
- the consensus algorithms used by IPC is compatible with the sidechain’s existing framework or not?
- the complexity of using IPC
- can we use IPC for an l2 on ethereum
- Finality Delays
https://docs.ipc.space/concepts/subnets
https://docs.ipc.space/concepts/circulating-supply
https://docs.ipc.space/overview/architecture
https://docs.ipc.space/overview/how-ipc-compares
1. What does horizontal scalability meaning within the context of spawning new subnets? And what are the pros and cons of this?
Horizontal scalability refers to the ability to increase the system's capacity by adding more nodes or subnets. In the context of IPC (Inter-Planetary Consensus), spawning new subnets means creating additional independent sub-networks that can handle separate tasks or workloads.
| Pros | Cons |
|---|---|
| Higher TPS: more subnets can process more transaction concurrently or in parallel | Complexity: Managing multiple subnets increases the complexity of the system. |
| Fault Isolation: Fault in one subnet doesn’t affect other | Inter-subnet Communication: Efficiently coordinating and communicating between subnets is challenging. |
| Different subnet can perform different tasks | Resource Allocation: Distributing resources fairly and efficiently across subnets requires complicated algorithms. |
Subnets begin with a chosen "rootnet". Rootnets refer to a layer 1 blockchain, such as Filecoin or Ethereum. Child subnets are spawned from the rootnet and the rootnet becomes the parent subnet.
Each subnet can have any number of child subnets, while each child subnet only has one parent subnet. Subnets can scale infinitely, to layer 2 and beyond. A single hierarchy tree begins at the chosen rootnet.
Subnets within a single hierarchy tree have native communication protocols and are able to transfer assets and state without a custom bridge.
2. In addition to the question above, what does operate across multipe sub-nets mean and what are examples of ways we could use this?
Operating across multiple subnets means that a single application or protocol can utilize several subnets for different parts of its operations. For example:
Examples of Usage:
- Distributed AI/ML Training: Different subnets can handle different parts of the training process, such as data preprocessing, model training, and evaluation.
- DeFi can be operated on different subnets to reduce congestion and improve performance.
3. I was under the impression that IPC has it’s base consensus algorithm and we’re able to use that or create our own one. Is this accurate?
Yes, IPC uses Tendermint Core as a generic blockchain SMR* system, without defaulting to the Cosmos SDK (written in Go). This allows IPC to plug in our own application logic regardless of what language it’s written in: it can be Go, Rust, Java, Haskell, Scheme, etc.
*State Machine Replication (SMR) is a general method for implementing a fault-tolerant service by replicating servers and coordinating client interactions with server replicas.
I’m unsure if Ethereum can act as parent chain since it does not have IPC implemented however a sidechain with IPC “might” be able to do this. Filecoin already has this suport and can be used
In summary IPC is designed to act as a Layer 1 Consensus, that doesn’t have to worry much about performance, except the service it is providing for e.g. storage in filecoin network
WAN means network covering distances across the world, this means it has high-latency
Load Reduction:
- Offloading Tasks: By processing tasks on subnets rather than the main chain, IPC reduces the transaction load and data throughput required on the main chain.
- Parallel Processing: Multiple subnets can handle tasks simultaneously, distributing the computational load.
Yes and no. Theoretically, yes if you are starting from scratch, since it’s highly customisable, but it does have a steeper learning-curve, but I already some understanding for plasma so it’s easier for me.
7. How easy is it to build a EVM community on top of IPC? Is it easy for people to deploy dapps and protocols built on OP / Orbit on IPC?
Unknown, need more explanation
A subnet is a new subsystem that a “user” can spawn from a parent subnet in a permissionless and on-demand way, depending on scalability requirements. Subnets have separate consensus algorithms and cryptoeconomic rules from their parent subnet. Subnets are firewalled from the parent network.
User can be the operator of rootnet or completely independent entity, or It does on happen programmatically an external actor has to execute it.