Skip to content

ethstorage/pm

Repository files navigation

Wishlist / TODO list

ZK Fraud Proof

Materials

Tasks

Finished

  • Stage 1: zkGo

    • Dry-run zkWASM
    • Stage 1 Publication Preparation
      • Article
      • Better code organization
    • Toolchain for zkWASM go compilation
    • zkWASM node simulator
    • zkWASM adapter
      • Replace floating point opcode to softfloat?
      • Or even better, remove them?
      • Memory size issue: solved by removing cache in client (and be completed moved to server)
        • Reduce memory to 39MB (or no GC 47MB) from ~300MB
      • External Oracle support in WASM (with WASI?) (Qi)
      • tiny-go compiled wasm with target=zkwasm
      • zkWASM emulator with provable state/trace
  • zkWASM optimization (Oct 11 ZK Fraud Proof Meeting)

    • DUP Compact overhead due to wasm generated from goroutine (large etable before zkMain())
    • Indicator eid continuation problem
    • Parallel dump segments
    • DUP(Segment memory dump): Large Memory Occupation: find ot invent an alternative of std::vec to avoid OOM
  • Explore Arb rust interpreter

  • op-program compilation with WASM target [yanlong / po)

  • Golang host communication In WASM (WASI)

  • [zkwASM training (Q1)

  • WASH emulator used in Arb

    • Arbitrum now uses a customized emulator as they use customized WAWM
  • mini-program (like Fib) with host func to input and be verified on zkWASM

    • A program with target=wasm-freestanding is here with libc support (memory)
    • A program with simple scheduler support (Frank) or with fmt.Println()?
    • A program to reuse wasm_input to read public/private inputs for preimage get with integrity check link
  • Find a WASM emulator to replay block transition

  • Explore tiny-go compiled wasm interpreter with go runtime with geth compiled op-program

    • Implement a fully-functional interpreter on existing go implementation (e.g., https://github.com/mattn/gowasmer/blob/matn/gowasmer.go)
    • Implement an interpreter with hostio (POSIX style)
    • Replay a simple program with I0 (read/write/open/close with similar IO size as op-program) compiled with geth
  • Explore tiny-go compiled op-program

    • Issue of compilatlon e.g., missing crypto library in tiny-go (or more libraries)? (code)
    • Any issue of zkWASM running tiny-go compiled code, e.g., all syscalls/hostio to virtual functions? A: Expose 3-5 external functions
    • Need to confirm the time and efforts with sinka on compilation and zkWASM support (Qi)
    • Replay the tiny-go compiled op-program in any emulator (emulator can be node+wasm_exec.js, target=wasm/wasi)
      • Replay op-program native binary
      • Check memory size usage
      • Check # instructions using Cannon example command line
      • Replace hint/preimage IO with external functions (Qi)

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published