Summary of performance
Here is a high-level summary. (More details are coming soon, and our publications provide detail.)
None of our systems (or the others in this area) have achieved true practicality yet.
There are two principal issues, for all of these projects:
(1) Costs to the verifier. To check that a remote computation was performed correctly, the verifier must incur a per-computation setup cost: this cost (which consists of CPU and network costs) amortizes over multiple instances of the same computation (potentially over all future instances), on different inputs. However, the cross-over point, in terms of when the setup cost is paid for, is quite high: tens or hundreds of thousands of instances of the same computation.
- This setup cost can be slashed (as in Allspice) or eliminated (as in CMT). Unfortunately, these solutions apply only to restricted classes of computations.
(2) Costs to the prover. The CPU costs to the prover are currently immense: orders of magnitude (factors between a thousand and a million) more than simply executing the computation. An additional bottleneck is memory: the prover must materialize a transcript of a computation's execution.
As a consequence of the above costs, all projects in this area are currently limited to small-scale computations: programs that take several million steps, but not more.