# EPF - Update 7 ## Progress Overview * Played around with zk application [examples](https://github.com/risc0/risc0/tree/main/examples) on risc0. * Read the zisk [documentation](https://0xpolygonhermez.github.io/zisk/getting_started/quickstart.html) and watched ETHCC presentations on Zisk's [overview](https://www.youtube.com/watch?v=q8sAI6ttqZg&t=293s&ab_channel=%5BEthCC%5DLivestream4) and [proof aggregation](https://www.youtube.com/watch?v=6g8MLy_LZAQ&t=779s&ab_channel=%5BEthCC%5DLivestream3). * Executed some examples of zisk zkVM locally. ## Breakdown Zisk is built on a 64-bit RISC-V architecture, which is relatively rare among zkVMs. It features a modular and extensible stack design. ### The process: You write a Rust program that compiles to a RISC-V ELF binary. This program reads input data and produces public outputs. ZisK then generates a cryptographic proof that demonstrates the program executed correctly and produced the claimed outputs from the given inputs. ### Key components: - **Rust program**: Your source code (`src/main.rs`) - **ELF binary**: Compiled RISC-V executable (`target/riscv64ima-zisk-zkvm-elf/release/program_name`) - **Input data**: Private inputs to your program (`input.bin`) - **Public outputs**: Results stored in `publics.json` - **Proof**: Cryptographic proof stored in `vadcop_final_proof.json` - **Verification**: Process using proof + `publics.json` to validate correctness Zisk project has a following structure: ``` . ├── build.rs ├── Cargo.toml ├── .gitignore └── src └── main.rs ``` The `build.rs` file generates an `input.bin` file. This file is used in `main.rs` as input. ### Execute Zisk provides a Zisk emulator, which allows us to test the program to ensure its correctness before generating the proof. Specify the ELF file (using the `-e` or `--elf` flag) and the input file `input.bin` (using the `-i` or `--inputs` flag): ``` ziskemu -e target/riscv64ima-zisk-zkvm-elf/release/sha_hasher -i build/input.bin ``` ## Next Steps Begin writing code for Zisk integration with the Grandine Beacon Chain, taking into account existing integrations with RISC Zero and SP1.