WebAssembly / WebAssembly/WASI

Idea: Content-Addressed Interface Verification for WASI (Hybrid Named/Anonymous Model)

Open
#916 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
5.8k
Forks
333
Avg merge
2d 13h
Merged PRs (30d)
3

Description

Hi WASI community,

I'm sharing a research-level proposal exploring content-addressed verification as an opt-in extension to the current WASI interface model.

Disclaimer: This is a conceptual exploration. I do not have resources to implement, maintain, or champion this proposal. However, I still think that the idea is interesting enough and worth sharing.

🔍 Core Idea
  • Problem: Current WASI relies on named interfaces + central registries, causing naming fatigue, version drift, offline deployment friction, and complex dependency graphs.
  • Propsed Solution: Opt-in content-addressed verification using structural hashes alongside existing names. Introduces @anonymous interfaces for ephemeral/CLI contracts and a configurable wit-sources.toml fetch model (git/maven/file/nexus) for offline/enterprise use.
  • Key Mechanism: @version(hash=...) + @available(version=...) enable deterministic runtime projection and instant drift detection. Hash mismatches flag forks/vendor modifications before deployment.
  • Scope: Looks like backwards compatible. Canonicalization v1 intentionally limited to avoid ABI risks. Missing @available = member exists in all versions. Hashes verify integrity, not authenticity.
  • Open Questions: Formal canonicalization rules for complex types? Transitive dependency resolution strategy? Feasibility as a wasm-tools extension? Community interest level?

interface-publishing-improvement.md

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the linked interface-publishing-improvement.md proposal and the current WASI interface model; the issue does not identify repository files or tests. Assess the open questions around canonicalization, transitive dependencies, and wasm-tools feasibility, then document whether the opt-in model has a defined path forward.

Written by the indexing model from the issue text.

Assessment

Tech stack
wasm
Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.