Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Zero-knowledge proof
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Zero-Knowledge Proof protocols == The most popular interactive or [[non-interactive zero-knowledge proof]] (e.g., zk-SNARK) protocols can be broadly categorized in the following four categories: Succinct Non-Interactive ARguments of Knowledge (SNARK), Scalable Transparent ARgument of Knowledge (STARK), Verifiable Polynomial Delegation (VPD), and Succinct Non-interactive ARGuments (SNARG). A list of zero-knowledge proof protocols and libraries is provided below along with comparisons based on '''transparency''', '''universality''', '''plausible post-quantum security''', and '''programming paradigm'''.<ref name=mouris21>{{cite journal |last1=Mouris |first1=Dimitris |last2=Tsoutsos |first2=Nektarios Georgios |title=Zilch: A Framework for Deploying Transparent Zero-Knowledge Proofs |journal=IEEE Transactions on Information Forensics and Security |date=2021 |volume=16 |pages=3269β3284 |doi=10.1109/TIFS.2021.3074869 |s2cid=222069813 |url=https://ieeexplore.ieee.org/document/9410618 |issn=1556-6021|url-access=subscription }}</ref> A transparent protocol is one that does not require any trusted setup and uses public randomness. A universal protocol is one that does not require a separate trusted setup for each circuit. Finally, a plausibly post-quantum protocol is one that is not susceptible to known attacks involving quantum algorithms. {| class="wikitable" |+ Zero-knowledge proof (ZKP) systems ! ZKP System !! Publication year !! Protocol !! Transparent !! Universal !! Plausibly Post-Quantum Secure !! Programming Paradigm |- | Pinocchio<ref>{{cite book |last1=Parno |first1=B. |last2=Howell |first2=J. |last3=Gentry |first3=C. |last4=Raykova |first4=M. |title=2013 IEEE Symposium on Security and Privacy |chapter=Pinocchio: Nearly Practical Verifiable Computation |date=May 2013 |pages=238β252 |doi=10.1109/SP.2013.47|isbn=978-0-7695-4977-4 |s2cid=1155080 }}</ref> || 2013 || zk-SNARK || {{No}} || {{No}} || {{No}} || Procedural |- | Geppetto<ref>{{cite book |last1=Costello |first1=Craig |last2=Fournet |first2=Cedric |last3=Howell |first3=Jon |last4=Kohlweiss |first4=Markulf |last5=Kreuter |first5=Benjamin |last6=Naehrig |first6=Michael |last7=Parno |first7=Bryan |last8=Zahur |first8=Samee |title=2015 IEEE Symposium on Security and Privacy |chapter=Geppetto: Versatile Verifiable Computation |date=May 2015 |pages=253β270 |doi=10.1109/SP.2015.23|hdl=20.500.11820/37920e55-65aa-4a42-b678-ef5902a5dd45 |isbn=978-1-4673-6949-7 |s2cid=3343426 |chapter-url=https://www.research.ed.ac.uk/en/publications/37920e55-65aa-4a42-b678-ef5902a5dd45 |hdl-access=free }}</ref> || 2015 || zk-SNARK || {{No}} || {{No}} || {{No}} || Procedural |- | TinyRAM<ref>{{cite book |last1=Ben-Sasson |first1=Eli |last2=Chiesa |first2=Alessandro |last3=Genkin |first3=Daniel |last4=Tromer |first4=Eran |last5=Virza |first5=Madars |title=Advances in Cryptology β CRYPTO 2013 |chapter=SNARKs for C: Verifying Program Executions Succinctly and in Zero Knowledge |series=Lecture Notes in Computer Science |date=2013 |volume=8043 |pages=90β108 |doi=10.1007/978-3-642-40084-1_6|hdl=1721.1/87953 |isbn=978-3-642-40083-4 |hdl-access=free }}</ref> || 2013 || zk-SNARK || {{No}} || {{No}} || {{No}} || Procedural |- | Buffet<ref>{{cite journal |last1=Wahby |first1=Riad S. |last2=Setty |first2=Srinath |last3=Ren |first3=Zuocheng |last4=Blumberg |first4=Andrew J. |last5=Walfish |first5=Michael |title=Efficient RAM and Control Flow in Verifiable Outsourced Computation |journal=Proceedings 2015 Network and Distributed System Security Symposium |date=2015 |doi=10.14722/ndss.2015.23097|isbn=978-1-891562-38-9 }}</ref> || 2015 || zk-SNARK || {{No}} || {{No}} || {{No}} || Procedural |- | ZoKrates<ref>{{cite book |last1=Eberhardt |first1=Jacob |last2=Tai |first2=Stefan |title=2018 IEEE International Conference on Internet of Things (IThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData) |chapter=ZoKrates - Scalable Privacy-Preserving Off-Chain Computations |date=July 2018 |pages=1084β1091 |doi=10.1109/Cybermatics_2018.2018.00199|isbn=978-1-5386-7975-3 |s2cid=49473237 }}</ref> || 2018 || zk-SNARK || {{No}} || {{No}} || {{No}} || Procedural |- | xJsnark<ref>{{cite book |last1=Kosba |first1=Ahmed |last2=Papamanthou |first2=Charalampos |last3=Shi |first3=Elaine |title=2018 IEEE Symposium on Security and Privacy (SP) |chapter=XJsnark: A Framework for Efficient Verifiable Computation |date=May 2018 |pages=944β961 |doi=10.1109/SP.2018.00018|isbn=978-1-5386-4353-2 |doi-access=free }}</ref> || 2018 || zk-SNARK || {{No}} || {{No}} || {{No}} || Procedural |- | vRAM<ref>{{cite book |last1=Zhang |first1=Yupeng |last2=Genkin |first2=Daniel |last3=Katz |first3=Jonathan |last4=Papadopoulos |first4=Dimitrios |last5=Papamanthou |first5=Charalampos |title=2018 IEEE Symposium on Security and Privacy (SP) |chapter=VRAM: Faster Verifiable RAM with Program-Independent Preprocessing |date=May 2018 |pages=908β925 |doi=10.1109/SP.2018.00013|isbn=978-1-5386-4353-2 |doi-access=free }}</ref> || 2018 || zk-SNARG || {{No}} || {{Yes}} || {{No}} || Assembly |- | vnTinyRAM<ref>{{cite journal |last1=Ben-Sasson |first1=Eli |last2=Chiesa |first2=Alessandro |last3=Tromer |first3=Eran |last4=Virza |first4=Madars |title=Succinct non-interactive zero knowledge for a von Neumann architecture |journal=Proceedings of the 23rd USENIX Conference on Security Symposium |date=20 August 2014 |pages=781β796 |url=https://www.usenix.org/conference/usenixsecurity14/technical-sessions/presentation/ben-sasson |publisher=USENIX Association|isbn=9781931971157 }}</ref> || 2014 || zk-SNARK || {{No}} || {{Yes}} || {{No}} || Procedural |- | MIRAGE<ref>{{cite journal |last1=Kosba |first1=Ahmed |last2=Papadopoulos |first2=Dimitrios |last3=Papamanthou |first3=Charalampos |last4=Song |first4=Dawn |title=MIRAGE: Succinct Arguments for Randomized Algorithms with Applications to Universal zk-SNARKs |journal=Cryptology ePrint Archive |date=2020 |url=https://eprint.iacr.org/2020/278}}</ref> || 2020 || zk-SNARK || {{No}} || {{Yes}} || {{No}} || Arithmetic Circuits |- | Sonic<ref>{{cite book |last1=Maller |first1=Mary |last2=Bowe |first2=Sean |last3=Kohlweiss |first3=Markulf |last4=Meiklejohn |first4=Sarah |title=Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security |chapter=Sonic: Zero-Knowledge SNARKs from Linear-Size Universal and Updatable Structured Reference Strings |date=6 November 2019 |pages=2111β2128 |doi=10.1145/3319535.3339817 |chapter-url=https://doi.org/10.1145/3319535.3339817 |publisher=Association for Computing Machinery|hdl=20.500.11820/739b94f1-54f0-4ec3-9644-3c95eea1e8f5 |isbn=9781450367479 |s2cid=242772913 |url=https://www.research.ed.ac.uk/en/publications/739b94f1-54f0-4ec3-9644-3c95eea1e8f5 |hdl-access=free }}</ref> || 2019 || zk-SNARK || {{No}} || {{Yes}} || {{No}} || Arithmetic Circuits |- | Marlin<ref>{{cite book |last1=Chiesa |first1=Alessandro |last2=Hu |first2=Yuncong |last3=Maller |first3=Mary |last4=Mishra |first4=Pratyush |last5=Vesely |first5=Noah |last6=Ward |first6=Nicholas |title=Advances in Cryptology β EUROCRYPT 2020 |chapter=Marlin: Preprocessing zkSNARKs with Universal and Updatable SRS |series=Lecture Notes in Computer Science |date=2020 |volume=12105 |pages=738β768 |doi=10.1007/978-3-030-45721-1_26 |chapter-url=https://link.springer.com/chapter/10.1007/978-3-030-45721-1_26 |publisher=Springer International Publishing |isbn=978-3-030-45720-4 |s2cid=204772154 |language=en}}</ref> || 2020 || zk-SNARK || {{No}} || {{Yes}} || {{No}} || Arithmetic Circuits |- | PLONK<ref>{{cite journal |last1=Gabizon |first1=Ariel |last2=Williamson |first2=Zachary J. |last3=Ciobotaru |first3=Oana |title=PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge |journal=Cryptology ePrint Archive |date=2019 |url=https://eprint.iacr.org/2019/953}}</ref> || 2019 || zk-SNARK || {{No}} || {{Yes}} || {{No}} || Arithmetic Circuits |- | SuperSonic<ref>{{cite book |last1=BΓΌnz |first1=Benedikt |last2=Fisch |first2=Ben |last3=Szepieniec |first3=Alan |title=Advances in Cryptology β EUROCRYPT 2020 |chapter=Transparent SNARKs from DARK Compilers |series=Lecture Notes in Computer Science |date=2020 |volume=12105 |pages=677β706 |doi=10.1007/978-3-030-45721-1_24 |chapter-url=https://link.springer.com/chapter/10.1007/978-3-030-45721-1_24 |publisher=Springer International Publishing |isbn=978-3-030-45720-4 |s2cid=204892714 |language=en}}</ref> || 2020 || zk-SNARK || {{Yes}} || {{Yes}} || {{No}} || Arithmetic Circuits |- | Bulletproofs<ref name="Bulletproofs" /> || 2018 || Bulletproofs || {{Yes}} || {{Yes}} || {{No}} || Arithmetic Circuits |- | Hyrax<ref>{{cite book |last1=Wahby |first1=Riad S. |last2=Tzialla |first2=Ioanna |last3=Shelat |first3=Abhi |last4=Thaler |first4=Justin |last5=Walfish |first5=Michael |title=2018 IEEE Symposium on Security and Privacy (SP) |chapter=Doubly-Efficient zkSNARKs Without Trusted Setup |date=May 2018 |pages=926β943 |doi=10.1109/SP.2018.00060|isbn=978-1-5386-4353-2 |doi-access=free }}</ref> || 2018 || zk-SNARK || {{Yes}} || {{Yes}} || {{No}} || Arithmetic Circuits |- | Halo<ref>{{cite journal |last1=Bowe |first1=Sean |last2=Grigg |first2=Jack |last3=Hopwood |first3=Daira |title=Recursive Proof Composition without a Trusted Setup |journal=Cryptology ePrint Archive |date=2019 |url=https://eprint.iacr.org/2019/1021}}</ref> || 2019 || zk-SNARK || {{Yes}} || {{Yes}} || {{No}} || Arithmetic Circuits |- | Virgo<ref>{{cite book |last1=Zhang |first1=Jiaheng |last2=Xie |first2=Tiancheng |last3=Zhang |first3=Yupeng |last4=Song |first4=Dawn |title=2020 IEEE Symposium on Security and Privacy (SP) |chapter=Transparent Polynomial Delegation and Its Applications to Zero Knowledge Proof |date=May 2020 |pages=859β876 |doi=10.1109/SP40000.2020.00052 |isbn=978-1-7281-3497-0 |doi-access=free }}</ref> || 2020 || zk-SNARK || {{Yes}} || {{Yes}} || {{Yes}} || Arithmetic Circuits |- | Ligero<ref>{{cite book |last1=Ames |first1=Scott |last2=Hazay |first2=Carmit |last3=Ishai |first3=Yuval |last4=Venkitasubramaniam |first4=Muthuramakrishnan |title=Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security |chapter=Ligero |date=30 October 2017 |pages=2087β2104 |doi=10.1145/3133956.3134104 |chapter-url=https://dl.acm.org/doi/10.1145/3133956.3134104 |publisher=Association for Computing Machinery|isbn=9781450349468 |s2cid=5348527 }}</ref> || 2017 || zk-SNARK || {{Yes}} || {{Yes}} || {{Yes}} || Arithmetic Circuits |- | Aurora<ref>{{cite book |last1=Ben-Sasson |first1=Eli |last2=Chiesa |first2=Alessandro |last3=Riabzev |first3=Michael |last4=Spooner |first4=Nicholas |last5=Virza |first5=Madars |last6=Ward |first6=Nicholas P. |title=Advances in Cryptology β EUROCRYPT 2019 |chapter=Aurora: Transparent Succinct Arguments for R1CS |series=Lecture Notes in Computer Science |date=2019 |volume=11476 |pages=103β128 |doi=10.1007/978-3-030-17653-2_4 |chapter-url=https://link.springer.com/chapter/10.1007%2F978-3-030-17653-2_4 |publisher=Springer International Publishing |isbn=978-3-030-17652-5 |s2cid=52832327 |language=en}}</ref> || 2019 || zk-SNARK || {{Yes}} || {{Yes}} || {{Yes}} || Arithmetic Circuits |- | zk-STARK<ref>{{cite book |last1=Ben-Sasson |first1=Eli |last2=Bentov |first2=Iddo |last3=Horesh |first3=Yinon |last4=Riabzev |first4=Michael |title=Advances in Cryptology β CRYPTO 2019 |chapter=Scalable Zero Knowledge with No Trusted Setup |series=Lecture Notes in Computer Science |date=2019 |volume=11694 |pages=701β732 |doi=10.1007/978-3-030-26954-8_23 |chapter-url=https://link.springer.com/chapter/10.1007/978-3-030-26954-8_23 |publisher=Springer International Publishing |isbn=978-3-030-26953-1 |s2cid=199501907 |language=en}}</ref> || 2019 || zk-STARK || {{Yes}} || {{Yes}} || {{Yes}} || Assembly |- | Zilch<ref name=mouris21 /> || 2021 || zk-STARK || {{Yes}} || {{Yes}} || {{Yes}} || Object-Oriented |}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)