Zero Knowledge Static Program Analysis
Zhiyong Fang, David Darais, Joseph P. Near, Yupeng Zhang
Abstract
Static program analysis tools can automatically prove many useful properties of programs. However, using static analysis to prove to a third party that a program satisfies a property requires revealing the program's source code. We introduce the concept of zero-knowledge static analysis, in which the prover constructs a zero-knowledge proof about the outcome of the static analysis without revealing the program. We present novel zero-knowledge proof schemes for intra- and inter-procedural abstract interpretation. Our schemes are significantly more efficient than the naive translation of the corresponding static analysis algorithms using existing schemes. We evaluate our approach empirically on real and synthetic programs; with a pairing-based zero knowledge proof scheme as the backend, we are able to prove the control flow analysis on a 2,000-line program in 1,738s. The proof is only 128 bytes and the verification time is 1.4ms. With a transparent zero knowledge proof scheme based on discrete-log, we generate the proof for the tainting analysis on a 12,800-line program in 406 seconds, the proof size is 282 kilobytes, and the verification time is 66 seconds.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 70df21e5-d943-44ca-af5b-80c580522a74Cited by top-tier papers9
- Orion: Zero Knowledge Proof with Linear Prover TimeTiancheng Xie, Yupeng Zhang, Dawn SongCRYPTO 2022 · 83 citations
- Pianist: Scalable zkRollups via Fully Distributed Zero-Knowledge ProofsTianyi Liu, Tiancheng Xie, Jiaheng Zhang, Dawn Song et al.S&P 2024 · 52 citations
- Scalable Zero-knowledge Proofs for Non-linear Functions in Machine LearningMeng Hao, Hanxiao Chen, Hongwei Li, Chenkai Weng et al.USENIX Security 2024 · 29 citations
- Accelerating Zero-Knowledge Proofs Through Hardware-Algorithm Co-DesignNikola Samardzic, Simon Langowski, Srinivas Devadas, Daniel SánchezMICRO 2024 · 24 citations
- Cheesecloth: Zero-Knowledge Proofs of Real World VulnerabilitiesSantiago Cuéllar, Bill Harris, James Parker, Stuart Pernsteiner et al.USENIX Security 2023
Builds on12
- Spectre Attacks: Exploiting Speculative ExecutionPaul Kocher, Jann Horn, Anders Fogh, Daniel Genkin et al.S&P 2019 · 2,435 citations
- Meltdown: Reading Kernel Memory from User SpaceMoritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher et al.USENIX Security 2018 · 1,456 citations
- Sonic: Zero-Knowledge SNARKs from Linear-Size Universal and Updatable Structured Reference StringsMary Maller, Sean Bowe, Markulf Kohlweiss, Sarah MeiklejohnCCS 2019 · 412 citations
- Doubly-Efficient zkSNARKs Without Trusted SetupRiad S. Wahby, Ioanna Tzialla, Abhi Shelat, Justin Thaler et al.S&P 2018 · 356 citations
- Marlin: Preprocessing zkSNARKs with Universal and Updatable SRSAlessandro Chiesa, Yuncong Hu, Mary Maller, Pratyush Mishra et al.EUROCRYPT 2020 · 356 citations
Related papers
- zkPi: Proving Lean Theorems in Zero-KnowledgeEvan Laufer, Alex Ozdemir, Dan BonehCCS 2024 · 3 citations
- GZKP: A GPU Accelerated Zero-Knowledge Proof SystemWeiliang Ma, Qian Xiong, Xuanhua Shi, Xiaosong Ma et al.ASPLOS 2023 · 47 citations
- Proving UNSAT in Zero KnowledgeNing Luo, Timos Antonopoulos, William R. Harris, Ruzica Piskac et al.CCS 2022 · 14 citations
- ZKSMT: A VM for Proving SMT Theorems in Zero KnowledgeDaniel Luick, John C. Kolesar, Timos Antonopoulos, William R. Harris et al.USENIX Security 2024
- Zero Knowledge Proofs for Decision Tree Predictions and AccuracyJiaheng Zhang, Zhiyong Fang, Yupeng Zhang, Dawn SongCCS 2020 · 72 citations
