

ObliVM: Scalable and Programmable Secure Computation - sundancekid
http://oblivm.com/

======
zmanian
Can this be used as a proof of computation system like a zk-snark?

~~~
kwantam
From a brief glance over their publications, the answer seems to be no. I base
this claim on a few heuristics:

1\. That's clearly not a goal of their research (they discuss using their ORAM
and Ostructures in the context of trusted processors).

2\. They don't cite any of the relevant work on verifiable computation.

3\. They seemingly aren't familiar with the work of the last couple years, in
which substantial progress has been made on the problem of stateful verified
computation (see Pantry [1], TinyRAM [2], vnTinyRAM [3], and Buffet [4]) (or,
at least, they don't acknowledge these advances), since they claim that RAM-
to-circuits necessitates O(T N) blowup (in fact, best demonstrated case is O(T
log(N)), though solutions with asymptotics more like O(T log(T) log(N)) have
better constant factors).

I have not carefully examined their results or tried to reproduce them locally
for comparison to my own work, but if you are interested in experimenting with
verifiable computations, there are two research projects with code available
you might want to look at: libSNARK [5,6] and Pepper [7,8].

libSNARK contains a beautifully optimized "backend" for verifiable execution
(that is, executing the computation after it's been translated into circuits;
see the vnTinyRAM paper [3] for more details). The Pepper project has released
a full pipeline (from C program to client/server binaries for verifiable
execution) and an independent re-implementation of the TinyRAM and vnTinyRAM
systems, but the current execution backend is not as highly optimized as
libSNARK's (though this will change in the near future).

(Full disclosure: I'm on the Pepper team.)

[1] [https://eprint.iacr.org/2013/356](https://eprint.iacr.org/2013/356)

[2] [https://eprint.iacr.org/2013/507](https://eprint.iacr.org/2013/507)

[3] [https://eprint.iacr.org/2013/879](https://eprint.iacr.org/2013/879)

[4] [https://eprint.iacr.org/2014/674](https://eprint.iacr.org/2014/674)

[5] [http://www.scipr-lab.org/](http://www.scipr-lab.org/)

[6] [https://github.com/scipr-lab/libsnark](https://github.com/scipr-
lab/libsnark)

[7] [http://www.pepper-project.org](http://www.pepper-project.org)

[8] [https://github.com/pepper-project/pepper/](https://github.com/pepper-
project/pepper/)

