Cryptology Academy · Pelajaran

zk-SNARK: Argumen Singkat Non-Interaktif

Pahami penyiapan Groth16, pembuatan pembuktian, dan verifikasi.

Pelajaran 3 dari 413 langkah

zk-SNARK: Argumen Singkat Non-Interaktif adalah pelajaran Cryptology Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cryptology Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa Itu zk-SNARK?

zk-SNARK (Argumen Pengetahuan Non-interaktif Ringkas tanpa Pengetahuan) adalah bukti yang: (1) bersifat tanpa pengetahuan, (2) ringkas (bukti kecil, verifikasi cepat terlepas dari ukuran komputasi), (3) non-interaktif (satu untaian bukti).

Motivasi

Protokol Sigma cocok untuk pernyataan sederhana (pengetahuan tentang logaritma diskret). Untuk komputasi kompleks — "Saya menjalankan fungsi ini dengan benar pada masukan privat" — kita memerlukan sistem bukti serbaguna. SNARK membuktikan komputasi arbitrer dalam waktu verifikasi O(1).

Sirkuit Aritmetika

Komputasi pertama-tama dinyatakan sebagai sirkuit aritmetika: graf asiklik berarah yang terdiri dari gerbang penjumlahan dan perkalian pada medan hingga. Contoh: membuktikan bahwa Anda mengetahui x sedemikian sehingga x^3 + x + 5 = 35 tanpa mengungkapkan x=3. Sirkuit tersebut memiliki sekitar 5 gerbang.

R1CS: Sistem Kendala Peringkat-1

Sirkuit aritmetika dikonversi menjadi R1CS: sekumpulan kendala (A*z)*(B*z) = C*z, dengan z sebagai vektor semua nilai kabel. Setiap gerbang perkalian menjadi satu kendala. Pembukti harus menemukan z yang memenuhi semua kendala tanpa mengungkapkan kabel privat.

QAP: Program Aritmetika Kuadratik

R1CS dikonversi menjadi QAP: polinom A(x), B(x), C(x) sehingga A(x)*B(x)-C(x) habis dibagi polinom target t(x) jika dan hanya jika semua kendala terpenuhi. Pembukti menunjukkan bahwa ia mengetahui hasil bagi polinom H(x) tanpa mengungkapkan saksi.

Bukti Groth16

Groth16 (2016) adalah SNARK umum yang paling efisien. Setelah penyiapan tepercaya (pembuatan CRS), pembukti menghasilkan bukti yang terdiri dari 3 elemen grup (sekitar 192 byte untuk BLS12-381). Verifikasi: 3 operasi pemasangan. Bukti berukuran konstan, terlepas dari ukuran sirkuit.

Upacara Penyiapan Tepercaya

Groth16 memerlukan penyiapan tepercaya untuk setiap sirkuit: ambil limbah beracun (rahasia acak), hitung Common Reference String, lalu hancurkan limbah beracun tersebut. Jika limbah itu masih ada, penyerang dapat memalsukan bukti. Upacara multipihak (Powers of Tau) mendistribusikan kepercayaan.

PLONK: Penyiapan Universal

PLONK (2019) menggunakan penyiapan tepercaya universal: satu upacara berlaku untuk semua sirkuit hingga batas ukuran tertentu. Tidak diperlukan penyiapan khusus untuk setiap sirkuit. Imbalannya: bukti sedikit lebih besar daripada Groth16. Digunakan dalam implementasi zkEVM (Polygon Hermez, zkSync Era).

STARK vs SNARK

STARK (Argumen Pengetahuan Transparan yang Dapat Diskalakan) tidak memerlukan penyiapan tepercaya dan menggunakan fungsi hash (aman pascakuantum). Imbalannya: bukti lebih besar (puluhan KB dibandingkan 200 byte). Digunakan dalam StarkWare/StarkNet dan bahasa Cairo. SNARK lebih kecil; STARK tahan kuantum.

Kriptografi Berbasis Pemasangan

Groth16 menggunakan pemasangan bilinear: e: G1 × G2 → GT, dengan e(a*P, b*Q) = e(P,Q)^{ab}. Ini memungkinkan pemeriksaan identitas polinom dalam eksponen tanpa mengungkapkan nilai. Kurva BLS12-381 dioptimalkan untuk pemasangan Groth16 yang efisien.

Biaya Pembuatan Bukti

Waktu pembuktian Groth16 untuk sirkuit dengan 10^6 gerbang: sekitar 10 detik pada CPU modern. Verifikasi: sekitar 1 ms. Asimetri ini disengaja: pembukti (yang melakukan komputasi berat) mengerjakan tugas; pemeriksa (simpul blockchain) hampir tidak melakukan pekerjaan.

Pemeriksaan Singkat

Apa kelemahan utama Groth16 dibandingkan dengan PLONK?

Rangkuman

zk-SNARK membuktikan komputasi arbitrer dalam bukti berukuran konstan. Alur pemrosesan: komputasi → sirkuit aritmetika → R1CS → QAP → bukti SNARK. Groth16 paling efisien (penyiapan tepercaya untuk setiap sirkuit); PLONK menggunakan penyiapan universal. Berikutnya: penerapan ZKP dalam blockchain.

Gratis untuk memulai

Belajar Cryptology Academy dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
67
Pelajaran
261

Pertanyaan yang Sering Diajukan

Apakah pelajaran “zk-SNARK: Argumen Singkat Non-Interaktif” gratis?

Ya — teks lengkap “zk-SNARK: Argumen Singkat Non-Interaktif” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cryptology Academy, upgrade ke CoddyKit PRO. Kursus Cryptology Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “zk-SNARK: Argumen Singkat Non-Interaktif”?

Pahami penyiapan Groth16, pembuatan pembuktian, dan verifikasi. Kamu berlatih Cryptology Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cryptology Academy?

Tidak diperlukan pengalaman sebelumnya. Cryptology Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “zk-SNARK: Argumen Singkat Non-Interaktif” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cryptology Academy ini?

Ya. Setiap pelajaran Cryptology Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Intuisi ZKP: Gua Ali Baba
  2. Protokol Sigma & Identifikasi Schnorr
  3. zk-SNARK: Argumen Singkat Non-Interaktif
  4. Penerapan ZKP: ZK Rollup & Koin Privasi
← Kembali ke Cryptology Academy