Further Reading

Academic Papers

Foundational Papers

  • Goldwasser, Micali, Rackoff (1985) - The Knowledge Complexity of Interactive Proof Systems
  • Fiat, Shamir (1986) - How to Prove Yourself: Practical Solutions to Identification and Signature Problems
  • Schnorr (1991) - Efficient Signature Generation by Smart Cards

Modern Developments

  • Groth (2016) - On the Size of Pairing-based Non-interactive Arguments
  • Ben-Sasson et al. (2018) - Scalable, Transparent, and Post-Quantum Secure Computational Integrity
  • Gabizon, Williamson, Ciobotaru (2019) - PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge

Books

  • "Real-World Cryptography" by David Wong - Practical cryptography including ZK
  • "Programming Bitcoin" by Jimmy Song - Includes ZK proof implementations
  • "Zero-Knowledge Proofs: A Practical Guide" (forthcoming)

Online Resources

Tutorials

Documentation

Development Tools

Languages and Frameworks

ToolLanguageUse Case
CircomDSLSNARK circuits
CairoRust-likeSTARK programs
NoirRust-likeUniversal ZK
Halo2RustSNARK backend
gnarkGoSNARK library

Testing and Debugging

  • SnarkJS - JavaScript library for SNARKs
  • ZoKrates - High-level ZK language
  • Bellman - ZK proof library

Communities

Conferences

  • ZK Summit - Annual zero-knowledge conference
  • Real World Crypto - Applied cryptography
  • CRYPTO / EUROCRYPT - Academic cryptography
  • DevCon - Ethereum development

Getting Involved

For Developers

  1. Start with tutorials using SnarkJS or Circom
  2. Build simple circuits (age verification, password check)
  3. Contribute to open-source ZK projects
  4. Participate in hackathons

For Researchers

  1. Follow latest papers on IACR ePrint
  2. Join working groups at zkproof.org
  3. Attend academic conferences
  4. Collaborate with industry

For Enthusiasts

  1. Follow ZK podcasts and blogs
  2. Join community discussions
  3. Experiment with ZK applications
  4. Spread awareness about privacy technology

Glossary

TermDefinition
Arithmetic CircuitComputational model using addition/multiplication gates
CommitmentCryptographic primitive to commit to a value
Elliptic CurveMathematical structure used in cryptography
FieldAlgebraic structure with addition, multiplication
Hash FunctionOne-way function mapping arbitrary input to fixed output
Merkle TreeTree structure for efficient membership proofs
Polynomial CommitmentCommit to a polynomial, prove evaluations
Range ProofProve a value lies within a range
WitnessSecret input that satisfies a circuit

Back to: Introduction