Skip to content

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

Description

@const

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions