Skip to content

Files

Latest commit

 Cannot retrieve latest commit at this time.

History

History
74 lines (52 loc) Β· 3.03 KB
Β·

README.md

File metadata and controls

74 lines (52 loc) Β· 3.03 KB
Β·

What Is An IPVM?

To date, IPFS has been a project focused on data. IPVM is a specification for bringing content-addressed execution to content-addressed data on IPFS. To this end, the IPVM spec aims to be the easiest, fastest, most secure, and open way to run decentralized compute jobs everywhere.

Another way to describe IPVM would be "an open, decentralized, and local-first competitor to AWS Lambda".

The project leverages Wasm, content addressing, SPKI, and object capabilities to liberate computation from depending on specific prenegotiated services like the big cloud providers. Execution should scale flexibly from on-device by default all the way up to edge PoPs and data centers.

πŸ“‹ High-Level Attributes

  • Wasm-on-IPFS
  • Declarative invocation (not an ABI, see section below)
  • Captured results, re-ingested to IPFS
  • A distributed scheduler
    • Single vs cron, local vs remote vs either, etc
  • Matchmaking
    • Poster/acceptor
    • Push-to-remote
  • (Global) memoization table & adaptive optimization
  • Managed effects (via an IPVM runtime)
  • Mobile (ambient) computing, compute-to-data, and data-to-compute
  • "The HTTP of Compute"
  • Stretch: autonomous agents

Implementations

  • Homestar - the core, Rust-based implementation and runtime of IPVM

Interop

πŸ™…β€β™€οΈ Antigoals: What An IPVM Is Not

  • A replacement of IPFS internals β€” that's wasm-ipfs
  • A language for distributed applications
  • A WASI interface
  • A new blockchain

🀹 Separate Projects

  1. Autocodec
  2. wasm-ipfs
  3. IPVM

These are related, but separate. The relatedness comes from the fact that if we have one Wasm engine in IPFS, then the other components can rely on it too.

πŸ‘©β€πŸ’» Get Involved

Presentations

Related Specs

External Resources