From ae63b6c23d69a2777520d2d753bad4abeff654be Mon Sep 17 00:00:00 2001 From: krakhit <61501745+krakhit@users.noreply.github.com> Date: Fri, 13 Dec 2024 14:39:09 +0200 Subject: [PATCH] Updated references and fixed broken links --- src/applicationszk.md | 7 +++++++ src/curatedzk.md | 6 +++++- src/handsonzk.md | 11 ++++------- src/protocolsFoldingSchemes.md | 4 ++-- src/protocolsSNARK.md | 5 +++-- src/protocolsSTARK.md | 4 +++- src/provingzk.md | 2 ++ src/vulnerabilities.md | 7 ++++++- src/zkbeginner.md | 2 +- 9 files changed, 33 insertions(+), 15 deletions(-) diff --git a/src/applicationszk.md b/src/applicationszk.md index 03687b8..40e037e 100644 --- a/src/applicationszk.md +++ b/src/applicationszk.md @@ -8,6 +8,8 @@ A compilation of materials that showcase various applications of zk technology. ## General +- [A map of ZK applications](https://zkv.xyz/the-map-of-zk/) +- [Open engineering problems in ZK](https://equilibrium.co/writing/open-problems-in-privacy) - [A cambrian explosion of crypto proofs - Ben Sasson](https://nakamoto.com/cambrian-explosion-of-crypto-proofs/) - [Using ZKP to fight disinformation - Boneh, Datta](https://medium.com/@boneh/using-zk-proofs-to-fight-disinformation-17e7d57fe52f) - [talk](https://iacr.org/submit/files/slides/2023/rwc/rwc2023/13/slides.pdf) @@ -57,6 +59,11 @@ A compilation of materials that showcase various applications of zk technology. - [RISC0 ZK VM](https://www.risczero.com) - [RISC0 proof system](https://www.risczero.com/proof-system-in-detail.pdf) - [RISC0 Code](https://github.com/risc0/risc0) + - [Jolt VM](https://github.com/a16z/jolt) + - [Jolt book](https://jolt.a16zcrypto.com/intro.html) + - [Jolt a technical deep dive](https://www.zksecurity.xyz/blog/posts/how-jolt-works/) + - [FAQs on implementation](https://a16zcrypto.com/posts/article/faqs-on-jolts-initial-implementation/) + - [Jolt from theory to code](https://a16zcrypto.com/posts/article/building-on-lasso-and-jolt/) - [OlaVM](https://sin7y.org/) - [zkWasm](http://www.delphinuslab.com/) - [Loopring](https://loopring.org/#/about) diff --git a/src/curatedzk.md b/src/curatedzk.md index b362067..fdc6eeb 100644 --- a/src/curatedzk.md +++ b/src/curatedzk.md @@ -75,6 +75,7 @@ A collection of libraries where you can create a ZKP. - [Zero cost commitments in Halo2](https://blog.ezkl.xyz/post/commits/) - [Splitting and parallelizing proofs in ezkl](https://blog.ezkl.xyz/post/splitting/) - [origami folding scheme for halo2 lookup](https://hackmd.io/@aardvark/rkHqa3NZ2) + - [Halo2: Zk security book](https://halo2.zksecurity.xyz/intro/) - [Zokrates](https://github.com/Zokrates/ZoKrates) - [Crrl: Cryptography research library - Thomas Pornin](https://github.com/pornin/crrl) - [Bellman (not updated)](https://github.com/zkcrypto/bellman) @@ -84,12 +85,15 @@ A collection of libraries where you can create a ZKP. - [Cairo](https://github.com/starkware-libs/cairo) - [Cairo resource](https://www.cairo-lang.org/resources/) -## Math/Crypto libraries +## Math/Crypto/Lattice libraries - [FLINT - number theory](https://flintlib.org/doc/index.html) - [CryptoPP](https://github.com/weidai11/cryptopp) - [nalgebra - linear algebra for rust](https://github.com/dimforge/nalgebra) - [NTL lattice lib](https://github.com/libntl/ntl) +- [Lazarus rust](https://github.com/lattice-complete/Lazarus) +- [Lazer c++](https://github.com/lazer-crypto/lazer) +- [Lattice based snarks over libsnark - c++](https://github.com/lattice-based-zkSNARKs/lattice-zksnark) ## HW libraries diff --git a/src/handsonzk.md b/src/handsonzk.md index 658a299..9c75cd5 100644 --- a/src/handsonzk.md +++ b/src/handsonzk.md @@ -30,13 +30,13 @@ Our hands-on approach to learning ZK proofs provides interactive and practical t - [Proofs args and zk study group implementations](https://github.com/thor314/pazk) - [Cryptopals challenges](https://cryptopals.com) - [Starkware101](https://github.com/starkware-industries/stark101/tree/master) -- [Verifiable AES](https://www.notamonadtutorial.com/verifiable-encryption-using-zero-knowledge-proofs/) +- [Verifiable AES](https://blog.lambdaclass.com/verifiable-encryption-using-zero-knowledge-proofs/) - [code: lambdaclass](https://github.com/lambdaclass/AES_zero_knowledge_proof_circuit) - [Merkle patricia tree: lambdaclass](https://github.com/lambdaclass/merkle_patricia_tree) - [Haskell: Introduction](https://simonjohnthompson.github.io/craft3e/craft3e.pdf) - [Practical Cryptography for Devs: Nakov](https://cryptobook.nakov.com) -- [Transforming code into arithmetic circuits](https://www.notamonadtutorial.com/how-to-transform-code-into-arithmetic-circuits/) -- [Differential fuzzing](https://www.notamonadtutorial.com/do-you-want-quality-code-learn-how-to-use-differential-fuzzers/) +- [Transforming code into arithmetic circuits](https://blog.lambdaclass.com/how-to-transform-code-into-arithmetic-circuits/) +- [Differential fuzzing](https://blog.lambdaclass.com/do-you-want-quality-code-learn-how-to-use-differential-fuzzers/) - [Zkvm step by step](https://eprint.iacr.org/2023/1032) - [Zk smart contract tutorial](https://medium.com/cyfrin/how-to-create-a-zk-smart-contract-cd948a673749) - [optimizing pairing based cryptography, montgomery arithmetic in rust](https://research.nccgroup.com/2021/06/09/optimizing-pairing-based-cryptography-montgomery-arithmetic-in-rust/) @@ -54,7 +54,6 @@ Our hands-on approach to learning ZK proofs provides interactive and practical t - [Ingonyama ZK CTF-May 2023](https://github.com/ingonyama-zk/zkctf-2023-writeups) - [List of open problems in Crypto II](https://crypto.mirror.xyz/hl284jc3A2MI_QeTE39nRsTPihOigNuLKIWjiU2pFzw) - ## Rust learning resources for ZK/cryptography - [The Rust book](https://doc.rust-lang.org/book/title-page.html) @@ -80,16 +79,14 @@ Our hands-on approach to learning ZK proofs provides interactive and practical t - [GPU-Puzzles](https://github.com/srush/GPU-Puzzles) - ## Benchmarking tools - [code](https://github.com/delendum-xyz/zk-benchmarking) -- [Benchmarking with Rust](https://www.notamonadtutorial.com/benchmarking-and-analyzing-rust-performance-with-criterion-and-iai/) +- [Benchmarking with Rust](https://blog.lambdaclass.com/benchmarking-and-analyzing-rust-performance-with-criterion-and-iai/) - [Flamegraphs](https://www.brendangregg.com/flamegraphs.html) - [code](https://github.com/brendangregg/FlameGraph) - [code:flamegraphs from hierarchical data](https://github.com/spiermar/d3-flame-graph) - [Criterion](https://bheisler.github.io/criterion.rs/book/criterion_rs.html) - - [Criterion introduction](https://www.notamonadtutorial.com/benchmarking-and-analyzing-rust-performance-with-criterion-and-iai/) - [The benchmark game](https://benchmarksgame-team.pages.debian.net/benchmarksgame/why-measure-toy-benchmark-programs.html) - [Zkalc](https://zka.lc/charts) - [zkBench](https://eprint.iacr.org/2023/1503) diff --git a/src/protocolsFoldingSchemes.md b/src/protocolsFoldingSchemes.md index 94bbf15..2b7f027 100644 --- a/src/protocolsFoldingSchemes.md +++ b/src/protocolsFoldingSchemes.md @@ -2,8 +2,8 @@ |Protocols|Paper|Implementation |Resources |Universal|Transparent| |:---:|---|:---:|:---:|:---:|:---:| -Nova - 2021|[→📝](https://eprint.iacr.org/2021/370.pdf)|[microsoft](https://github.com/microsoft/Nova)|
  • Srinath Setty - Talk[[1]](https://drive.google.com/file/d/1aLQeB_ca9k7NrWRHY00QauZIe7hmt6_u/view?pli=1)
  • Srinath Setty - Video[[2]](https://www.youtube.com/watch?v=mY-LWXKsBLc)
  • IACR talk slides[[3]](https://iacr.org/submit/files/slides/2022/crypto/crypto2022/334/slides.pdf)
  • IVC:Nova lambdaclass[[4]](https://www.notamonadtutorial.com/incrementally-verifiable-computation-nova/)
  • Nova - zkstudy club talk[[5]](https://drive.google.com/file/d/1pIPoRUcMvhsoSWLami5T1KHc5oqkUAZH/view)
  • zkstudy club video[[6]](https://www.youtube.com/watch?v=ilrvqajkrYY) -Supernova - 2022|[→📝](https://eprint.iacr.org/2022/1758)|[jules](https://github.com/jules/supernova)|[Champagne supernova: lambdaclass](https://www.notamonadtutorial.com/periodic-constraints-and-recursion-in-zk-starks/) +Nova - 2021|[→📝](https://eprint.iacr.org/2021/370.pdf)|[microsoft](https://github.com/microsoft/Nova)|
  • Srinath Setty - Talk[[1]](https://drive.google.com/file/d/1aLQeB_ca9k7NrWRHY00QauZIe7hmt6_u/view?pli=1)
  • Srinath Setty - Video[[2]](https://www.youtube.com/watch?v=mY-LWXKsBLc)
  • IACR talk slides[[3]](https://iacr.org/submit/files/slides/2022/crypto/crypto2022/334/slides.pdf)
  • IVC:Nova lambdaclass[[4]](https://blog.lambdaclass.com/incrementally-verifiable-computation-nova/)
  • Nova - zkstudy club talk[[5]](https://drive.google.com/file/d/1pIPoRUcMvhsoSWLami5T1KHc5oqkUAZH/view)
  • zkstudy club video[[6]](https://www.youtube.com/watch?v=ilrvqajkrYY) +Supernova - 2022|[→📝](https://eprint.iacr.org/2022/1758)|[jules](https://github.com/jules/supernova)|[Champagne supernova: lambdaclass](https://blog.lambdaclass.com/champagne-supernova-incrementally-verifiable-computation-2/) Hypernova - 2023|[→📝](https://eprint.iacr.org/2023/573)| |[CCS: Customizable constraint systems for succinct arguments](https://eprint.iacr.org/2023/552) Sangria - 2023|[→📝](https://github.com/geometryresearch/technical_notes/blob/main/sangria_folding_plonk.pdf)| |[Blog](https://geometryresearch.xyz/notebook/sangria-a-folding-scheme-for-plonk) Protostar - 2023|[→📝](https://eprint.iacr.org/2023/620)||[Deep dive into Protostar paper & protocol - Binyi Chen](https://www.youtube.com/watch?v=tt00TLFJPpc&list=PLV91V4b0yVqS1d_Vpoh40hodcQd8kMQD4&index=3) diff --git a/src/protocolsSNARK.md b/src/protocolsSNARK.md index db118d1..6ae9015 100644 --- a/src/protocolsSNARK.md +++ b/src/protocolsSNARK.md @@ -13,7 +13,7 @@ |xjSNARK - 2018|[ →📝](https://akosba.github.io/papers/xjsnark.pdf)| | |❌|❌| |Hyrax - 2018|[ →📝](https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=8418646)| | | | | | |Sonic - 2019|[ →📝](https://eprint.iacr.org/2019/099.pdf)| |[Benthams Gaze](https://www.benthamsgaze.org/2019/02/07/introducing-sonic-a-practical-zk-snark-with-a-nearly-trustless-setup/)|✅|❌| -|Plonk - 2019|[ →📝](https://eprint.iacr.org/2019/953.pdf)|