Skip to content

Cherkaso8/eclipse-zk-bpf

 
 

Repository files navigation

zk-bpf

This is a tool allowing for zero-knowledge execution of eBPF programs, by compiling eBPF to RISC-V and using RISC Zero as a backend. Note that this is still in a very preliminary state, and we only have a small portion of the eBPF instruction set implemented. Currently, it needs cargo available in order to run, since the translated eBPF is linked with a Rust wrapper to make the final RISC-V binary.

To try it out, pass an assembly file with --asm or an ELF file with --elf. You can run the example program with:

cargo run -- --asm example.s --input-data example-input

This will perform a 32-bit multiplication on the two 32-bit numbers in the input file (7 and 8 in this case) and put the output in register 0.

License

This project is distributed under the Apache License (Version 2.0).

About

zero-knowledge execution of eBPF bytecode

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.7%
  • Assembly 0.3%