IPVM, the InterPlanetary Virtual Machine, aims to be the easiest, fastest, most secure, and open way to run WebAssembly functions anywhere.

Using content-addressed data, public key infrastructure (PKI), and capabilities, IPVM liberates computation from its dependence on pre-negotiated services and paves the way for interoperability.

IPVM is designed to run an open, community standards base of portable compute functions, instead of being locked into any one cloud provider.

IPVM is a network of linked computation: an “HTTP of compute" — open, interoperable, and everywhere: from client browsers to servers.

Why Content-Addressed Data?

Computations are returned as content identifiers (CIDs), which is verifiable data that can be cached anywhere in the network without being tied to one location. Since CIDs can represent large pieces of data, the combination of content addressing and WebAssembly makes for decentralized computation that can run anywhere in the network.

Content-addressed data is application-agnostic. It works equally well with centralized Cloud-based services as well as local-first and trustless architectures. This gives users the freedom to either bring data to compute as we do today, or to flip things around and push IPVM compute functions to large data stores.

Why PKI and Capabilities?

Using Public Key Infrastructure and a capabilities-based authorization spec like UCANs, users can control where the computations are allowed to run and what they can access, while IPVM handles the matchmaking within those parameters. Each compute function has its own set of capabilities, for example, giving it access to encrypted data on behalf of the app or user.

Fission is building the Everywhere Computer

Homestar is Fission's reference implementation of the IPVM standards, written in Rust. The managed network we're going to run is what we call the Everywhere Computer.

You can use the Everywhere Computer and Homestar nodes as a couple of different personas:

  • a node runner: Whether enthusiast or developer, run a Homestar node on your home machine or personal cloud account as we boot up the network
  • a serverless function developer: If you're proficient in Rust, try your hand at writing IPVM functions that compile to Wasm and can be run by anyone in the network. We'll add support for JavaScript, Python, and other languages that compile well to Wasm over time
  • a front end developer: Browse the serverless functions published to the network, design your own workflows, and use them in your frontend applications. Get backend capabilities that run local-first in client browsers while also being able to compute across the network.

Check out the Homestar on Github to dive into the code, as well as the IPVM working group for information on getting involved in the standards process.

We'd love to hear about specific ideas you have for using decentralized computation with IPVM. Join the Fission Discord and introduce yourself!

Joining the Everywhere Computer Public Network Beta

If you'd like to participate in the Homestar-powered public Everywhere Computer network beta, please complete this form.

  • November 2023: If you're in Istanbul for Devconnect or Labweek, come join us at IPFS Connect Istanbul for the first IPVM workshop and demo to join the Everywhere Computer.