Tekan ESC untuk menutup

Zero-Knowledge Proofs: Cara Zcash & Altcoin Capai Privasi Total

Zero-knowledge proofs (ZKP) telah menjadi salah satu primitif kriptografi paling transformatif dalam sistem blockchain modern. Berbeda dengan artikel tingkat tinggi yang mengaburkan esensi teknis, teks ini memecah mekanisme nyata, matematika nyata, dan batasan nyata di balik sistem privasi berbasis ZK yang digunakan di altcoin seperti Zcash, Aleo, dan Firo — tanpa abstraksi atau konten pemasaran.

 

1. Apa Itu Zero-Knowledge Proof Secara Matematis

ZKP adalah protokol interaktif atau non-interaktif yang memungkinkan seorang prover P meyakinkan verifier V bahwa suatu pernyataan benar tanpa mengungkapkan informasi apapun selain kebenaran pernyataan tersebut.

Secara formal, ZKP harus memenuhi:

  1. Completeness: Jika pernyataan benar, verifier jujur akan menerima.
  2. Soundness: Prover jahat tidak dapat meyakinkan verifier tentang pernyataan palsu.
  3. Zero-knowledge: Verifier tidak belajar apa pun selain validitas.
    Zero-knowledge didefinisikan menggunakan simulator S:
    Jika S dapat menghasilkan transkrip yang tidak dapat dibedakan tanpa mengetahui saksi, protokol ini zero-knowledge.

Untuk penggunaan blockchain, pernyataan biasanya seperti:

"Saya mengetahui sebuah rahasia (witness) yang menghasilkan hash ke nilai publik ini."
atau
"Saya memiliki koin yang terkait dengan commitment tanpa mengungkapkan yang mana."

 

2. Skema Commitment — Fondasi Koin Privasi ZK

Sebagian besar koin privasi menggunakan commitment untuk menyembunyikan nilai transaksi dan kepemilikan.

Commitment didefinisikan sebagai:
C = Commit(value, randomness)

Properti:

  • Hiding: nilai tidak dapat diekstrak dari C.
  • Binding: prover tidak dapat mengubah nilai kemudian.

Skema umum:

  • Pedersen commitments:
    C = v·G + r·H dalam grup kurva eliptik (digunakan di Firo Lelantus / MimbleWimble).
  • Commitments berbasis SHA-256: digunakan dalam beberapa sirkuit zk-SNARK untuk efisiensi.

Pedersen commitments memungkinkan:

  • Homomorfisme aditif: C1 + C2 = Commit(v1 + v2, r1 + r2).
    → Inilah cara transaksi rahasia menjaga total supply.

 

3. zk-SNARKs dan zk-STARKs — Mengapa Koin Privasi Menggunakan Salah Satunya

3.1 zk-SNARKs (Succinct Non-Interactive Argument of Knowledge)

Digunakan di:

  • Zcash (Sapling)
  • Horizen
  • Firo Lelantus Spark

Properti:

  • Bukti sangat kecil (~192 byte di Sapling).
  • Verifikasi sangat cepat (~10 ms).
  • Memerlukan trusted setup (masalah toxic waste).
  • Menggunakan pairings kurva eliptik (BLS12-381 terutama).

Detail teknis yang sering diabaikan:
Zcash awalnya menggunakan BN254 (Jubjub), tetapi beralih ke BLS12-381 karena kelemahan keamanan subgrup dan kekhawatiran margin keamanan 128-bit.

3.2 zk-STARKs (Scalable Transparent ARguments of Knowledge)

Digunakan di:

  • Aleo
  • StarkNet (bukan koin tapi relevan)

Properti:

  • Tidak memerlukan trusted setup.
  • Aman terhadap post-quantum (berbasis fungsi hash, bukan pairings).
  • Bukti besar (~100–500 KB).
  • Verifikasi cepat dan skalabel.

Fakta jarang diketahui:
Bukti early testnet Aleo sangat besar sehingga bandwidth jaringan menjadi bottleneck; optimisasi mengurangi ukuran bukti sekitar 80% sebelum mainnet.

 

4. Di Mana Zero-Knowledge Muncul di Transaksi Privasi

Altcoin fokus privasi biasanya menggunakan ZKP untuk satu atau lebih hal berikut:

4.1 Menyembunyikan Pengirim

Mekanisme:

  • Ring signatures (Monero — bukan ZK, tapi terkait).
  • Zero-knowledge membership proofs (Zcash, Lelantus).

Contoh (disederhanakan):
Prover menunjukkan mereka mengetahui kunci rahasia untuk satu elemen dalam set commitment tanpa mengungkap yang mana.

4.2 Menyembunyikan Penerima

Menggunakan stealth addresses atau diversified addresses.
Zcash menggunakan payment addresses dan incoming viewing keys untuk memungkinkan transparansi selektif.

4.3 Menyembunyikan Jumlah

Pedersen commitments + ZKP yang:

  • total commitment benar,
  • jumlah tidak negatif (range proofs),
  • tidak ada inflasi yang diperkenalkan.

Range proof lama (Confidential Transactions, proposal Bitcoin):
~2–3 KB per output.

Bulletproofs:
~700 byte per output (digunakan Monero).

zk-SNARKs:
Zcash menyembunyikan jumlah dengan bukti sekecil 192 byte total.

 

5. Contoh Transaksi Nyata: Zcash Sapling

Transaksi shielded Zcash Sapling membuktikan:

  1. Pengirim memiliki note (koin tersembunyi).
  2. Note belum pernah dibelanjakan sebelumnya (nullifier ZKP).
  3. Total output sama dengan total input (balance ZKP).
  4. Output notes adalah commitment yang benar.

Apa yang sebenarnya dibuktikan?

Prover membangun sirkuit yang mencakup:

  • Hash (BLAKE2s) dari note commitment
  • Pedersen hashes
  • Otentikasi jalur Merkle tree
  • Perhitungan nullifier
  • Persamaan konservasi nilai

Kompleksitas sirkuit penuh ~2 juta constraint.
Generasi bukti menggunakan Groth16, membutuhkan:

  • Perhitungan FFT
  • Perkalian multi-scalar
  • EC pairings

Di laptop, membuat satu bukti membutuhkan ~1–2 detik (dioptimalkan dengan kurva Pallas/Vesta di Orchard).

Fakta jarang disebut:
Sirkuit Sapling menggunakan bit decomposition untuk range constraint, meningkatkan jumlah constraint; Orchard menggantinya dengan aritmetisasi PLONKish Halo 2, secara dramatis mengurangi kompleksitas.

6. Lelantus Spark (Firo) — Sistem ZK yang Kurang Dikenal

Sistem “Spark” Firo adalah salah satu yang paling canggih secara teknis tetapi kurang dikenal publik.

Inovasi utama:

  • Murni ZK (tanpa ring signatures).
  • Menggunakan One-of-Many Proofs:
    Prover membuktikan mereka memiliki satu note di antara N, dengan ukuran bukti bersifat logaritmik terhadap N.
  • Tidak ada trusted setup.
  • Jumlah disembunyikan melalui Pedersen commitments.
  • Alamat Spark bersifat unlinkable bahkan bagi node yang melakukan analisis rantai.

Spark juga mencakup:

  • Address Reissuing:
    Pemilik dapat menyegarkan alamat sambil mempertahankan kontrol, mengurangi kebocoran metadata.
  • Universal Binding:
    Mencegah inflasi jahat dengan menggunakan multiple binding kriptografi ke commitment yang sama.

Fakta jarang diketahui:
Desain Spark mengurangi permukaan serangan yang disebabkan oleh “partial spend proofs,” yang sebelumnya membuat beberapa protokol privasi dapat dihubungkan di bawah heuristik tertentu.

 

7. Aleo — Eksekusi ZK, Bukan Hanya Transaksi ZK

Aleo bukan sekadar koin privat — ini adalah blockchain L1 dengan smart contract sepenuhnya privat.

Cara kerjanya:

  • Program ditulis dalam Leo, DSL mirip Rust yang dikompilasi menjadi R1CS.
  • Eksekusi berlangsung off-chain.
  • Bukti zk-STARK dihasilkan mewakili seluruh jejak eksekusi.
  • Miner/validator memverifikasi bukti dan memperbarui state.

Ini secara efektif:

Mesin virtual global, terenkripsi, dan dapat diverifikasi.

Fakta jarang diketahui:
Aleo menggunakan sistem bukti hybrid:

  • STARK untuk transparansi
  • Rekursi SNARK (gaya Kimchi/Halo) untuk mengurangi ukuran bukti

Pendekatan hybrid ini jarang dan secara teknis kompleks.

 

8. Mengapa ZKP Sulit Diimplementasikan pada Skala Altcoin

8.1 Biaya Proving

Menghasilkan bukti zk-SNARK membutuhkan:

  • Jutaan constraint aritmatika
  • FFT pada field besar
  • Perkalian multi-scalar EC

Bahkan dengan optimisasi:

  • Generasi bukti bisa menjadi CPU-bound.
  • Penggunaan memori tinggi (beberapa ratus MB pada sistem lama).

8.2 Masalah Trusted Setup

Koin yang menggunakan Groth16 membutuhkan trusted setup.
Jika toxic waste tidak dihancurkan, penyerang dapat:
→ membuat koin palsu tanpa batas
tanpa terdeteksi.

Zcash sebenarnya menggunakan multi-party ceremony; toxic waste terakhir (dilaporkan) dihancurkan dengan ekstraksi entropi fisik dan OPSEC yang ketat…
Namun satu peserta tidak jujur cukup untuk merusak sistem.

8.3 Bug Sirkuit Bisa Membunuh Koin

Jika sirkuit sistem privasi memiliki bug yang tidak terdeteksi memungkinkan inflasi, node tidak bisa mendeteksi koin palsu.
Ini terjadi pada Zcash awal (diperbaiki sebelum dieksploitasi).

Kesalahan subtil dalam constraint aritmatika bisa membuat seluruh ekosistem bangkrut.

 

9. Masa Depan Koin ZK

Tren teknis yang mungkin:

  • Bukti rekursif memungkinkan verifikasi transaksi secara batch.
  • Sistem hybrid STARK–SNARK, seperti di Aleo, untuk mengurangi ukuran bukti.
  • Percepatan hardware melalui GPU dan ASIC untuk generasi bukti.
  • Privasi yang dapat diprogram, memungkinkan pengungkapan selektif.
  • Sirkuit ZK ramah mobile (sirkuit saat ini terlalu berat).

Beberapa eksperimen penelitian:

  • Mempool terenkripsi ZK
  • Mesin pencocokan P2P berbasis ZK
  • DEX berbasis ZK tanpa mengungkap order book

Ini sudah diprototipe di proyek seperti Penumbra dan Mina.

10. Serangan Dunia Nyata dan Kelemahan pada Koin Privasi Berbasis ZK

Meskipun sistem ZK bertujuan menjamin privasi dan kebenaran, sejarah menunjukkan bahwa kompleksitas kriptografi sering menciptakan permukaan serangan baru.

Berikut adalah masalah paling penting yang nyata, terdokumentasi, dan sering kurang dibahas.

 

10.1 Kerentanan Pemalsuan Zcash (2018)

Sebuah kerentanan serius ditemukan pada sirkuit Zcash Sapling:

  • Parameter di dalam sirkuit zk-SNARK dibatasi secara salah.
  • Hal ini memungkinkan penyerang membuat koin shielded palsu.
  • Koin ini akan tidak terdeteksi karena semua nilai shielded tersembunyi.

Fakta kunci:

  • Ditemukan oleh kriptografer Ariel Gabizon.
  • Diperbaiki di Sapling sebelum dieksploitasi publik.
  • Zcash tidak pernah mengungkap berapa banyak (jika ada) koin palsu yang dibuat di pool Sprout, karena secara matematis tidak mungkin memeriksa.

Insiden ini adalah contoh nyata terkuat dari:

Kelemahan sistem ZK = inflasi bencana yang tidak terdeteksi.

Ini juga memotivasi pergeseran protokol ke arah:

  • Sirkuit yang lebih baru (Sapling, Orchard)
  • Sistem constraint yang lebih modular
  • Lebih banyak peer-review sebelum deployment

 

10.2 Serangan Akademik pada MimbleWimble (2019)

MimbleWimble (digunakan oleh Grin/Beam) tidak menggunakan zk-SNARK, tetapi menggunakan Pedersen commitments + cut-through + tanpa alamat.

Seorang peneliti (Ivan Bogatyy) menunjukkan:

  • Dengan memantau jaringan secara real-time dengan ~200 node,
  • Ia bisa menghubungkan 96% transaksi Grin ke pengirim dan penerima.

Ini bukan kelemahan matematika ZK itu sendiri, tetapi kelemahan pada:

  • Model agregasi transaksi
  • Tidak adanya input “decoy”
  • Paparan metadata pada tingkat jaringan

Pelajaran penting:

Privasi bukan hanya pada bukti — kebocoran topologi jaringan bisa mendeanonymisasi bahkan matematika ZK yang sempurna.

 

10.3 Kebocoran Timing pada Implementasi Prover

Beberapa implementasi ZKP (terutama sirkuit SNARK lama) membocorkan pola timing:

Contoh:

  • Saat membuktikan transaksi dengan banyak input, CPU atau GPU menghasilkan perubahan timing yang dapat dideteksi.
  • Pengamat dengan akses node-level bisa memperkirakan jumlah note yang dibelanjakan, mengurangi privacy set.

Hal ini sebagian diamati pada klien Zcash awal sebelum optimisasi.

Alasan:
Prover SNARK sering menggunakan FFT dan multi-scalar multiplications di mana struktur tergantung input memengaruhi runtime.

 

10.4 Risiko Multi-Curve dalam Sistem Hybrid

Proyek seperti Aleo menggunakan:

  • STARK → kemudian dikompresi dengan rekursi SNARK (Kimchi/Halo/KZG polynomial commitments).

Risiko yang jarang dibahas:
Jika salah satu kurva atau skema polynomial commitment dalam tumpukan rekursi rusak,
seluruh sistem menjadi rentan.

Kerentanan “multi-curve” ini hampir tidak pernah disebutkan dalam materi pemasaran.

 

11. Merancang Sirkuit ZK untuk Koin Privasi (Blueprint Umum)

Berikut adalah penjabaran teknis nyata bagaimana pengembang benar-benar membangun protokol privasi ZK.

Langkah 1: Pilih model aritmatika

  • R1CS (Zcash Sapling)
  • PLONKish (Halo 2, Orchard)
  • AIR/FRI (STARKs)

Masing-masing memiliki trade-off:

  • R1CS → mudah dipahami, constraint berat.
  • PLONK → fleksibel, mendukung custom gates.
  • STARK → tidak butuh trusted setup, tapi bukti lebih besar.

Langkah 2: Pilih finite field

Contoh:

  • BLS12-381 scalar field (255-bit) untuk SNARK.
  • Goldilocks field (ramah 64-bit) untuk STARK (digunakan di Polygon Miden, RISC Zero).

Pemilihan field memengaruhi secara langsung:

  • Ukuran sirkuit
  • Percepatan hardware
  • Kecepatan proving

Langkah 3: Bangun cryptographic commitments

Altcoin tipikal akan menggunakan:

  • Pedersen commitments untuk nilai
  • SHA-based commitments untuk Merkle path
  • Poseidon/Rescue hash di dalam sirkuit (ramah FFT)

Detail jarang diketahui:
Zcash meninggalkan SHA-256 di dalam sirkuit karena SHA-256 sangat mahal dalam jumlah constraint — lebih dari 25.000 constraint per hash.
Poseidon mengurangi ini menjadi ~150 constraint.

Langkah 4: Implementasikan proof of ownership (otorisasi pengeluaran)

Biasanya melibatkan:

  • Memeriksa derivasi kunci
  • Memverifikasi pengetahuan kunci privat
  • Mencegah replay attack

Zcash menggunakan RedJubjub, skema tanda tangan SNARK-friendly (gaya EdDSA tetapi dioptimalkan untuk SNARK).

Langkah 5: Implementasikan logika nullifier

Nullifier = tag unik deterministik untuk note yang telah dibelanjakan.

Sirkuit ZK harus menjamin:

  • Setiap note menghasilkan tepat satu nullifier.
  • Nullifier tidak boleh mengungkap identitas note.
  • Nullifier tidak boleh memungkinkan pengeluaran ganda.

Bagian ini sangat rentan kesalahan — dan penyebab bug terbesar Zcash.

Langkah 6: Bangun persamaan saldo

Buktikan:
inputs_commitments_sum = outputs_commitments_sum

Plus range proofs:

  • Nilai ≥ 0
  • Nilai < 2⁶⁴

Dalam sistem modern, range constraints menggunakan:

  • PLONK lookup arguments
  • Bulletproofs di dalam sirkuit
  • Custom gates

Langkah 7: Agregasi akhir & generasi bukti

Contoh SNARK:

  • Kompilasi sirkuit → QAP polynomial
  • Lakukan FFT untuk evaluasi polynomial
  • Lakukan multi-scalar multiplications
  • Output bukti
  • Node on-chain/verifier memverifikasi dalam milidetik

Contoh STARK:

  • Bangun execution trace
  • Terapkan FRI commitments
  • Output bukti besar tapi transparan
  • Verifikasi dengan operasi hashing

12. Percepatan Hardware ZK (Pengubah Permainan)

Sebagian besar pengguna tidak menyadari bahwa proving ZKP perlahan-lahan menjadi perlombaan perangkat keras:

Proving GPU

  • Operasi FFT dan MSM sangat cocok untuk GPU.
  • Testnet Aleo menunjukkan >50% throughput proving dilakukan pada GPU kelas konsumen (seri RTX).

Proving ASIC

Beberapa perusahaan (Ingonyama, Cysic) sedang merancang ASIC khusus ZKP untuk:

  • Unit MSM
  • Evaluasi polinomial
  • Perhitungan jalur Merkle

Detail relevan secara statistik:

  • Prover ASIC khusus dapat menghasilkan bukti SNARK 20–50× lebih cepat dibanding CPU.

Ini berarti masa depan koin privasi kemungkinan sangat bergantung pada ekosistem hardware khusus, mirip dengan penambangan Bitcoin.

 

13. Masalah Audit Transparan pada Koin ZK

Koin privasi menghadapi paradoks:

  1. Pengguna ingin privasi.
  2. Pengembang perlu memastikan tidak ada inflasi atau kerentanan tersembunyi.
  3. ZK menyembunyikan semuanya.

Beberapa teknik mencoba menyelesaikan ini:

13.1 Viewing Keys (Zcash, Aztec)

Memungkinkan auditor memeriksa akun tertentu tanpa mengungkap akun lain.

13.2 Audit Supply

  • Zcash dapat mengaudit supply pool transparan.
  • Supply pool shielded tidak dapat diaudit secara langsung.
  • Pengembang bergantung pada kebenaran sirkuit untuk menjamin tidak ada inflasi.

Inilah mengapa bug protokol ZK adalah ancaman eksistensial.

 

14. Fakta Kriptografi yang Jarang Tapi Penting

14.1 Paper ZKP Asli Menggunakan Protokol Interaktif

SNARK modern bersifat non-interaktif (melalui heuristik Fiat–Shamir).
Namun ZKP awal memerlukan banyak putaran komunikasi.

14.2 Fiat–Shamir Tidak Terbukti Aman

Jika fungsi hash yang digunakan dalam Fiat–Shamir rusak atau bisa dimanipulasi,
soundness bisa runtuh.

Ini memengaruhi setiap koin privasi berbasis SNARK.

14.3 STARK Berdasarkan Fungsi Hash Murni

Artinya:

  • Mereka diyakini aman pasca-kuantum.
  • Keamanannya hanya bergantung pada resistensi collision dari hash (misal, Rescue, Poseidon).

14.4 Bukti Rekursif Mengurangi Beban Blockchain

Halo 2 (digunakan di Zcash Orchard) memungkinkan:

  • Bukti yang memverifikasi bukti lain
  • Rekursi tak terbatas
  • Tidak memerlukan trusted setup

Ini menghilangkan banyak keterbatasan sistem SNARK sebelumnya.

 

15. Tabel Perbandingan: Sistem ZK pada Altcoin Privasi Besar

ProyekJenis ZKTrusted SetupUkuran BuktiWaktu ProvingCatatan
Zcash OrchardHalo 2 (PLONKish)Tidak ada~1,4 KB~3–5 detikEkosistem paling matang
Firo SparkOne-of-Many + PedersenTidak ada~5–25 KBCepatPrivasi pengirim sangat kuat
AleoSTARK + rekursi SNARKTidak ada~100–200 KBBeratSmart contract ZK
MinaRecursive SNARKTrusted setup~22 KBSedangBlockchain selalu 22 KB
Aztec (pre-v2)zk-SNARKTrusted setup<500 BSedangHybrid rollup privasi
MoneroTidak ada ZKN/A~2 KB per txN/ARing signatures + Bulletproofs

Monero hanya disertakan untuk perbandingan — ia tidak menggunakan zero-knowledge proofs, yang mengejutkan banyak pemula.

16. Pertukaran Nyata Menggunakan ZKP pada Koin Privasi

Keuntungan

  • Privasi maksimal dengan jaminan matematis.
  • Kemampuan menyembunyikan pengirim, penerima, dan jumlah secara bersamaan.
  • Bukti dapat diverifikasi oleh siapa saja.

Kekurangan

  • Biaya komputasi yang berat.
  • Risiko dari bug sirkuit (inflasi).
  • Transaksi lebih besar (kecuali Groth16).
  • Sulit diintegrasikan ke dompet ringan.
  • Kriptografi lebih kompleks → lebih sedikit ahli yang memahaminya → audit lebih lambat.

Isu yang jarang disebut:

Sistem ZK meningkatkan kebocoran determinisme dompet:
pola proving dapat mengungkap perangkat keras dompet, tipe CPU/GPU, atau bahkan OS, memberikan metadata untuk agensi pengawasan rantai.

 

17. Arah Evolusi Privasi Berbasis ZK dalam 5 Tahun Mendatang

Arah yang paling mungkin:

17.1 Lapisan Privasi Universal

Alih-alih membangun privasi di L1:

  • Jaringan seperti Aztec, Penumbra, dan RAILGUN bertujuan menyediakan privasi untuk rantai yang sudah ada.
  • Ini menghindari fragmentasi di antara altcoin.

17.2 Co-processor ZK

Perangkat side-car yang menangani semua komputasi SNARK/STARK untuk dompet atau node.

17.3 Privasi Adaptif (Dipilih Pengguna)

Pengguna dapat secara selektif mengungkap:

  • Jumlah
  • Pengirim
  • Penerima
  • Field memo

Hanya ketika diperlukan secara hukum atau komersial.

17.4 Ekosistem smart contract sepenuhnya privat

Aleo, Aztec 3, dan Penumbra aktif mempelopori arah ini.

17.5 Standar token ramah SNARK

Contoh: ZK-ERC20 dengan:

  • Saldo terenkripsi
  • Bukti transfer ZK
  • Kompatibilitas dengan tooling Ethereum

Ini kemungkinan akan menjadi adopsi ZK mainstream pertama yang sesungguhnya.

 

18. Pemikiran Akhir

Zero-knowledge proofs secara fundamental mendefinisikan ulang arti “privasi” dalam ekosistem blockchain.
Mereka bukan sihir, dan datang dengan risiko rekayasa, kompleksitas kriptografi, dan risiko operasional.
Tapi mereka memungkinkan sesuatu yang tidak bisa dicapai sistem lain:

privasi yang dapat dibuktikan secara matematis dikombinasikan dengan kebenaran yang dapat dibuktikan secara matematis.

Untuk altcoin yang fokus pada privasi, ZKP adalah perisai tertinggi sekaligus tanggung jawab terbesar jika diimplementasikan dengan buruk.
Memahami mekanisme kriptografi secara tepat—commitment, sirkuit, arithmetization, sistem bukti—sangat penting untuk menilai koin privasi di luar narasi pemasaran.

Oleg Filatov

As the Chief Technology Officer at EXMON Exchange, I focus on building secure, scalable crypto infrastructure and developing systems that protect user assets and privacy. With over 15 years in cybersecurity, blockchain, and DevOps, I specialize in smart contract analysis, threat modeling, and secure system architecture.

At EXMON Academy, I share practical insights from real-world experi...

...

Leave a comment

Your email address will not be published. Required fields are marked *