pepper-project / pepper

A system for verifying outsourced computations. This repo always contains the latest release of the Pepper system.
Other
60 stars 16 forks source link

NOTE: A simplified version of this codebase is available at https://github.com/pepper-project/pequin

Development is ongoing to improve the usability and documentation of both releases, but new users may find it easier to start with the version above.

This source code is released under a BSD-style license. See LICENSE for more details.

I. Installation and first steps

  1. Please run git submodule init git submodule update to pull in the submodules this project relies on.

  2. This codebase depends on several external libraries. Please see the INSTALLING.md file for more information on setting up dependencies.

  3. See compiler/buffetfsm/README.md for instructions on building the patched Clang/LLVM libraries we need for Buffet's C-to-C compiler.

  4. We recommend using the libsnark backend. If you've pulled in the submodules (Step 1, above), you've already got a local copy. Finish preparing it as follows: cd libsnark ./prepare-depends.sh make lib STATIC=1 NO_PROCPS=1 and make sure that USE_LIBSNARK=1 is set in the pepper/flags file.

  5. Now that everything is set up, you're ready to run some verified computations! Please have a look at GETTINGSTARTED.md for a quick overview of the process.

  6. If you want to run tinyram programs, make sure you've pulled in the submodules as described above, then cd tinyram/doc. If you have pandoc and LaTeX available, make will generate useful documentation. The README.md file in that directory has instructions on how to run tinyram computations.

II. Configuration

III. What is new in this version?

(1) Updated code which interfaces with libsnark. Our fork of libsnark is now identical to the latest available version from https://github.com/scipr-lab/libsnark, except for a configuration option set in the Makefile.

(2) Minor bugfix.

IV. Contact Please contact pepper@pepper-project.org for any questions and comments.