We're making progress on IPVM! Learn more about our project to bring open and decentralized compute to IPFS.
What is IPVM?
IPFS, or the InterPlanetary File System, is a protocol and P2P file-sharing network that leverages content addressing for file identification and verification. IPVM, or the InterPlanetary Virtual Machine, is Fission's effort to bring computation to IPFS using Wasm, SPKI, and object capabilities. Furthermore, IPVM liberates computation from its dependence on prenegotiated services and paves the way for interoperability.
How Does IPVM Work?
Fission's Co-Founder and CTO, Brooklyn Zelenka, gave an introductory presentation at IPFS Thing 2022. She explained how content-addressed data yields hashes, known as CIDs. When computation runs over these CIDs, new CIDs are output. This means we can compute over that data without needing a centralized server. And when combined with WebAssembly (Wasm), mobile compute even becomes possible.
And that's not all. The IPVM structure paves the way for several exciting features, such as memoization and adaptive/hot spot optimization, allowing us to work more efficiently.
How Does it Differ from Other Decentralized Compute Options?
Unlike other VMs, consensus is not required because no two machines running IPVM have to know that the other exists, which tasks they're running, or what the results were. IPVM lets the knowledge of the result of a computation propagate just to the other machines that ask for the results directly (unlike a blockchain where everyone is entirely up to date on all of the data).
- Extends IPFS with computation
- Runs anywhere, including the edge, locally, and in the browser
- No consensus required
- Its primary use case is running Wasm and enabling interoperable services
FVM - Filecoin Virtual Machine
- Runs computations for Filecoin
- It’s blockchain-based and runs to consensus
- Its primary use case is smart contracts and bringing user programmability to Filecoin
- Serverless platform and computing marketplace
- It's blockchain-based
- Runs in-browser
- Off-chain compute with on-chain validation
- It's not designed for large-scale data persistence
- Its primary use is for data caching, indexing, processing, and querying
- Compute over Data using Docker containers and Wasm images as tasks
- It's main use case is running compute over large datasets by sending most jobs to providers across the network
- Can't run in-browser
What is IPVM's Current Status?
Since IPFS Thing 2022, Fission has been hard at work making IPVM a reality. In October of last year, we updated the spec's README.
In Q1, we focused on research and design and began to develop an MVP. Named Homestar, this open-source implementation of IPVM (and an IPVM runtime) is geared toward Wasm execution in Rust and the browser. In February, we also held a three-day in-person IPVM workshop for our working group collaborators.
Entering Q2, we're working on discovery, first-class effects, and finalizing spec-level interop with several providers. We're also spreading awareness about IPVM at conferences like IPFS Thing, Causal Islands, and CoD Summit^3.
Fission Talks at IPFS Thing 2023 + Causal Islands
Speaking of conferences, Brooklyn presented IPVM: Content Addressed Compute for an Open World as part of the Decentralized Compute and AI track at IPFS Thing 2023 and Seamless Services for an Open World at Causal Islands (Fission's first-ever conference!).
Seamless Services for an Open World (Recording coming soon!)
The advent of TCP/IP and the web produced an explosion of innovation by radically lowering the barrier to entry to connect over the network. Thanks to new technical and social innovations, we now have the building blocks for the next generation of open services: location-free verifiable data and computation.
Verifiable computation opens the door to content-addressed function invocations, results, and workflows. This radically lowers the complexity of historical architectures (e.g. the LAMP stack), networked, and distributed systems. Not only is this easier to reason about, but it also (paradoxically) enables superlinear scaling: the more it gets used, the more efficient it becomes!
This talk presents UCAN Invocations and the Interplanetary VM (IPVM). Code in this model can run anywhere (even offline), respects data privacy, and services interoperate seamlessly out of the box without pre-negotiation. Since computation doesn't happen in a vacuum, we will also describe how the workflow planner interacts with existing services and how to lift them into this seamless paradigm.
Zeeshan Lakhani also presented on Homestar at IPFS Thing.
Brooklyn and Zeeshan will present at CoD Summit^3 as well, with more details to come.
If you are attending these conferences, we look forward to hearing your ideas and feedback on IPVM! Can't make it? Don't worry - the talks will be recorded and shared here on the blog. You can also participate in IPVMs development by joining the IPVM working group. We host monthly community calls!