- Content provided as a GitBook
- https://battlezips.com/resources redirects to https://battlezips.github.io/resources where the GitBook is hosted
- Sections
- We need to have the GitBook up as early next week as possible to post in the Iden3 channel as they will assist with content
- Intro
- Starting the journey into ZK Dev
- cryptobook
- mathematical requirement
- solidity requirement
- managing expectations
- supportive community
- Circom vs other solutions
- How I decided to choose circom: saw Dark Forest, Tornado Cash, MACI were all written in Circom
- Point being that community is scarce in ZK and the most growth is around the Circom ecosystem
- Zokrates: inferior / outdated / predecessor DSL
- Mina/ starkware: very cool and far ahead of BattleZips. However, our ultimate goal with BattleZips is summarizing off-chain state channels in a ZK proof on L1
- How I decided to choose circom: saw Dark Forest, Tornado Cash, MACI were all written in Circom
- We clickbaited you on scaling. Circom doesn’t jive well with recursive proofs
- Communities to join
- Iden3 telegram
- Zero Knowledge podcast telegram
- ZK Hack discord
- PSE discord
- zk-kit discord
- BattleZips discord 🙂
- Starting the journey into ZK Dev
- Zero Knowledge Proof Theory
- Resources
- No need to reinvent the wheel and write down all of zk proofs here. Lightly touch on topics then direct to one or multiple resources
- Primitives
- Hash functions
- SHA-3 / KECCAK-256 + note on why circuit-optimized hash algorithms work
- MiMC / MiMC Sponge
- Poseidon
- Pedersen Commitments
- Public key cryptosystems
- Note on L1 key registry → L2 hot key + callback to circuit-optimized hash functions
- ECDSA & secp256k1
- EdDSA
- Ed25519 as a growing standard
- jubjub
- bn254
- bls12-381
- Merkle Trees
- What is a merkle tree?
- What is a merkle proof of inclusion?
- zk-kit
- Incremental Merkle Trees
- Sparse Merkle Trees
- Tree Arity (Binary, Quinary)
- Signals
- Witnessed io & intermediary state. All different signals as inputs + gates as logic represent the entire program trace
- Conditionally evaluation of signals & multiplexing
- Private, public, and intermediate signals
- Hash functions
- Resources
- Circom
- Link again to iden3 telegram
- Dev tooling
- Circom language
- Installation / IDE tooling
- Powers of Tau
- Circuit generation
- Proof generation
- On conditional logic (loop back to signals)
- On logic proper signal constraint
- On logic causing non-quadratic constraints
- circomlib
- circomlibjs
- circom-tester
- snarkjs
- Solidity → snarkjs
- hardhat-circom
- Circom language
- Example Applications
- Dark Forest
- BattleZips
- Get more from Iden3
- Example Codebases
- BattleZips
- Tornado Cash
- Minimal Anti-Collusion Infrastructure
- Semaphore
- Rate-Limiting Nullifier
- Relevant Talks
- Circom for Scaling
Last active
September 28, 2022 08:53
-
-
Save jp4g/22dd63ef7547e392b9f8c306ee632a32 to your computer and use it in GitHub Desktop.
Planned Awesome-Circom GitBook
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment