Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/starkoracles/zkos
Cross-zk-rollup aggregation
https://github.com/starkoracles/zkos
starks zk-framework zk-rollup zkproof
Last synced: about 1 month ago
JSON representation
Cross-zk-rollup aggregation
- Host: GitHub
- URL: https://github.com/starkoracles/zkos
- Owner: starkoracles
- License: apache-2.0
- Created: 2022-08-17T00:25:29.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-02-17T20:21:58.000Z (almost 2 years ago)
- Last Synced: 2024-04-14T15:53:12.812Z (8 months ago)
- Topics: starks, zk-framework, zk-rollup, zkproof
- Language: Rust
- Homepage:
- Size: 14.5 MB
- Stars: 57
- Watchers: 6
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-risc0 - zkOS - zk-rollup aggregation integrated with RISC0 zkVM. (Ecosystem / Contributors & Integrations)
- awesome-risc0 - zkOS - zk-rollup aggregation integrated with RISC0 zkVM. (Ecosystem / Contributors & Integrations)
README
# zkOS - a new cross-proof-system execution layer
[![Twitter URL](https://img.shields.io/twitter/follow/stark_oracle?style=social)](https://twitter.com/stark_oracle)
## What is a zkOS?
A zkOS takes a different approach to most infrastructure projects we are currently seeing. Instead of building a vertical ecosystem, we believe that creating an open layer will enable faster growth and will enable zk to become mainstream faster. We see our zkOS evolving into a protocol which will serve a multitude of core functions necessary for deploying any zk-based dApp:
* Scale - We want to allow apps to achieve scale and cost-effectiveness, by allowing different apps to collaborate and aggregate their proofs into a single final proof to be posted on chain.
* Interoperability - We are in the early innings of innovation in zk. We believe that creating a unified API for zk will encourage the creation of different approaches which will fit different problems.
* Batteries included - Most zk libraries aren't ready to deployment, we would like to make it easy and quick to reach production, without needing to rebuild everything yourself.**It is important to note this code is unaudited and is NOT ready for production use.** We are working very closely with several auditors to turn this prototype into something production ready.
## What is included?
We chose to showcase how powerful this approach can be by leveraging two leading (and fully open source) implementations -- Winterfell and Risc0. Our main example showcases how **two** Fibonacci proofs (generated by Winterfell) are verified within a Risc0 zkVM. This example shows a roadmap for achieving interoperability and scale -- we can verify zk proofs coming from different systems and aggregate them into a single final proof which can be verified on-chain.
## Roadmap
| Milestone | Goal |
| --- | --- |
| Risc0 recursion | Unlocks multi-layer recursion |
| Deployment of WASM verifier | Start experimenting with on-chain proofs |
| Solidity verifier for Risc0 | EVM on-chain proofs |
| Miden support | Allow full cross-VM interoperability |
| Integrate MUL Goldilocks accelerator | Performance |## Benchmarks
(To be added)
## Quickstart
* Ensure you've cloned the repo with all submodules
* Install rustup
* This project uses a nightly version of Rust. The rust-toolchain file will be used by cargo to automatically install the correct version.
* `cd zkos`
* `cargo run --release` -- please note, compilation time will be high (around 20 minutes on MacBook M1) due to Risc0 circuit size configuration. For development use-cases, feel free to modify [the build configuration](https://github.com/starkoracles/risc0-test/blob/main/zkos/methods/build.rs#L8) to 12.## Security parameters
The default implementation generates proofs with 82bit security. This is relatively slow to run (around 4 minutes), for development use-cases, feel free to use the cmd parameters to lower security to run faster. Please refer to [security analysis](https://github.com/starkoracles/risc0-test/blob/main/zkos/zkprunner/src/main.rs#L52) (from ethSTARK paper).
## Profiling the execution trace
(To be added)