Overview: what is Pepper?
Pepper is an academic research project whose goal is to make verified computation practical. By verified computation (which is sometimes also called “verifiable computation”), we mean a system that implements the following picture:
One motivation is cloud computing (more generally, third-party computing). These environments bring:
- Issues of scale: with hundreds of thousands or millions of machines, correct and unfailing execution in all cases seems unlikely.
- Issues of trust: the computation “provider” and the “consumer” are different entities.
Goal: A system that is
- Comprehensive -- the system makes no assumptions about the behavior and capabilities of the performing computer other than cryptographic hardness.
- General-purpose -- not specialized to a particular family of functions.
- Practical -- can be used for real problems.
Prior work does not meet all three of these properties.
We approach this problem using deep results in cryptography and complexity theory. Here is a high-level description of the foundations of our approach.