Skip to main content

Apa itu ZK (zero-knowledge)

Catatan: Dokumen ini adalah terjemahan otomatis dari versi asli bahasa Inggris.

Apa itu ZK (zero-knowledge)

Zero-knowledge proof (bukti ZK) adalah teknik kriptografi yang memungkinkan satu pihak (prover) meyakinkan pihak lain (verifier) bahwa suatu pernyataan benar — tanpa mengungkapkan informasi apa pun di luar kebenaran pernyataan itu sendiri. Dalam blockchain, bukti ZK digunakan untuk tiga tujuan utama: privasi (menyembunyikan detail transaksi sambil membuktikan validitasnya), penskalaan (mengompresi banyak transaksi menjadi satu bukti yang diverifikasi on-chain), dan komputasi yang dapat diverifikasi (membuktikan bahwa komputasi off-chain dilakukan dengan benar).

Singkatnya: bukti ZK memungkinkan Anda membuktikan sesuatu benar tanpa menunjukkan bagaimana atau mengapa. Dalam kripto, bukti ini memungkinkan transaksi privat, rollup yang skalabel, dan inference AI yang dapat diverifikasi — semuanya tanpa memerlukan kepercayaan pada prover.

Ide inti

Konsepnya kontraintuitif: bagaimana Anda bisa membuktikan mengetahui sesuatu tanpa mengungkapkannya? Sebuah analogi klasik membantu.

Bayangkan sebuah gua dengan dua jalur (kiri dan kanan) yang bertemu di sebuah pintu terkunci di bagian belakang. Anda mengklaim mengetahui kata sandi pintu itu. Untuk membuktikannya tanpa mengungkapkan kata sandi, seorang verifier berdiri di pintu masuk gua, dan Anda masuk melalui jalur acak. Verifier kemudian meneriakkan jalur mana yang mereka ingin Anda gunakan untuk keluar. Jika Anda tahu kata sandinya, Anda selalu bisa keluar dari sisi yang diminta — Anda melewati pintu jika perlu. Jika Anda tidak tahu kata sandinya, Anda hanya bisa keluar dari sisi tempat Anda masuk. Setelah banyak putaran, verifier menjadi yakin Anda mengetahui kata sandinya, namun tidak pernah mengetahui apa kata sandi itu.

Bukti ZK memformalkan intuisi ini secara matematis. Bukti ini memenuhi tiga sifat:

  • Completeness. Jika pernyataan benar dan kedua pihak mengikuti protokol, verifier akan yakin.
  • Soundness. Jika pernyataan salah, tidak ada prover curang yang dapat meyakinkan verifier (kecuali dengan probabilitas yang dapat diabaikan).
  • Zero-knowledge. Verifier tidak mempelajari apa pun di luar fakta bahwa pernyataan itu benar.

Cara kerja bukti ZK (disederhanakan)

Sistem bukti ZK melibatkan langkah-langkah berikut:

  1. Perumusan pernyataan. Klaim yang akan dibuktikan diekspresikan sebagai pernyataan matematis — biasanya sebagai sirkuit (rangkaian operasi aritmetika) atau sekumpulan persamaan polinomial.
  2. Witness. Prover memiliki informasi privat ("witness") yang membuat pernyataan itu benar. Misalnya, witness bisa berupa input dari sebuah komputasi yang menghasilkan output yang diketahui.
  3. Pembuatan bukti. Prover menggunakan witness dan pernyataan untuk membuat bukti — sebuah objek matematis yang ringkas. Ini mahal secara komputasi bagi prover.
  4. Verifikasi bukti. Verifier memeriksa bukti terhadap pernyataan. Verifikasi berjalan cepat dan tidak memerlukan witness. Jika bukti valid, verifier yakin pernyataan itu benar tanpa mengetahui witness-nya.

Bukti biasanya jauh lebih kecil daripada witness, dan verifikasi jauh lebih murah daripada mengeksekusi ulang komputasi. Asimetri inilah yang membuat bukti ZK berguna untuk penskalaan dan verifikasi blockchain.

zk-SNARK dan zk-STARK

Dua keluarga besar sistem bukti ZK mendominasi ranah blockchain:

zk-SNARK

Succinct Non-interactive Arguments of Knowledge. SNARK menghasilkan bukti yang sangat kecil (beberapa ratus byte) yang murah untuk diverifikasi. Bukti ini "non-interaktif" — prover membuat bukti dalam satu langkah tanpa bolak-balik dengan verifier. Sebagian besar konstruksi SNARK memerlukan trusted setup — sebuah seremoni satu kali yang menghasilkan parameter publik. Jika setup ini dikompromikan, jaminan soundness rusak. SNARK modern (seperti PLONK dan variannya) menggunakan trusted setup universal yang berfungsi untuk sirkuit mana pun, mengurangi tetapi tidak menghilangkan kekhawatiran ini.

zk-STARK

Scalable Transparent Arguments of Knowledge. STARK tidak memerlukan trusted setup — bersifat "transparan." STARK juga menawarkan keamanan pasca-kuantum (tahan terhadap serangan komputer kuantum). Kompromi yang dibayar adalah bukti STARK lebih besar daripada bukti SNARK dan verifikasinya agak lebih mahal. STARK sangat cocok untuk komputasi besar karena waktu prover-nya berskala kuasi-linier terhadap ukuran komputasi.

Perbandingan

Sifat zk-SNARK zk-STARK
Ukuran bukti Kecil (ratusan byte) Lebih besar (puluhan hingga ratusan kilobyte)
Biaya verifikasi Rendah Sedang
Trusted setup Diperlukan (sebagian besar konstruksi) Tidak diperlukan (transparan)
Keamanan pasca-kuantum Tidak (sebagian besar konstruksi) Ya
Biaya prover Sedang Lebih tinggi, tetapi berskala lebih baik untuk sirkuit besar

Dalam praktiknya, banyak proyek menggunakan sistem berbasis SNARK karena ukuran buktinya yang kecil dan biaya verifikasinya yang rendah, sementara STARK semakin diadopsi ketika transparansi dan keamanan pasca-kuantum menjadi prioritas.

ZK dalam blockchain: aplikasi utama

Privasi

Bukti ZK memungkinkan transaksi privat di blockchain publik. Pengguna dapat membuktikan transaksinya valid (saldo benar, tanpa double-spending) tanpa mengungkapkan pengirim, penerima, atau jumlahnya. Protokol yang berfokus pada privasi menggunakan ini untuk menciptakan transfer rahasia di chain yang seharusnya transparan.

Penskalaan (zk-rollup)

ZK-rollup adalah solusi penskalaan Layer 2 yang mengeksekusi transaksi off-chain, mengelompokkannya, dan membuat bukti ZK bahwa seluruh batch diproses dengan benar. Hanya bukti dan ringkasan perubahan state yang dikirim ke lapisan dasar (Layer 1). Smart contract L1 memverifikasi bukti dan menerima pembaruan state. Ini mengompresi ribuan transaksi menjadi satu verifikasi bukti, secara dramatis meningkatkan throughput sambil mewarisi keamanan lapisan dasar. Implementasi zk-rollup utama meliputi zkSync, StarkNet, Polygon zkEVM, Scroll, dan Linea.

Untuk informasi lebih lanjut tentang penskalaan Layer 2, lihat L2.

Komputasi yang dapat diverifikasi dan zkML

Bukti ZK dapat memverifikasi bahwa komputasi apa pun dilakukan dengan benar. Ini meluas ke AI: zkML menggunakan bukti ZK untuk memverifikasi bahwa sebuah model machine learning menghasilkan output tertentu dari input tertentu, tanpa mengungkapkan bobot model atau data input. Sebuah smart contract dapat memverifikasi bukti tersebut on-chain, menciptakan jaminan tanpa kepercayaan bahwa inference AI dihitung dengan benar.

zkML merepresentasikan salah satu aplikasi ZK yang paling ambisius secara teknis dalam kripto AI. Ia memberikan jaminan matematis (trustless) atas kebenaran inference tetapi saat ini terbatas pada model kecil karena biaya komputasi pembuatan bukti.

Mengapa ZK penting untuk kripto AI

Bukti ZK menjawab dua kebutuhan kritis dalam AI terdesentralisasi:

  • AI yang dapat diverifikasi. Ketika inference AI berjalan di perangkat keras pihak ketiga yang tidak tepercaya, bukti ZK dapat menjamin hasilnya benar tanpa menjalankan ulang komputasi. Ini esensial bagi aplikasi on-chain di mana output AI memicu aksi smart contract.
  • Privasi. Bukti ZK memungkinkan komputasi AI di mana model, input, atau keduanya tetap privat. Pengguna dapat memperoleh hasil buatan AI tanpa penyedia komputasi melihat kuerinya, dan pemilik model dapat membuktikan modelnya digunakan tanpa mengungkapkan bobotnya.

Dalam kerangka evaluasi DecAIHub, verifikasi berbasis ZK berfungsi sebagai indikator integrasi AI on-chain yang asli — verifikasi ini menciptakan tautan yang dapat diverifikasi secara matematis antara komputasi AI off-chain dan state on-chain.

Di mana ini muncul dalam kartu proyek DecAIHub

Fitur terkait ZK muncul di beberapa tempat:

  • AI component — nilai seperti "zkML inference," "ZK-verified computation," atau "zero-knowledge proof of inference" menunjukkan verifikasi AI berbasis ZK.
  • Category — proyek yang menggunakan ZK untuk AI dapat muncul di kategori AI/Inference atau AI/Compute dengan ZK sebagai mekanisme verifikasi.
  • Tabel Evidence — bukti Tier-1 untuk ZK mencakup kontrak verifier yang diterapkan, benchmark bukti yang dipublikasikan, implementasi sirkuit, dan transaksi verifikasi on-chain.
  • Artefak on-chain — kontrak verifier ZK di on-chain adalah bukti konkret integrasi ZK yang nyata, berkontribusi pada dimensi Onchain necessity.

Apa yang tidak dibuktikan oleh ZK

  • ZK membuktikan bahwa komputasi berjalan dengan benar — ia tidak membuktikan komputasinya berguna, modelnya bagus, atau datanya akurat. Sampah yang terverifikasi tetaplah sampah.
  • ZK tidak membuktikan bahwa sebuah token diperlukan. Bukti ZK bekerja tanpa blockchain; keputusan untuk menempatkan verifikasi on-chain adalah pilihan arsitektural.
  • ZK tidak membuktikan desentralisasi. Penyedia tersentralisasi dapat membuat bukti ZK untuk komputasinya sendiri.
  • ZK tidak membuktikan bahwa modelnya adalah model yang diklaim, kecuali komitmen model (hash dari bobot) dijangkarkan secara publik dan buktinya terikat pada komitmen tersebut.
  • Sebuah proyek yang menyebut ZK dalam whitepaper-nya tidak berarti ZK sudah diimplementasikan. Carilah kontrak verifier yang diterapkan, benchmark bukti, dan kode sirkuit sebagai bukti.

Jangan bingung dengan

  • Privasi — privasi adalah tujuan yang lebih luas. ZK adalah salah satu alat untuk mencapainya. Mekanisme privasi lain meliputi TEE, MPC, dan enkripsi homomorfik.
  • TEE (Trusted Execution Environment) — TEE menyediakan kerahasiaan berbasis perangkat keras. ZK menyediakan bukti matematis. Keduanya dapat digunakan untuk AI yang dapat diverifikasi, dengan asumsi kepercayaan dan kompromi kinerja yang berbeda.
  • zkML — aplikasi spesifik dari bukti ZK untuk inference machine learning. ZK adalah teknik kriptografi umumnya; zkML adalah use case yang terspesialisasi.
  • Enkripsi — enkripsi menyembunyikan data. Bukti ZK membuktikan pernyataan tentang data tanpa mengungkapkannya. Keduanya adalah operasi yang berbeda: enkripsi mengubah data menjadi bentuk yang tak terbaca, sedangkan bukti ZK menghasilkan bukti matematis tentang data tanpa memaparkannya.
  • Verifikasi optimistik — mengasumsikan hasil benar dan menggunakan fraud proof hanya ketika ditantang. ZK secara proaktif membuktikan kebenaran di awal. Keduanya adalah pendekatan komplementer yang digunakan dalam desain L2 yang berbeda (optimistic rollup vs zk-rollup).

Pertanyaan yang sering diajukan

Apa perbedaan antara zk-SNARK dan zk-STARK?

Keduanya adalah keluarga sistem bukti zero-knowledge, tetapi berbeda dalam sifat-sifat kunci. zk-SNARK menghasilkan bukti yang lebih kecil dan memiliki biaya verifikasi lebih rendah tetapi biasanya memerlukan trusted setup — seremoni satu kali untuk menghasilkan parameter sistem. zk-STARK tidak memerlukan trusted setup (bersifat transparan) dan menawarkan keamanan pasca-kuantum, tetapi buktinya lebih besar dan lebih mahal untuk diverifikasi. Pilihannya bergantung pada aplikasi: SNARK lebih disukai ketika ukuran bukti dan biaya verifikasi kritis (mis. verifikasi on-chain), sementara STARK lebih disukai ketika transparansi dan keamanan jangka panjang menjadi prioritas.

Bagaimana bukti ZK digunakan untuk penskalaan blockchain?

ZK-rollup mengeksekusi transaksi off-chain dalam batch, lalu membuat satu bukti ZK bahwa seluruh batch diproses dengan benar. Bukti ini dikirimkan ke blockchain Layer 1 bersama ringkasan terkompresi dari perubahan state. Smart contract L1 memverifikasi bukti — yang jauh lebih murah daripada mengeksekusi ulang semua transaksi — dan menerima pembaruan state. Ini memungkinkan L1 memproses efek dari ribuan transaksi dengan memverifikasi satu bukti, secara dramatis meningkatkan throughput.

Apa hubungan antara ZK dan AI?

Bukti ZK dapat memverifikasi bahwa inference sebuah model AI dilakukan dengan benar tanpa mengungkapkan model atau data input. Aplikasi ini, yang disebut zkML, memungkinkan verifikasi AI tanpa kepercayaan di on-chain: sebuah smart contract dapat mengonfirmasi bahwa model tertentu menghasilkan output tertentu. Saat ini, zkML hanya praktis untuk model kecil karena biaya komputasi untuk mengonversi operasi model menjadi sirkuit ZK dan membuat bukti. Seiring membaiknya sistem bukti, cakupan model AI yang dapat diverifikasi akan meluas.

Apakah bukti ZK mahal secara komputasi?

Pembuatan bukti mahal — jauh lebih mahal daripada komputasi yang mendasarinya. Membuat bukti ZK untuk sebuah komputasi bisa memakan waktu sepuluh hingga seribu kali lebih lama daripada sekadar menjalankan komputasinya. Namun, verifikasi bukti murah dan cepat. Asimetri ini memang disengaja: prover melakukan kerja berat sekali, dan berapa pun jumlah verifier dapat memeriksa hasilnya secara efisien. Untuk aplikasi blockchain, ini berarti pembuatan bukti yang mahal terjadi off-chain sementara verifikasi yang murah terjadi on-chain.

Referensi eksternal

Lihat juga