Skip to content

Add no-std support to poly-commitment crate #1990

@dannywillems

Description

@dannywillems

Summary

Add no_std support to the poly-commitment crate in proof-systems to enable no-std kimchi verifier.

Context

We are working on making the kimchi verifier no_std compatible for embedded and WASM use cases. This requires all dependency crates to support no_std.

Dependency tier: Core cryptographic layer (depends on o1-utils, mina-poseidon, mina-curves, groupmap)

Known blockers

  • rayon usage for parallel MSM - needs feature gate
  • rmp-serde for serialization - needs feature gate
  • serde_with - check no-std compatibility

Requirements

  • Add #![no_std] attribute with conditional std feature
  • Add std and alloc features to Cargo.toml
  • Feature-gate rayon behind std or parallel feature
  • Feature-gate rmp-serde behind std feature
  • Replace any std:: imports with core:: or alloc:: equivalents
  • Ensure IPA/KZG verification works in no-std mode

Dependencies

Requires these crates to have no-std support first:

  • o1-utils
  • groupmap
  • mina-poseidon (already no-std)
  • mina-curves

Tracking

Part of the no-std kimchi initiative. See: o1-labs/proof-systems#3413

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions