Bagian 2: Perbandingan zk-SNARK vs zk-STARK
Referensi: Chainlink Education - zk-SNARKs vs zk-STARKs
π Tujuan Pembelajaranβ
Setelah menyelesaikan bagian ini, Anda akan mampu:
- Memahami apa itu zk-SNARK dan zk-STARK
- Membandingkan kelebihan dan kekurangan masing-masing
- Memahami konsep Trusted Setup
- Menjelaskan perbedaan proof size dan verification time
- Memahami quantum resistance
- Memilih teknologi yang tepat untuk use case tertentu
π― Apa Itu zk-SNARK?β
Definisiβ
zk-SNARK adalah singkatan dari:
- Zero-Knowledge
- Succinct (Ringkas)
- Non-Interactive
- Argument of Knowledge
Sejarahβ
Paper Fundamental (2012):
- Penulis: Nir Bitansky, Ran Canetti, Alessandro Chiesa, Eran Tromer
- Kontribusi: Memperkenalkan konsep SNARKs
- Aplikasi Pertama: Zcash (2016) - Cryptocurrency dengan private transactions
Karakteristik Utamaβ
βββββββββββββββββββββββββββββββββββββββββββ
β zk-SNARK PROPERTIES β
β βββββββββββββββββββββββββββββββββββββ β
β β
β β
Proof Size: KECIL (~200 bytes) β
β β
Verification Time: CEPAT (ms) β
β β
Gas Cost: RENDAH β
β β οΈ Trusted Setup: DIPERLUKAN β
β β οΈ Quantum Resistance: BELUM β
β β
Mature Technology β
βββββββββββββββββββββββββββββββββββββββββββ
Trusted Setup: Konsep Pentingβ
Apa itu Trusted Setup?
Trusted Setup adalah upacara awal dimana:
- Keys untuk membuat proofs dibuat
- Keys untuk verify proofs dibuat
- Secrets harus dihancurkan setelah upacara
Mengapa Penting?
Jika secrets TIDAK dihancurkan:
β Seseorang bisa membuat FALSE PROOFS
β Bisa forge transactions
β Bisa mint tokens dari udara
β TIDAK ada cara verify bahwa proof palsu
Contoh Trusted Setup:
Zcash Powers of Tau Ceremony (2016-2017):
- Ribuan partisipan dari seluruh dunia
- Setiap partisipan membuat & menghancurkan secrets
- Probabilitas semua partisipan jahat = sangat kecil
- Masih: Beberapa orang mengkritik sebagai "security weak link"
PLONK (Universal Setup):
- Satu trusted setup untuk semua program
- Bisa digunakan oleh banyak proyek
- Masih memerlukan kepercayaan pada upacara
Kelebihan zk-SNARKβ
-
Proof Size Kecil
~200 bytes untuk proof
β Hemat gas saat verify di blockchain
β Cocok untuk on-chain verification -
Verification Cepat
Millisecond untuk verify
β User experience bagus
β Real-time verification -
Gas Efficient
Biaya verify rendah
β Cocok untuk high-frequency transactions
β Scalable untuk banyak users -
Mature Technology
Sudah digunakan 6+ tahun
β Banyak tools & libraries
β Community support besar
β Battle-tested
Kekurangan zk-SNARKβ
-
Trusted Setup Required
β οΈ Perlu upacara trusted setup
β οΈ Jika compromised, security hilang
β οΈ Kritik dari beberapa ahli kriptografi -
Tidak Quantum-Resistant
β οΈ Bisa dipecah oleh quantum computers
β οΈ Menggunakan elliptic curves
β οΈ Perlu upgrade di masa depan -
Setup Complexity
β οΈ Setup awal kompleks
β οΈ Perlu koordinasi banyak partisipan
β οΈ Biaya & waktu untuk ceremony
π― Apa Itu zk-STARK?β
Definisiβ
zk-STARK adalah singkatan dari:
- Zero-Knowledge
- Scalable
- Transparent
- Argument of Knowledge
Sejarahβ
Paper Fundamental (2018):
- Penulis: Eli Ben-Sasson, Iddo Bentov, Yinon Horesh, Michael Riabzev
- Kontribusi: Alternatif untuk SNARKs tanpa trusted setup
- Aplikasi Utama: StarkNet, StarkEx (StarkWare)
Filosofi STARKβ
"Human dignity demands that personal information, like medical and forensic data, be hidden from the public. But veils of secrecy designed to preserve privacy may also be abused to cover up lies and deceit by institutions entrusted with data, unjustly harming citizens and eroding trust in central institutions. Zero-knowledge (ZK) proof systems are an ingenious cryptographic solution to this tension between the ideals of personal privacy and institutional integrity, enforcing the latter in a way that does not compromise the former."
- Paper zk-STARK (2018)
Karakteristik Utamaβ
βββββββββββββββββββββββββββββββββββββββββββ
β zk-STARK PROPERTIES β
β βββββββββββββββββββββββββββββββββββββ β
β β
β β
Trusted Setup: TIDAK DIPERLUKAN β
β β
Quantum Resistance: YA β
β β
Transparent: Semua parameter publikβ
β β οΈ Proof Size: BESAR (~100 KB) β
β β οΈ Verification Time: LEBIH LAMBAT β
β β οΈ Gas Cost: LEBIH TINGGI β
β β
Auditable: Mudah di-audit β
βββββββββββββββββββββββββββββββββββββββββββ
Mengapa Tidak Perlu Trusted Setup?β
STARK menggunakan:
- Hash functions (bukan elliptic curves)
- Public randomness (bukan secret parameters)
- Transparent parameters (semua bisa diverifikasi)
Hasil:
β
Tidak perlu upacara trusted setup
β
Tidak ada "security weak link"
β
Semua parameter bisa di-audit publik
β
Tidak perlu percaya pada partisipan
Kelebihan zk-STARKβ
-
Tidak Perlu Trusted Setup
β Transparent & auditable
β Tidak ada "security weak link"
β Tidak perlu percaya pada upacara -
Quantum-Resistant
β Menggunakan hash functions
β Aman dari quantum computers
β Future-proof -
Scalable
β Proof generation cepat untuk large computations
β Cocok untuk batch processing
β Verification time tidak bertambah banyak -
Transparent
β Semua parameter publik
β Mudah di-audit
β Tidak ada "black box"
Kekurangan zk-STARKβ
-
Proof Size Besar
β οΈ ~100 KB untuk proof (vs ~200 bytes SNARK)
β οΈ Lebih mahal untuk on-chain verification
β οΈ Tidak efisien untuk small proofs -
Verification Lebih Lambat
β οΈ Lebih lama dari SNARK (tapi masih cepat)
β οΈ Lebih banyak gas untuk verify -
Technology Lebih Baru
β οΈ Baru 6 tahun (vs SNARK 12+ tahun)
β οΈ Tools & libraries masih berkembang
β οΈ Community lebih kecil
βοΈ Perbandingan Head-to-Headβ
Tabel Perbandinganβ
| Aspek | zk-SNARK | zk-STARK |
|---|---|---|
| Proof Size | ~200 bytes β‘ | ~100 KB π’ |
| Verification Time | Millisecond β‘ | Beberapa millisecond π’ |
| Gas Cost | Rendah π° | Lebih tinggi π°π° |
| Trusted Setup | Diperlukan β οΈ | Tidak diperlukan β |
| Quantum Resistance | Tidak β | Ya β |
| Transparency | Terbatas β οΈ | Penuh β |
| Maturity | 12+ tahun β | 6 tahun β οΈ |
| Tools & Libraries | Banyak β | Sedang berkembang β οΈ |
| Use Case | On-chain verify | Off-chain compute |
Ringkasannya: SNARK unggul di ukuran proof & biaya verifikasi, tetapi butuh trusted setup dan belum tahan kuantum. STARK transparan dan tahan kuantum, tetapi proof lebih besar dan verifikasi lebih mahal.
π¬ Quantum Resistanceβ
Mengapa Penting?β
Quantum Computers:
- Dapat memecah beberapa algoritma kriptografi
- Elliptic curve cryptography rentan
- Hash functions lebih aman
Perbandinganβ
zk-SNARK:
β Menggunakan elliptic curves
β Rentan terhadap quantum computers
β οΈ Perlu upgrade di masa depan
zk-STARK:
β
Menggunakan hash functions
β
Quantum-resistant
β
Future-proof
Catatan:
- Quantum computers masih dalam tahap awal
- Tapi penting untuk future-proofing
- STARK lebih siap untuk era quantum
π― Use Cases: Kapan Pakai Yang Mana?β
Gunakan zk-SNARK Jika:β
-
On-Chain Verification
β Proof kecil β hemat gas
β Verification cepat β UX baik
β Cocok untuk smart contracts
(contoh: Zcash, Tornado Cash) -
High-Frequency Transactions
β Gas cost rendah
β Bisa verify banyak proofs
β Scalable untuk volume tinggi
(contoh: zkSync era, Polygon zkEVM) -
Mature Ecosystem
β Banyak tools (Circom, snarkjs)
β Community support besar
β Documentation lengkap
Contoh Proyek:
- Zcash (private transactions)
- Tornado Cash (privacy mixer)
- zkSync (Layer 2 scaling)
Gunakan zk-STARK Jika:β
-
Off-Chain Computation
β Proof size tidak masalah
β Focus pada computation besar
β Batch processing
(contoh: StarkEx, dYdX v3) -
Transparency Critical
β Tidak mau trusted setup
β Perlu auditable
β Regulatory compliance
(contoh: StarkNet) -
Future-Proofing
β Quantum resistance penting
β Long-term security
β Enterprise adoption
(contoh: Immutable X)
Contoh Proyek:
- StarkNet (Layer 2)
- StarkEx (Exchange scaling)
- Immutable X (NFT scaling)
π Proyek yang Menggunakan Masing-Masingβ
zk-SNARK Projectsβ
Zcash (2016):
- Cryptocurrency dengan private transactions
- Shielded transactions menggunakan zk-SNARKs
- Sender, receiver, amount semua private
Tornado Cash:
- Privacy mixer untuk Ethereum
- Deposit & withdraw tanpa link
- Menggunakan zk-SNARKs
zkSync:
- Layer 2 scaling untuk Ethereum
- zk-Rollup menggunakan SNARKs
- On-chain verification efisien
Loopring:
- DEX dengan zk-Rollup
- High throughput, low fees
- SNARK-based verification
zk-STARK Projectsβ
StarkNet:
- Layer 2 dengan zk-STARKs
- General-purpose smart contracts
- Tidak perlu trusted setup
StarkEx:
- Exchange scaling solution
- Powering dYdX, Immutable X
- STARK-based batch processing
Immutable X:
- NFT marketplace scaling
- Zero gas fees untuk users
- STARK-based proof system
π Ringkasan Perbandinganβ
zk-SNARK: "Efisien tapi Perlu Kepercayaan"β
β
Proof kecil & cepat
β
Gas efficient
β
Mature technology
β οΈ Perlu trusted setup
β οΈ Tidak quantum-resistant
Ideal untuk:
- On-chain verification
- High-frequency transactions
- Applications yang perlu proof kecil
zk-STARK: "Transparent tapi Lebih Besar"β
β
Tidak perlu trusted setup
β
Quantum-resistant
β
Transparent & auditable
β οΈ Proof lebih besar
β οΈ Verification lebih lambat
Ideal untuk:
- Off-chain computation
- Applications yang perlu transparency
- Future-proofing untuk quantum era
Kesimpulanβ
Keduanya adalah teknologi canggih dengan trade-offs berbeda:
- SNARK: Efisiensi & kematangan teknologi
- STARK: Transparansi & ketahanan quantum
Pilihan tergantung pada:
- Use case spesifik
- Prioritas (size vs transparency)
- Risk tolerance (trusted setup)
- Future considerations (quantum)
π Referensi & Bacaan Lanjutanβ
Paper Fundamental:
- zk-SNARKs (2012) - Bitansky, Canetti, Chiesa, Tromer
- zk-STARKs (2018) - Ben-Sasson, Bentov, Horesh, Riabzev
Artikel Pendidikan:
Proyek Implementasi:
Selanjutnya: Bagian 3: Use Cases & Implementasi ZKP β