Surveys & reports · The prior surveys, and where we disagree with them

The prior surveys, and where we disagree with them

Four prior attempts to map this field. A number of our older rows are secondhand from one of them, and we disagree with all of them about four things: what quantization is, what counts as an objective, whether provenance is a curiosity, and how much a comparison table is worth.

An SoK that does not say where it departs from its predecessors is a literature review. This page says.

arXiv:2502.18535 / Artificial Intelligence Review

ZKP-VML Survey

Survey, not a system. No original benchmarks -- do not plot. Its Table VII ("Classification of representative ZKML systems by verification objective") CLASSIFIES 30 systems (2017.6…

2023

Decentralized ZKML Survey

Complementary survey, focused on decentralized/federated settings.

ICME Labs blog

The Definitive Guide to ZKML (2025)

Landscape blog, NOT a peer-reviewed source, and written by a Jolt Atlas author -- so its head-to-head claims favour Jolt Atlas and should be attributed, not stated as fact. Useful for:…

Modulus Labs whitepaper v1.2 (eprint 2026/1063)

The Cost of Intelligence

NOT an LLM prover and NOT plottable on the LLM throughput graph -- excluded on purpose. Two reasons: (1) it benchmarks MLPs (500k-18M params, 275M-22B mult-adds, 10-500 layers), no…

What each one is

ZKP-VML Survey, the ZKP-VML survey (Peng et al.) is the backbone of the historical half of this site, and we are in its debt. Its Table VII is a timeline of representative systems from SafetyNets onward, and its Tables IV, V and VI give proving time, verification time and proof size, with hardware attached, for training, testing and inference systems respectively. A number of our older rows are still sourced from it, and each of those is tagged numbers_source: survey and renders with a hollow provenance dot. Several that started there, ZEN, ZKML, ZKTorch, have since been promoted to primary, because we obtained the PDF and re-read the table.

It is a survey, not a system: it reports no original benchmarks, so it is excluded from every plot on this site. That is not a criticism. It is the correct way to use it.

Decentralized ZKML Survey, complementary, and older. Its centre of gravity is decentralized and federated settings rather than the single-prover MLaaS model, which makes it the better entry point for the federated cell and a weaker one for inference.

The Definitive Guide to ZKML (2025), a landscape blog, not a peer-reviewed source, and written by a Jolt Atlas co-author. We flag it partisan: true in papers.yml and we mean it: its head-to-head claims favour Jolt Atlas and are recorded here as attributed claims, not as facts. It is genuinely useful for two things, its framing of the overhead progression across proof-system generations, and as the secondhand source we leaned on for ZKTorch's LLM numbers until we obtained the paper, its figure and DeepProve's derived one disagreed, and ZKTorch's own Table 4 has since retired both.

The Cost of Intelligence, the odd one out, and the one that has aged best. It is not a survey of ML-proving frameworks; it is a benchmark of proof backends (Groth16, Gemini, Winterfell, Halo2, Plonky2, zkCNN) run against MLPs. No transformers, no tokens, so it is deliberately excluded from the LLM throughput graph. What makes it worth reading in 2026 is that it called the shot:

With respect to both proving time and memory, the GKR-based zkCNN prover appears best suited to tackle large models – even without an optimized implementation.

The Cost of Intelligence · §1.1, Paper Motivation and High Level Summary

That was written in January 2023. Three years on, the fastest GPT-2 proving on the LLM inference page belongs to sum-check/GKR systems either way you measure it, zkGPT and Jolt Atlas on time per forward pass, DeepProve on throughput. Meanwhile the Plonkish baseline they measure themselves against, ZKML, says in its own Limitations section that a distilled GPT-2 is the largest model it can prove inside its memory budget, and no Groth16 system in this corpus gets near a transformer at all. Other arithmetizations do reach GPT-2 and past it, Artemis / Apollo via commit-and-prove, Lu et al. via VOLE, ZKTorch all the way to LLaMA-2-7B via proof accumulation, so what Modulus called was the scaling behaviour, not a hard ceiling; the spread is in the table below. Reading that trend three years before the papers proved it is still a better track record than any of the taxonomies have.

SystemModelParamsContextTok/minProve (s)Proof (MB)Verify (s)Comm (MB)Accuracy
DeepProve GPT-2124M5121747–271.2
DeepProve Gemma 3270M5128616–543.7
DeepProve GPT-2 (distributed prover, 16 workers)124M512185553.81
Jolt Atlas nanoGPT250K4.3140.517
Jolt Atlas GPT-2125M38
zkGPT GPT-2124M322.7521.80.1010.35
zkPyTorch VGG-1615.2M2.2
zkPyTorch Llama-3 8B8B0.4150
zkPyTorch ResNet-50
zkPyTorch ResNet-101
zkLLM LLaMA-2 13B13B9000.23
ZKML GPT-2 (distilled)81.3M0.0163651.670.02812818.7
ZKML GPT-2 (distilled)81.3M3949.60.01651211.98
Bionetta MNIST MLP2M3.050.000880.01
Bionetta LeNet53.750.000880.01
Bionetta VGG11-mini7.70.000880.02
Bionetta ResNet1814.10.000880.015
Bionetta MobileNetV224.50.000880.018
Bionetta MNIST MLP (iPhone 14 Pro)2M2.80.00088
Bionetta LeNet5 (iPhone 14 Pro)3.550.00088
Bionetta VGG11-mini (iPhone 14 Pro)7.650.00088
Bionetta ResNet18 (iPhone 14 Pro)13.60.00088
Bionetta MobileNetV2 (iPhone 14 Pro)22.960.00088
SafetyNets FcNN-3-Quad (TIMIT)0.008
SafetyNets CNN-2-Quad (MNIST / MNIST-Back-Rand)
zkCNN VGG1615M88.30.3410.0593
SpaGKR Sparse linear layers
SpaGKR Ternary network
Mystique ResNet-101 (public model, private input)42.5M262990
Mystique ResNet-101 (private committed model, private input)42.5M5351980
Mystique ResNet-50 (private committed model, private input)23.5M33312700.02% accuracy decrease vs the plaintext model on the full CIFAR-10 test set (same delta reported for ResNet-101)
vCNN VGG162880019.4
ZEN ShallowNet / LeNet147–47100.0001920.023–0.47
Artemis / Apollo GPT-2124M12000–144000.0150.014
Lu et al. GPT-2117M287.1450063
Hao et al. ReLU (operator)2.10730.137
Hao et al. Softmax (operator, dim 10)87.131816.33
Hao et al. GELU (operator)37.628338.182
Hao et al. Normalization (operator, dim 16)192.826
ZKTorch GPT-J6B21397.526.5462.64
ZKTorch BERT340M1880.424.8826.67
ZKTorch LLaMA-2-7B7B12645.522.85100.14
ZKTorch GPT-2124M59912
NANOZK Transformer block (d=128)430.00550.024
ZIP
ezkl MNIST MLP2M13100.1275.4
ezkl LeNet55350.1272
ezkl VGG11-mini26500.4789.7
ezkl ResNet1868400.1825.3
ezkl MobileNetV2143200.17540.6
Zator 510-layer conv backbone (MNIST), 1 layer/step26966.824.4
Zator 510-layer conv backbone (MNIST), 2 layers/step2908247.7
Zator 510-layer conv backbone (MNIST), 3 layers/step30226.862.7
Range-Arithmetic DNN (MNIST)
Remainder Decision forest (128 trees, height 9)54{'value': None, 'note': 'No single figure. The paper claims proofs "ranging from kilobytes to megabytes" generically, and flags that the Ligero input-layer commitment is "relatively large" -- it sends >=200 columns of field elements. No end-to-end proof size for the 128-tree forest is stated.'}
primary — read in the paper survey — secondhand vendor claim, or provenance unrecorded

Where we disagree

1. Quantization is a confounder, not a footnote

The surveys tabulate proving time, verification time and proof size. They do not tabulate bit width, and bit width is a free parameter that trades model accuracy for proving speed. A system reporting excellent throughput on an aggressively quantized model is not doing the same job as one reporting worse throughput on a faithful one, and nothing in a three-column comparison table makes that visible.

This is not a nitpick, and it is not hypothetical. The largest headline throughput gap in the LLM inference literature is between two systems at different bit widths, on different context lengths, proving different claims (a full sequence versus a single forward pass). Three confounds, all pushing the same direction. The protocol contribution to that gap is smaller than the headline, and nobody has isolated it. See Quantization, it is the largest single methodological difference between this SoK and its predecessors.

Our rule follows from it: quantization.bits: null is a finding, not a hole. Several of the fastest systems here do not state their bit width. We record the absence rather than guessing, and a throughput figure with no accuracy claim attached to it is flagged, because any system can go arbitrarily fast by quantizing to garbage.

2. There is a fourth objective

The ZKP-VML survey divides verifiable ML into training, testing, inference, one bucket per pipeline stage, each proving that a computation ran as declared. The taxonomy is sound and it exhausts its axis.

It has no slot for a claim about the model itself: that it is fair, that it was trained on licensed data, that it is not censoring outputs, that it complies with a regulation. FairProof, FairZK, OATH, zkAudit and the provenance systems are not proving that a computation was performed correctly, and you cannot reach what they prove by proving harder that one was. We call that a fourth objective and give it its own section, along with the argument that it is the objective with the weakest security semantics, because a proof of fairness is only as good as the definition of fairness it encodes, and that definition is contestable in a way arithmetic is not.

3. Provenance is first-class, not adjacent

Related to the above but worth separating. The ZKP-VML survey does name dataset provenance, it gives it a future-work subsection, and says the provenance and integrity of training data "can be just as important as the correctness of the model computation itself", and then leaves it there: no taxonomy slot, no comparison table, not one system reviewed. We think that ordering is close to inverted.

Provenance is the claim with an actual customer. Copyright litigation, licensing compliance and the EU AI Act's data-governance provisions turn on which data went into this model, not on whether the softmax was computed to twelve bits. It is also the cheaper claim, ZKPROV proves which dataset a model was trained on without proving the training computation at all, and, unlike fairness, it has a fact of the matter behind it. A field optimising for the hardest technical problem has spent a decade walking past the easiest valuable one.

4. We do not trust comparison tables, including our own

The methodological disagreement, and the one that produced the most work.

Three of the four sources above contain a table comparing systems the authors did not run. We reproduced those tables, then went to the primary papers, and found discrepancies. One proof-size figure differs by an order of magnitude between the paper and the survey (zkLLM). Another survey figure is smaller than a single pair of group elements, and that paper we have not obtained, so it stands in papers.yml flagged implausible and unverified rather than corrected. The difference between those two rows is the point: one we checked, one we could only mark. Both were invisible from the survey alone.

Where two sources give two numbers, papers.yml records both and the disagreement. Where we could not obtain the primary paper, it records the survey's figure and says so. That file is load-bearing for this site's credibility: it is the evidence that the numbers here were checked rather than copied. It is also the reason every figure on this site renders with a provenance dot, and the reason a number never appears in prose, a number in a paragraph cannot carry its provenance, and six months later nobody remembers where it came from.

Is a partisan blog a citable source?

We cite The Definitive Guide to ZKML (2025) and we flag it as partisan, which some readers will find either too generous or too harsh. Our position: a comparison written by a competitor's author is evidence, and for a while it was the only cross-check we had on ZKTorch's LLM performance, until we obtained the paper and read Table 4 ourselves, at which point the primary figures superseded it (and showed that the secondhand throughput number everyone was passing around was a category error, not a measurement). That is what a flagged partisan source is for: it holds a row open until a primary source can close it. The failure would be to launder it, to quote its numbers without the flag, at which point a marketing claim has become a survey figure has become a fact. That laundering pipeline is exactly what a provenance tag exists to break.

gap
We are a survey too

Everything above is a criticism we are also exposed to. Many of this site's older rows are secondhand from ZKP-VML Survey and we have not opened those PDFs. Several entries carry authors_verified: false. The honest position is not that this SoK checked everything, it is that it marks what it did not check, which is a lower bar than it sounds and one the prior surveys did not clear.