Interstellar Consensus: Filecoin Scalability is Here
作者:James Bluett, Alfonso de la Rocha, Akosh Farkash, Guy Goren, Denis Kolegov, Willes Lau, Henrique Moniz, Matej Pavlovic, Alejandro Ranchal-Pedrosa, Jorge M. Soares, Marko Vukolić
来源:ConsensusLab,Filecoin Network
The Interplanetary Consensus framework (IPC: https://ipc.space/) is the previous Hierarchical Consensus, aimed at addressing two challenges faced by blockchain networks: transaction volume and application heterogeneity. In this process, it enhances the performance of the Filecoin network. After 18 months of development, we are excited to announce that the first public deployment of IPC will take place on the Spacenet testnet .
We invite everyone to watch this two-minute IPC introductory video for a quick understanding. It explains some high-level concepts in just two minutes. Then, you can continue reading!
New Use Cases
The Filecoin Virtual Machine (FVM: https://fvm.filecoin.io/) unlocks user programmability on the Filecoin network. Now, this blockchain can do more than just handle storage deal proposals, storage proofs, and simple transactions. Its EVM compatibility also allows for the rapid deployment of existing Ethereum smart contracts.
Programmability is a significant breakthrough for the Filecoin blockchain. It can now support DeFi solutions, Data DAOs, metaverse games, and more. Imagine how traditional blockchain applications could enhance themselves with native storage capabilities? Or think about increasing data processing capabilities in the ocean of data already built on Filecoin?
These changes will lead to a surge in application activity, but they will also bring challenges. Currently, Filecoin blocks are rarely full, making it suitable for simple transactions—low fees and minimal latency. However, with the increased activity brought by the FVM, applications will compete for block space, raising the cost of running applications on Filecoin. Additionally, not all applications can operate within a 30-second block interval network, as this would introduce noticeable delays.
This is where the IPC framework comes into play. IPC allows end-users and application developers to dynamically launch hierarchical subnets that can execute transactions in parallel, thereby offloading some of the excess load from the root network (Filecoin mainnet) while providing better operational conditions for application demands. Furthermore, the IPC framework leverages the stronger security guarantees provided by the mainnet to facilitate cross-subnet transactions and subnet security mechanisms.
Operational Mechanism of Interplanetary Consensus (IPC)
At its core, IPC is a framework that defines the interaction rules within and between subnets, equipped with a series of smart contracts and client software to integrate such behaviors. Once deployed on the Filecoin mainnet, it will operate entirely in user space, anchored to the root network through a user-defined actor contract.
The basic functionality of the IPC framework involves creating and operating subnets, which are organized in a tree structure. The process of launching a subnet is permissionless, allowing users to decide where to anchor their subnet within the tree structure. Each subnet is associated with a set of independent validators (which operate in separate consensus instances). Subnets submit frequent state checkpoint data to their mainnet network, thereby gaining a certain level of security assurance.
Subnets can be deployed for various reasons. For example, it could be to save transaction fees or to group interactive behaviors under different geographical, topological, and application conditions. The lifecycle of these subnets can be short or long, initiated purely for coordinating computations and revoked once the task is completed.
Subnet consensus is interchangeable and configurable. A subnet can run any consensus algorithm: Proof of Stake (PoS), Proof of Work (PoW), Proof of Storage, classical BFT, etc. Alongside the IPC framework, we are also releasing Trantor, a high-performance BFT consensus algorithm suitable for a range of applications. Users of the IPC framework can implement other consensus algorithms (we will also look for some out-of-the-box alternatives in the future), but many application needs can be easily met by simply changing Trantor's default parameters (such as block frequency).
One of the key features of the IPC framework is its out-of-the-box transparent cross-subnet communication mechanism. But how does it work in practice? The specific interaction methods depend on whether you are a user, developer, or validator. However, at a high level, users interact with the IPC framework locally through the IPC Agent application and some blockchain nodes (each subnet requires one). Local applications are serviced by two smart contracts on-chain, instantiated for each subnet: see the Interplanetary Subnet Actor contract and the Interplanetary Gateway Actor contract.
If you want to learn more about the IPC framework or its components, please refer to our newly released documentation, including the IPC Agent user manual and framework technical overview. Please remember that these software, tools, and documentation are being rolled out gradually, and if you encounter any difficulties, feel free to ask in the Slack or GitHub issue page, and we will provide support as soon as possible, which will also help us improve our work.
Next Steps for the IPC Framework
The current M1 milestone brings the IPC framework to its final step toward production status. This is the first time a long-running IPC testnet is publicly available, allowing users, developers, and storage providers to experiment with subnets and try out other consensus models outside the Filecoin root network. However, this is a test deployment, so please do not use it for applications involving significant value.
In the coming quarters, we will continue to add features and enhance the robustness of the IPC framework. At this moment, our partners at Limechain are working hard to convert our actor contracts into user-defined FEVM Solidity actor contracts, which will be used in our first mainnet deployment. We will regularly update progress, with new features and improvements expected every few weeks.
We are also collaborating with clients who are about to launch applications, especially the Saturn (https://strn.network/) team, to ensure that their use cases for the M2 milestone can be implemented by June 2023. The M2 milestone will bring the IPC framework to the Filecoin mainnet, allowing early users to deploy their production applications. Then, a full release will occur in the third quarter, with relevant developer tools and documentation completed.
In this process, we hope to gather user feedback. If you have use cases for the IPC framework and want to collaborate with us to deploy your application or become a subnet validator, or if you want to continue the conversation with this emerging community, please join the #ipc-help channel in the Filecoin Slack workspace.