Consensus poses a major scalability bottleneck in blockchain networks. This is particularly the case when all validators are required to process all transactions, as is the case for Filecoin, which renders the network unable to increase its performance by adding more participants (scale-out).
Moreover, not every application benefits from using the same consensus algorithm: different applications may have different performance and security requirements, making it difficult for a single blockchain network with a single consensus layer to accommodate any type of web3 application.
Interplanetary Consensus (IPC) is a framework to enable on-demand horizontal scalability of Filecoin by deploying subnets (self-governing chains) that spawn their own state, validate messages in parallel, and seamlessly interact with any network in the hierarchy, as well as with the Filecoin root network. Subnets can run different consensus algorithms, depending on application requirements.
IPC is complementary to the programmability introduced by FVM: it provides a framework to further program the Filecoin network, accommodating a variety of use cases while overcoming potential consensus bottlenecks, to load balance decentralised applications by spawning new blockchain substrates on-demand, and to tailor the system to better fit application needs.
Unlike traditional sharding designs, based on the explicit partitioning of the network’s state, our solution centres on the concept of subnets that can be spawned on-demand to manage new state. Subnets are organised in a hierarchy, in which parent subnets are firewalled from child subnets, have their own policies, and run a different consensus algorithm, increasing the network’s capacity and enabling new applications. Subnets leverage the security of parent subnets by periodically checkpointing state and include mechanisms to interact with other subnets in the system. IPC subnets can be configured to resemble different L2 platforms: from an optimistic or ZK-rollup, to a side-chain with a native communication bridge.
Fendermint is an effort to implement IPC with Tendermint. It combines FVM, IPLD, and CometBFT to provide a robust subnet node implementation, which retains compatibility with the Ethereum API and with the IPC actors.
Mir is a framework for implementing, debugging, and analyzing distributed protocols. We use Mir to implement Trantor, a state machine replication system that establishes a total order of client requests with typical liveness and safety properties. Trantor achieves scalability without requiring a primary node to periodically decide on the protocol configuration. It multiplexes multiple instances of a leader-driven consensus protocol which operate concurrently and almost independently.
Spawn ephemeral subnets to run distributed computation jobs.
Assemble into smaller subnets for decentralised orchestration. Coordinate resources with high throughput and low fees.
Leverage proximity to improve performance. Operate at very low latency in geographically constrained settings.
Deploy blockchain substrates in mobile settings or environments with limited connectivity.
Subnet latency
Subnet TPS
Subnets
Spacenet launches as a long-running testnet with Mir and Trantor as its beating heart. Users can issue transactions and leverage the higher-frequency BFT consensus.
Subnets support is added to Spacenet. Developers can now use Spacenet to test applications with custom requirements or with high transaction volume.
Solidity actors enable alpha subnet support on Filecoin, with basic wallet support, smart contract deployment, and tooling for subnet operations. Mind the dragons, though: the protocol and code haven't been audited and shouldn't be used with any significant value.
IPC switches over to the Fendermint node implementation. The IPC actors are audited and safe. The base cryptoeconomic model is designed and implemented, alongside slashing and fraud proofs. Experienced users can confidently deploy and use IPC subnets in production but the UX will not support mass adoption.
Improved tooling and convenience services provided by ecosystem partners allow for easy deployment and interaction with subnets. SDKs are provided for builders wanting to deploy applications and manage subnets.
Continued improvements will include support for custom consensus mechanisms, cross-network atomic transactions, and IPC-native wallets. Tooling continues to be improved, and new features are implemented based on user feedback.