Skip to main content

Apakah itu ZK (zero-knowledge)

Nota: Dokumen ini adalah terjemahan automatik daripada versi asal bahasa Inggeris.

Apakah itu ZK (zero-knowledge)

Bukti zero-knowledge (bukti ZK) ialah teknik kriptografi yang membolehkan satu pihak (pembukti) meyakinkan pihak lain (pengesah) bahawa sesuatu pernyataan adalah benar — tanpa mendedahkan sebarang maklumat melangkaui kebenaran pernyataan itu sendiri. Dalam blockchain, bukti ZK digunakan untuk tiga tujuan utama: privasi (menyembunyikan butiran transaksi sambil membuktikan ia sah), penskalaan (memampatkan banyak transaksi menjadi satu bukti yang disahkan on-chain), dan pengiraan boleh disahkan (membuktikan bahawa pengiraan luar rantaian telah dilakukan dengan betul).

Ringkasnya: bukti ZK membolehkan anda membuktikan sesuatu adalah benar tanpa menunjukkan bagaimana atau mengapa. Dalam kripto, ia membolehkan transaksi peribadi, rollup boleh skala, dan inferens AI yang boleh disahkan — semuanya tanpa memerlukan kepercayaan terhadap pembukti.

Idea teras

Konsep ini berlawanan dengan intuisi: bagaimana anda boleh membuktikan anda mengetahui sesuatu tanpa mendedahkannya? Satu analogi klasik membantu.

Bayangkan sebuah gua dengan dua laluan (kiri dan kanan) yang bertemu di pintu berkunci di bahagian belakang. Anda mendakwa mengetahui kata laluan pintu tersebut. Untuk membuktikannya tanpa mendedahkan kata laluan, seorang pengesah berdiri di pintu masuk gua, dan anda masuk melalui laluan rawak. Pengesah kemudian menjerit laluan mana yang mereka mahu anda keluar. Jika anda mengetahui kata laluan, anda sentiasa boleh keluar dari sisi yang diminta — anda melalui pintu jika perlu. Jika anda tidak mengetahui kata laluan, anda hanya boleh keluar dari sisi yang anda masuki. Selepas banyak pusingan, pengesah menjadi yakin anda mengetahui kata laluan, namun tidak pernah mengetahui apakah kata laluan itu.

Bukti ZK memformalkan intuisi ini secara matematik. Ia memenuhi tiga sifat:

  • Kelengkapan. Jika pernyataan itu benar dan kedua-dua pihak mengikut protokol, pengesah akan diyakinkan.
  • Kekukuhan. Jika pernyataan itu palsu, tiada pembukti yang menipu boleh meyakinkan pengesah (kecuali dengan kebarangkalian yang boleh diabaikan).
  • Zero-knowledge. Pengesah tidak mengetahui apa-apa melangkaui hakikat bahawa pernyataan itu benar.

Bagaimana bukti ZK berfungsi (dipermudahkan)

Sistem bukti ZK melibatkan langkah-langkah berikut:

  1. Perumusan pernyataan. Dakwaan yang hendak dibuktikan dinyatakan sebagai pernyataan matematik — biasanya sebagai litar (satu siri operasi aritmetik) atau satu set persamaan polinomial.
  2. Saksi. Pembukti mempunyai maklumat peribadi ("saksi") yang menjadikan pernyataan itu benar. Contohnya, saksi mungkin merupakan input kepada pengiraan yang menghasilkan output yang diketahui.
  3. Penjanaan bukti. Pembukti menggunakan saksi dan pernyataan untuk menjana bukti — objek matematik yang padat. Ini mahal secara pengiraan bagi pembukti.
  4. Verifikasi bukti. Pengesah menyemak bukti terhadap pernyataan. Verifikasi adalah pantas dan tidak memerlukan saksi. Jika bukti sah, pengesah yakin pernyataan itu benar tanpa mengetahui saksi.

Bukti biasanya jauh lebih kecil daripada saksi, dan verifikasi jauh lebih murah daripada melaksanakan semula pengiraan. Asimetri inilah yang menjadikan bukti ZK berguna untuk penskalaan dan verifikasi blockchain.

zk-SNARK dan zk-STARK

Dua keluarga utama sistem bukti ZK mendominasi ruang blockchain:

zk-SNARK

Succinct Non-interactive Arguments of Knowledge. SNARK menghasilkan bukti yang sangat kecil (beberapa ratus bait) yang murah untuk disahkan. Ia "tidak interaktif" — pembukti menjana bukti dalam satu langkah tanpa ulang-alik dengan pengesah. Kebanyakan pembinaan SNARK memerlukan penyediaan dipercayai (trusted setup) — upacara sekali sahaja yang menjana parameter awam. Jika penyediaan itu terjejas, jaminan kekukuhan akan gagal. SNARK moden (seperti PLONK dan variannya) menggunakan penyediaan dipercayai universal yang berfungsi untuk mana-mana litar, mengurangkan tetapi tidak menghapuskan kebimbangan ini.

zk-STARK

Scalable Transparent Arguments of Knowledge. STARK tidak memerlukan penyediaan dipercayai — ia "telus." Ia juga menawarkan keselamatan pasca-kuantum (tahan terhadap serangan oleh komputer kuantum). Pertukarannya ialah bukti STARK lebih besar daripada bukti SNARK dan verifikasinya agak lebih mahal. STARK amat sesuai untuk pengiraan yang besar kerana masa pembuktiannya berskala secara kuasi-linear dengan saiz pengiraan.

Perbandingan

Sifat zk-SNARK zk-STARK
Saiz bukti Kecil (ratusan bait) Lebih besar (puluhan hingga ratusan kilobait)
Kos verifikasi Rendah Sederhana
Penyediaan dipercayai Diperlukan (kebanyakan pembinaan) Tidak diperlukan (telus)
Keselamatan pasca-kuantum Tidak (kebanyakan pembinaan) Ya
Kos pembukti Sederhana Lebih tinggi, tetapi berskala lebih baik untuk litar besar

Dalam praktiknya, banyak projek menggunakan sistem berasaskan SNARK kerana saiz buktinya yang kecil dan kos verifikasi yang rendah, manakala STARK semakin diterima pakai di mana ketelusan dan keselamatan pasca-kuantum menjadi keutamaan.

ZK dalam blockchain: aplikasi utama

Privasi

Bukti ZK membolehkan transaksi peribadi pada blockchain awam. Pengguna boleh membuktikan transaksi mereka sah (baki betul, tiada perbelanjaan berganda) tanpa mendedahkan penghantar, penerima, atau jumlahnya. Protokol yang berfokuskan privasi menggunakan ini untuk mewujudkan pemindahan sulit pada rantaian yang sebaliknya telus.

Penskalaan (zk-rollup)

ZK-rollup ialah penyelesaian penskalaan Layer 2 yang melaksanakan transaksi luar rantaian, mengelompokkannya, dan menjana bukti ZK bahawa keseluruhan kelompok telah diproses dengan betul. Hanya bukti dan ringkasan perubahan keadaan disiarkan ke lapisan asas (Layer 1). Kontrak pintar L1 mengesahkan bukti dan menerima kemas kini keadaan. Ini memampatkan beribu-ribu transaksi menjadi satu verifikasi bukti, meningkatkan daya pemprosesan secara mendadak sambil mewarisi keselamatan lapisan asas. Pelaksanaan zk-rollup utama termasuk zkSync, StarkNet, Polygon zkEVM, Scroll, dan Linea.

Untuk maklumat lanjut tentang penskalaan Layer 2, lihat L2.

Pengiraan boleh disahkan dan zkML

Bukti ZK boleh mengesahkan bahawa sebarang pengiraan telah dilakukan dengan betul. Ini meluas kepada AI: zkML menggunakan bukti ZK untuk mengesahkan bahawa model pembelajaran mesin menghasilkan output tertentu daripada input tertentu, tanpa mendedahkan pemberat model atau data input. Kontrak pintar boleh mengesahkan bukti on-chain, mewujudkan jaminan tanpa kepercayaan bahawa inferens AI telah dikira dengan betul.

zkML mewakili salah satu aplikasi ZK yang paling bercita-cita tinggi secara teknikal dalam AI kripto. Ia memberikan jaminan matematik (tanpa kepercayaan) tentang inferens yang betul tetapi buat masa ini terhad kepada model kecil kerana kos pengiraan penjanaan bukti.

Mengapa ZK penting untuk AI kripto

Bukti ZK menangani dua keperluan kritikal dalam AI terdesentralisasi:

  • AI boleh disahkan. Apabila inferens AI berjalan pada perkakasan pihak ketiga yang tidak dipercayai, bukti ZK boleh menjamin keputusan itu betul tanpa melaksanakan semula pengiraan. Ini penting untuk aplikasi on-chain di mana output AI mencetuskan tindakan kontrak pintar.
  • Privasi. Bukti ZK membolehkan pengiraan AI di mana model, input, atau kedua-duanya kekal peribadi. Pengguna boleh mendapatkan keputusan yang dijana AI tanpa penyedia pengiraan melihat pertanyaan, dan pemilik model boleh membuktikan model mereka digunakan tanpa mendedahkan pemberatnya.

Dalam rangka kerja penilaian DecAIHub, verifikasi berasaskan ZK berfungsi sebagai penunjuk integrasi AI on-chain yang tulen — ia mewujudkan hubungan yang boleh disahkan secara matematik antara pengiraan AI luar rantaian dan keadaan on-chain.

Di mana ia muncul dalam kad projek DecAIHub

Ciri berkaitan ZK muncul di beberapa tempat:

  • AI component — nilai seperti "zkML inference," "ZK-verified computation," atau "zero-knowledge proof of inference" menandakan verifikasi AI berasaskan ZK.
  • Category — projek yang menggunakan ZK untuk AI mungkin muncul dalam kategori AI/Inference atau AI/Compute dengan ZK sebagai mekanisme verifikasi.
  • Jadual Evidence — bukti Tier-1 untuk ZK termasuk kontrak pengesah yang digunakan, penanda aras bukti yang diterbitkan, pelaksanaan litar, dan transaksi verifikasi on-chain.
  • Artifak on-chain — kontrak pengesah ZK on-chain ialah bukti konkrit integrasi ZK sebenar, menyumbang kepada dimensi Onchain necessity.

Apa yang ZK tidak buktikan

  • ZK membuktikan pengiraan berjalan dengan betul — ia tidak membuktikan pengiraan itu berguna, modelnya bagus, atau datanya tepat. Sampah yang disahkan tetap sampah.
  • ZK tidak membuktikan bahawa token diperlukan. Bukti ZK berfungsi tanpa blockchain; keputusan untuk meletakkan verifikasi on-chain ialah pilihan seni bina.
  • ZK tidak membuktikan desentralisasi. Penyedia terpusat boleh menjana bukti ZK untuk pengiraannya sendiri.
  • ZK tidak membuktikan bahawa model itu adalah yang didakwa melainkan komitmen model (hash pemberat) berlabuh secara awam dan bukti terikat kepada komitmen tersebut.
  • Projek yang menyebut ZK dalam kertas putihnya tidak bermakna ZK telah dilaksanakan. Cari kontrak pengesah yang digunakan, penanda aras bukti, dan kod litar sebagai bukti.

Jangan kelirukan dengan

  • Privasi — privasi ialah matlamat yang lebih luas. ZK ialah satu alat untuk mencapainya. Mekanisme privasi lain termasuk TEE, MPC, dan penyulitan homomorfik.
  • TEE (Trusted Execution Environment) — TEE menyediakan kerahsiaan berasaskan perkakasan. ZK menyediakan bukti matematik. Kedua-duanya boleh digunakan untuk AI boleh disahkan, dengan andaian kepercayaan dan pertukaran prestasi yang berbeza.
  • zkML — aplikasi khusus bukti ZK kepada inferens pembelajaran mesin. ZK ialah teknik kriptografi umum; zkML ialah kes penggunaan khusus.
  • Penyulitan — penyulitan menyembunyikan data. Bukti ZK membuktikan pernyataan tentang data tanpa mendedahkannya. Ia adalah operasi yang berbeza: penyulitan mengubah data menjadi bentuk yang tidak boleh dibaca, manakala bukti ZK menjana bukti matematik tentang data tanpa mendedahkannya.
  • Verifikasi optimistik — menganggap keputusan adalah betul dan menggunakan bukti penipuan hanya apabila dicabar. ZK membuktikan ketepatan secara proaktif di awal. Ini adalah pendekatan saling melengkapi yang digunakan dalam reka bentuk L2 yang berbeza (optimistic rollup vs zk-rollup).

Soalan lazim

Apakah perbezaan antara zk-SNARK dan zk-STARK?

Kedua-duanya ialah keluarga sistem bukti zero-knowledge, tetapi ia berbeza dalam sifat utama. zk-SNARK menghasilkan bukti yang lebih kecil dan mempunyai kos verifikasi yang lebih rendah tetapi biasanya memerlukan penyediaan dipercayai — upacara sekali sahaja untuk menjana parameter sistem. zk-STARK tidak memerlukan penyediaan dipercayai (ia telus) dan menawarkan keselamatan pasca-kuantum, tetapi buktinya lebih besar dan lebih mahal untuk disahkan. Pilihan bergantung pada aplikasi: SNARK diutamakan apabila saiz bukti dan kos verifikasi adalah kritikal (cth., verifikasi on-chain), manakala STARK diutamakan apabila ketelusan dan keselamatan jangka panjang menjadi keutamaan.

Bagaimana bukti ZK digunakan untuk penskalaan blockchain?

ZK-rollup melaksanakan transaksi luar rantaian secara berkelompok, kemudian menjana satu bukti ZK bahawa keseluruhan kelompok telah diproses dengan betul. Bukti ini diserahkan kepada blockchain Layer 1 bersama ringkasan perubahan keadaan yang dimampatkan. Kontrak pintar L1 mengesahkan bukti tersebut — yang jauh lebih murah daripada melaksanakan semula semua transaksi — dan menerima kemas kini keadaan. Ini membolehkan L1 memproses kesan beribu-ribu transaksi dengan mengesahkan satu bukti, meningkatkan daya pemprosesan secara mendadak.

Apakah kaitan antara ZK dan AI?

Bukti ZK boleh mengesahkan bahawa inferens model AI telah dilakukan dengan betul tanpa mendedahkan model atau data input. Aplikasi ini, dipanggil zkML, membolehkan verifikasi AI tanpa kepercayaan on-chain: kontrak pintar boleh mengesahkan bahawa model tertentu menghasilkan output tertentu. Buat masa ini, zkML hanya praktikal untuk model kecil kerana kos pengiraan menukar operasi model kepada litar ZK dan menjana bukti. Apabila sistem bukti bertambah baik, julat model AI yang boleh disahkan akan berkembang.

Adakah bukti ZK mahal secara pengiraan?

Penjanaan bukti adalah mahal — jauh lebih mahal daripada pengiraan asasnya. Menjana bukti ZK untuk sesuatu pengiraan boleh mengambil masa sepuluh hingga seribu kali lebih lama daripada sekadar menjalankan pengiraan itu. Walau bagaimanapun, verifikasi bukti adalah murah dan pantas. Asimetri ini disengajakan: pembukti melakukan kerja berat sekali, dan sebarang bilangan pengesah boleh menyemak keputusan dengan cekap. Bagi aplikasi blockchain, ini bermakna penjanaan bukti yang mahal berlaku luar rantaian manakala verifikasi yang murah berlaku on-chain.

Rujukan luaran

Lihat juga