Skip to content

Whitepaper

Living documentPre-print

The canonical zkmcu paper. Pulls together the prior-art survey, audit, security model, self-audit, and on-silicon measurements into one citable document. Pre-print, not submitted to a venue yet, plan is RWC or USENIX once Phase 6 (PQ-Semaphore) lands.

  • Threat model. Who’s attacking, what they control, what zkmcu defends against. Goes deeper than the security page.
  • System architecture. Three verifier crates (BN254 / BLS12-381 / STARK), shared parser shape, allocator strategy, the bump-allocator and TLSF allocator deltas, firmware bench harness.
  • Measurements. Every published number with measurement methodology, hardware setup, build flags. The benchmarks page is the digest, the whitepaper is the full data.
  • Security analysis. Adversarial test methodology, parser hardening, the canonical-encoding strictness (BN254 Fr < r, BLS12-381 padding validation), DoS hardening. Cross-references the self-audit and Poseidon2 audit.
  • Limitations. Honest list of what isn’t validated yet (constant-time formal proof, side-channel via power / EM, upstream subgroup math).
  • Roadmap context. Why phases 6-9 (Roadmap) follow the order they do.

Written in Typst, compiles via just docs to PDF. Living document, so when measurements change the paper gets re-compiled rather than a new version published.

If you’re using zkmcu’s measurements in academic work or another paper:

@misc{kamer2026zkmcu,
title = {zkmcu: no\_std Rust ZK verifiers for hardware-wallet-class microcontrollers},
author = {Kamer, Niek},
year = {2026},
howpublished = {\url{https://zkmcu.dev}},
note = {Living whitepaper, see https://github.com/Niek-Kamer/zkmcu/blob/main/research/whitepaper/main.typ}
}

Reviewers / program chairs interested earlier, contact.