Skip to content

ethstorage/pm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ead5414 · Jan 27, 2025
Jan 27, 2025
Jun 30, 2024
Jun 28, 2024
Sep 21, 2022
Apr 26, 2024
Sep 13, 2024
Sep 13, 2024
Jan 15, 2025
Oct 26, 2024
Aug 8, 2023
Sep 8, 2024

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