Skip to content

Integration ZK user scenario #306

@smtmfft

Description

@smtmfft

Describe the feature request

Using V2 api to integrate the ZK use case: client requests zk proof with an extra timeout flag, returns ok status like
{status: "ok", "proof": 0x123456...} or error like {status: "error", error: "sp1 failed / risc0 failed / timeout / etc"}. Here return data structures can inherited from V1 as many as possible to save client efforts.

  • task management
  • SP1 integration
    • Local prover execution seems ready.
      • need performance report.
    • Verification contract?
    • Network API is not usable due to version error.
      thread 'tokio-runtime-worker' panicked at taiko/raiko/provers/sp1/driver/src/lib.rs:35:46:
      Sp1: proving failed: twirp error: TwirpErrorResponse { code: InvalidArgument, msg: "version is invalid, only 'e48c01ec' is supported - use sp1 commit 'e48c01ec' and try again", meta: {"argument": "version"} }
    • Proof-of-equivalence is in raiko, but not in taiko-mono.
    • Need sp1 tier verifier in taiko-mono
  • Risc0 integration
    • Latest bonsai release integration is ok.
    • Groth16 contract verification is updated.
      • Taiko-mono deployment & test
      • Use their verifier router instead of endless catching up with new verifier.
    • Data collection & stress test on Auto-scaling Bonsai.
    • Same problem as SP1: Proof-of-equivalence is in raiko, but not in taiko-mono.
  • ZK tier verification contract:
    • Need a virtual table like contract to adopt both SP1 & RISC0
      • can test risc0 first as tier verifier is presented.
    • sgx_zk tier verifier contract
  • Integration test (ok/err/timeout) #321
  • Hekla adoption.

Spam policy

  • I verify that this issue is NOT SPAM and understand SPAM issues will be closed and reported to GitHub, resulting in ACCOUNT TERMINATION.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions