timofey Profile picture
Sep 6 21 tweets 12 min read
Been exploring some of the lesser-known ZK constructions and decided to share some brief facts, so here we go, a thread about Bulletproofs, Halo2, MPC-in-the-head, and more 🧵👇
🛡🔫 Bulletproofs:
- short NIZK that requires no trusted setup
- build with Pedersen commitments
- support proof aggregation
- prover time: O(N∗log(N)) ~30s
- verifier time: O(N) ~1.1s
- proof size: O(log(N)) ~1.3KB
- assumptions: discrete log
✅Bulletproofs - best fit for:
- range proofs (take only 600 bytes)
- inner product proofs
- intermediary checks in MPC protocols
- aggregated and distributed (with many private inputs) proofs

🚫Poor choice for:
- complex arbitrary statements that are verified on-chain
Bulletproofs - Used in:
- Confidential TX for Bitcoin: elementsproject.org/features/confi…
- Monero: medium.com/digitalassetre…
- Stellar Shielded Tx (Cloak): github.com/stellar/slings…
⚜️ Sigma Protocols (+Fiat-Shamir):
- short proof that needs no trusted setup
- require a constant number (3) of public-key operations
- multiple Sigma proofs can be composed together in configurations like A and\or B, eq(A,B), all(n,A)
- assumption: discrete log, honest verifier
✅Sigma protocols - Best fit for:
- discrete log (dlog) proofs
- one-of-many dlogs
- discrete log equality (dleq)

🚫Poor choice for:
- complex arbitrary statements
Sigma Protocols - Used in:
- Signal (Algebraic MACs for group chats): signal.org/blog/signal-pr…
- dleq proofs in the adaptor signatures
- verifiable random functions
- ElGamal encryption in the Cryptography for #metoo: petsymposium.org/2019/files/pap…
💫 Halo 2
- combines efficient accumulation scheme with PLONKish arithmetization and needs no trusted setup
- based on IPA commitment scheme
- flourishing developer ecosystem
- prover time: O(N*log N)
- verifier time: O(1)>Groth16
- proof size: O(log N)
- assumption: discrete log
👅Libraries (flavors of Halo2):
- github.com/zcash/halo2 - original (IPA)
- github.com/privacy-scalin… - replaces IPA with KZG
github.com/Orbis-Tertius/… - replaces IPA with FRI (WIP)
✅ Halo2 - Best fit for:
- arbitrary verifiable computation
- recursive proof composition*
- circuit-optimized hashing based on lookup-based Sinsemilla function

🚫 Poor choice for:
- costly to verify on Ethereum unless KZG-version is used
- recursive proof composition*
🤔 Halo2 - What’s with recursion?
- recursion isn’t yet supported by the original Halo2 (github.com/zcash/halo2/is…)
- currently, it’s only possible with the KZG-based version using github.com/scroll-tech/ha…
- Orbis Labs are working on their accumulation scheme using Tiny-RAM arch
Halo2 - Used in:
- Zcash shielded protocol (Orchard): electriccoin.co/blog/announcin…
- Scroll zkEVM: scroll.io/blog/zkEVM#zkE…)
- Orbis ZK-Rollup on Cardano: github.com/Orbis-Tertius
- Dark Fi L1: dark.fi
📚 Halo2 - Resources to learn more:
- General overview: electriccoin.co/blog/explainin…
- Docs: zcash.github.io/halo2/
- Talk:
- Math: vitalik.ca/general/2021/1…
- Ecosystem showcase:
- More: github.com/adria0/awesome…
🐭 Plonky2 - Overview:
- combines FRI with PLONK and needs no trusted setup
- optimized for modern processors with SIMD and 64 byte Goldilocks fields
- prover time: O(log N)
- verifier time: O(log N)
- proof size: O(N*log N)
- assumptions: collision-resistant hash function
👀 Plonky2 - More insights:
- allows to choose: fewer rows => fast prover OR fewer columns and constraints => fast verifier
~38x faster than Halo2, ~64x faster than Groth’16 ()
- uses Poseidon sponge and GMIMC as hash functions for FRI
✅ Plonky2 - Best fit for:
- arbitrary verifiable computation
- recursive proof composition
- circuit optimization using custom gates

🚫Poor choice for:
- statements about elliptic curve operations (due to non-native arithmetic)
Plonky2 - Used in:
- Mir protocol (before acquisition by Polygon): mirprotocol.org
- Polygon Zero (ZK L2): polygon.technology/solutions/poly…
Plonky2 - Libraries
- github.com/mir-protocol/p… (Rust)

📚 Resources:
- Overview: blog.polygon.technology/introducing-pl…
- Paper: github.com/mir-protocol/p…
Continuation of this thread with facts about MPC-in-the-head proofs:

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with timofey

timofey Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @ethotim

Sep 7
Yesterday I made a thread with a "thousand feet view" on some of the alternative ZK schemes, but have shamelessly withheld the most interesting and underrated one, so here we go \\ thread about "MPC-in-the-head" proofs 🧵👇
\1 A quick background about MPC:
- enables parties to carry out distributed computation on their private inputs
- each party produces a transcript (its view)
- important observation #1: if the final result of MPC is wrong, then there’s an inconsistent views somewhere
\2 Background about Secret Sharing: 🤫
- a common abstraction used in MPC to split some secret among multiple parties, such that all of them need to cooperate for using it
- important observation #2: if only a subset of shares is revealed, then the secret remains unknown
Read 15 tweets
Jun 14
Reimagining coin mixing on Ethereum...🥷

Been working together with @elizabethereum on an offchain mixer design for account-based blockchains.
Full post here: ethresear.ch/t/offchain-and…
Details below 🧵👇
2/ A bit of background. You may know the @TornadoCash protocol that revolutionized mixing with large anonymity sets and arbitrary amounts.

All that is powered by smart contracts, but what if CeXs would one day decide to blacklist all coins withdrawn from those contracts? 🫢
3/ Imagine finding your honestly accepted coins suddenly becoming worthless as they are no more honored by others.

Fungibility is essential for DeFi and needs to be preserved! 💸🛡️
Read 7 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(