Kekuatan Bukti Tanpa Pengetahuan: Menyelami lebih dalam zk-SNARK

12/28/2023, 4:28:45 AM
Lanjutan
Blockchain
Artikel ini memberikan wawasan teknis mendalam tentang zk-SNARKs.

Artikel ini akan menguraikan teknologi ini menggunakan matematika, mengilustrasikan bagaimana teknologi ini dapat membuktikan kebenaran pengetahuan tanpa mengungkapkan informasi apa pun.

Disusun oleh: Penelitian DODO

Penulis: Salah satu pendiri 0xAlpha @DeriProtocol

Pengantar

Zk-SNARK, atau argumen pengetahuan non-interaktif ringkas tanpa pengetahuan, memungkinkan verifikator mengonfirmasi bahwa pembukti memiliki pengetahuan tertentu (disebut saksi) yang memenuhi hubungan tertentu tanpa mengungkapkan informasi apa pun tentang pengetahuan itu sendiri.

Menghasilkan zk-SNARK untuk masalah tertentu melibatkan empat tahap berikut:

  • Ubah suatu masalah (atau fungsi) menjadi rangkaian aritmatika.
  • Rangkaian ini kemudian diterjemahkan ke dalam persamaan matriks.
  • Persamaan matriks ini selanjutnya diubah menjadi polinomial yang harus habis dibagi polinomial minimum tertentu.
  • Akhirnya, pembagian ini dinyatakan dalam titik-titik kurva elips di atas bidang berhingga, tempat pembuktian dilakukan.

Tiga langkah pertama hanya mengubah representasi pernyataan asli. Langkah terakhir memproyeksikan pernyataan dari langkah ketiga ke dalam ruang terenkripsi menggunakan enkripsi homomorfik, sehingga pembukti dapat memverifikasi pernyataan yang dicerminkan di dalamnya. Mengingat proyeksi ini menggunakan enkripsi asimetris, tidak mungkin untuk mundur dari pernyataan di langkah 3 ke pernyataan awal, sehingga memastikan paparan tanpa pengetahuan.

Latar belakang matematika yang diperlukan untuk membaca artikel ini sebanding dengan tingkat aljabar yang diharapkan dari mahasiswa STEM tahun pertama. Satu-satunya konsep yang mungkin menantang adalah kriptografi kurva elips. Bagi mereka yang belum terbiasa dengan hal ini, Anda dapat menganggapnya sebagai fungsi eksponensial dengan basis khusus, mengingat kebalikannya masih belum terpecahkan.

Artikel ini akan mengikuti aturan notasi berikut:

Matriks: Huruf besar tebal, mis A; ditulis dalam bentuk eksplisit \
Vektor: Huruf kecil dengan tanda panah, ditulis dalam bentuk eksplisit [ ]; semua vektor adalah vektor kolom secara default \
Skalar: Diwakili dengan huruf biasa

Mari kita ambil pertanyaan berikut sebagai contoh:

f(x)=x^3+x^2+5 (1)

Misalkan Alice ingin membuktikan bahwa dia mengetahui suatu kebenaran. Kami akan membahas seluruh prosedur yang perlu dilakukan Alice untuk menghasilkan zk-SNARK sebagai buktinya.
Pertanyaan ini mungkin tampak terlalu sederhana karena tidak melibatkan aliran kendali (misalnya, jika-maka-lainnya). Namun, tidak sulit untuk mengubah fungsi dengan aliran kontrol menjadi ekspresi aritmatika. Misalnya, perhatikan masalah berikut (atau “fungsi” dalam bahasa pemrograman):

f(x, z):
jika(z==1):
kembalikan xxx+xx+5
kalau tidak:
kembalikan xx
+5

Menulis ulang soal ini ke dalam ekspresi aritmatika berikut (dengan asumsi z termasuk dalam (0,1)) tidak lebih rumit dari persamaan (1) .

f(x,z)=(z-1)(x^2+5)+z(x^3+x^2+5)

Pada artikel kali ini kita akan terus menggunakan persamaan (1) sebagai dasar pembahasan kita.

Langkah 1: Sirkuit Aritmatika

Persamaan (1) dapat dipecah menjadi operasi aritmatika dasar berikut:

Hal ini sesuai dengan rangkaian aritmatika berikut:

Kita juga menyebut persamaan (2) sebagai himpunan yang terdiri dari 4 “batasan primer”, masing-masing batasan menggambarkan hubungan gerbang aritmatika dalam rangkaian. Secara umum himpunan n batasan utama dapat diringkas sebagai program aritmatika kuadrat (QAP) yang akan dijelaskan selanjutnya.

Langkah 2: Matriks

Pertama, mari kita definisikan vektor “saksi” sebagai berikut:

dimana y, s1, s2, dan s3 didefinisikan seperti pada persamaan (2).
Biasanya, untuk masalah dengan m masukan dan n gerbang aritmatika (mis n-1 langkah perantara dan hasil akhir), vektor saksi ini akan berdimensi (m+n+1). Dalam kasus dunia nyata, angka n bisa sangat besar. Misalnya, untuk fungsi hash, n biasanya berjumlah ribuan.

Selanjutnya, kita buat tiga n(m+n+1) matriks A,B,C sehingga kita dapat menulis ulang persamaan (2) sebagai berikut:

Persamaan (3) hanyalah representasi lain dari persamaan (2): setiap himpunan (ai, bi, ci) berhubungan dengan gerbang dalam rangkaian. Kita dapat melihatnya dengan memperluas persamaan matriks secara eksplisit:

Jadi LHS=RHS sama persis dengan persamaan (2), dan setiap baris persamaan matriks berhubungan dengan batasan primer (yaitu, gerbang aritmatika dalam rangkaian).

Kami melewatkan langkah-langkah membangun (A, B, C), yang sebenarnya relatif mudah. Kita hanya perlu mengubahnya menjadi matriks sesuai dengan batasan utama yang bersangkutan untuk menentukan isi setiap baris (A, B, C), yaitu (ai, bi, ci). Ambil baris pertama sebagai contoh: kita dapat dengan mudah melihat bahwa untuk membuat batasan utama pertama x dikalikan x sama dengan s1, kita perlu mengalikan [0,1,0,0,0], [0, 1,0, 0,0] dan [0,0,0,1,0,0] dengan vektor s.

Dengan demikian, kita telah berhasil mengubah rangkaian aritmatika menjadi persamaan matriks yaitu persamaan (3). Pada saat yang sama, kami juga mengubah objek yang perlu dibuktikan penguasaannya menjadi vektor saksi s.

Langkah 3: Polinomial

Sekarang, mari kita buat matriks PA n(n+m+*1), yang mendefinisikan himpunan polinomial mengenai z:

Memastikan bahwa fungsinyamengambil nilai berikut di {1, 2, 3, 4} memenuhi ketentuan:

Kemudian kita dapat menulis ulang A menjadi:

Ini adalah empat kumpulan persamaan linier yang melibatkan enam variabel yang dapat diselesaikan dengan menggunakan metode tradisional. Namun, cara yang lebih efisien untuk menyelesaikan PA dalam kasus ini adalah interpolasi Lagrangian, yang mengeksploitasi kekhasan permasalahan. Di sini kita melewatkan proses penyelesaian PA, yang agak membosankan namun mudah.

Demikian pula, kita membuat PB dan PC secara terpisah untuk B dan C. Kemudian kita dapat menulis ulang persamaan matriksnyasebagai berikut:

Mengamati setiap baris secara terpisah, terlihat jelas bahwa keempat baris ini berhubungan dengan ekspresi yang sama yang dievaluasi pada empat titik berbeda. Oleh karena itu, persamaan matriks di atas ekuivalen dengan:

Langkah 3: Titik Kurva Elips

Tulis ulang persamaan (4) menjadi:

di mana i(z)=1 hanyalah polinomial derajat nol sepele di z yang digunakan untuk menyatukan persamaan - semua suku bersifat kuadrat. Pentingnya hal ini akan segera menjadi jelas. Perhatikan bahwa persamaan ini hanya berisi penjumlahan dan perkalian polinomial di z.

Harap dicatat bahwa operasi aritmatika, penjumlahan (+) dan perkalian (X), juga dipetakan ke operasi yang bersesuaian di bidang berhingga titik kurva elips. Simbol-simbolnya Dan digunakan untuk menghindari kebingungan dan menunjukkan bahwa ini adalah operasi lapangan yang didefinisikan ulang.

Selanjutnya kami akan menjelaskan langkah praktisnya lebih detail.

Kriptografi Kurva Elips

Teori umum kurva elips jauh melampaui cakupan artikel ini. Untuk tujuan di sini, kurva elips didefinisikan sebagai pemetaan dari bidang prima Fp ke fungsi E, di mana E mencakup titik-titik sedemikian rupa sehingga y^2=x^3+ax+b (disebut titik kurva elips, atau disingkat ECP) .

Harap dicatat bahwa meskipun kita telah membahas aritmatika reguler sejauh ini, ketika bertransisi ke bidang prima, operasi aritmatika pada bilangan dilakukan menggunakan aritmatika modular. Misalnya, a+b=a+b(mod p), dengan p adalah orde dari Fp.

Sebaliknya, penjumlahan dua titik kurva elips didefinisikan seperti gambar di bawah ini:

Secara khusus, penambahan P dan Q dari dua ECP:

Temukan perpotongan garis PQ dan kurva R dan definisikan sebagai -(P+Q)
Balik ke titik “cermin” R' dari R pada kurva.
Oleh karena itu kita mendefinisikan penjumlahan titik kurva elips P+Q=R':

Perhatikan bahwa aturan ini juga berlaku untuk kasus khusus dimana penambahan satu ECP digunakan, dalam hal ini garis singgung ke titik tersebut akan digunakan.

Sekarang misalkan kita memilih titik G secara acak dan memetakan angka 1 ke titik tersebut. (“Pemetaan awal” ini terdengar agak sewenang-wenang. Kita akan membahasnya nanti). Dan untuk setiap n yang termasuk dalam Fp, kita definisikan:

E(N)=G+G+G+…..+G=G dikalikan n

Ada ekspresi operasi. Definisikan operasi +G sebagai “generator”, dilambangkan dengan g. Maka definisi di atas setara dengan:

Setelah mendefinisikan penjumlahan, hubungan linier berikut menjadi jelas:

Oleh karena itu, setiap hubungan linier (atau batasan) di Fp akan dipertahankan di ruang terenkripsi B melalui pemetaan ini. Misalnya, persamaan l + m = n di Fp akan menghasilkan

Namun, karena persamaan (5) yang ingin dibuktikan Alice berbentuk kuadrat, maka persamaan tersebut tidak cukup linier. Untuk menangani suku kuadrat, kita perlu mendefinisikan perkalian dalam ruang terenkripsi. Ini disebut peta berpasangan, atau peta bilinear, yang akan saya jelaskan di bagian berikut.

Peta Bilinear

Misalkan G1, G2 dan GT adalah kelompok orde prima g. Fungsi berpasangan, atau peta bilinear, didefinisikan sebagai berikut:

String Referensi Umum

Keseluruhan ini disebut dengan “kunci pembuktian” (PK). Perhatikan bahwa representasi vektor dalam E() harus dipahami sebagai vektor titik kurva elips, di mana setiap titik dipetakan dari elemen vektor yang sesuai. Jadi, ke-11 vektor ini sebenarnya terdiri dari 62 (=42+63+63+63) titik kurva elips. 62 ECP ini akan diberikan kepada Alice, sang pembuktian. Dalam skenario umum, untuk masalah dengan m masukan dan n kendala utama, PK akan berisi 2n + 3(m+n+1)*3 = 11n + 9m + 9 ECP.

Secara bersamaan, perhitungan berikut akan dilakukan:

Seluruh proses disebut “kunci verifikasi” (VK). Hanya 7 titik kurva elips (ECP) yang terlibat di sini, yang perlu diberikan kepada verifikator. Perlu dicatat bahwa tidak peduli berapa banyak masukan dan kendala utama yang terlibat dalam masalah, VK selalu terdiri dari 7 ECP.

Selain itu, perlu disebutkan bahwa “pengaturan tepercaya” dan proses menghasilkan PK dan VK hanya perlu dilakukan satu kali untuk masalah tertentu.

Pembuktian dan Verifikasi

Sekarang setelah memiliki kunci publik (PK), Alice akan menghitung titik kurva elips (ECP) berikut:

9 titik kurva elips ini sangat penting untuk argumen pengetahuan non-interaktif ringkas tanpa pengetahuan (zk-SNARK)!

Perhatikan bahwa Alice pada dasarnya hanya melakukan kombinasi linier pada titik kurva elips di kunci publik. Hal ini sangat penting dan akan diperiksa secara ketat selama verifikasi.

Sekarang, Alice menyajikan bukti zk-SNARK, yang akhirnya mengarahkan kita ke proses verifikasi, yang terjadi dalam tiga langkah.

Pertama, perlu dipastikan bahwa 8 titik kurva elips pertama memang merupakan kombinasi linier dari titik-titik tersebut dalam string referensi umum.

Penafian:

  1. Artikel ini dicetak ulang dari[chaincatcher]. Semua hak cipta milik penulis asli [0xAlpha Co-founder @ DeriProtocol]. Jika ada keberatan terhadap cetak ulang ini, silakan menghubungi tim Gate Learn , dan mereka akan segera menanganinya.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang diungkapkan dalam artikel ini adalah sepenuhnya milik penulis dan bukan merupakan nasihat investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, dilarang menyalin, mendistribusikan, atau menjiplak artikel terjemahan.

Bagikan

Kalender Kripto

Pembaruan Proyek
Etherex akan meluncurkan token REX pada 6 Agustus.
REX
22.27%
2025-08-06
Hari Rare Dev & Governance di Las Vegas
Cardano akan mengadakan Rare Dev & Governance Day di Las Vegas, dari 6 hingga 7 Agustus, menampilkan lokakarya, hackathon, dan diskusi panel yang berfokus pada pengembangan teknis dan topik tata kelola.
ADA
-3.44%
2025-08-06
Blockchain.Rio di Rio De Janeiro
Stellar akan berpartisipasi dalam konferensi Blockchain.Rio, yang dijadwalkan berlangsung di Rio de Janeiro, dari 5 hingga 7 Agustus. Program ini akan mencakup pidato kunci dan diskusi panel yang menampilkan perwakilan ekosistem Stellar bekerja sama dengan mitra Cheesecake Labs dan NearX.
XLM
-3.18%
2025-08-06
Webinar
Circle telah mengumumkan webinar Executive Insights langsung berjudul "Era GENIUS Act Dimulai", yang dijadwalkan pada 7 Agustus 2025, pukul 14:00 UTC. Sesi ini akan mengeksplorasi implikasi dari GENIUS Act yang baru saja disahkan—kerangka regulasi federal pertama untuk stablecoin pembayaran di Amerika Serikat. Dante Disparte dan Corey Then dari Circle akan memimpin diskusi tentang bagaimana legislasi ini mempengaruhi inovasi aset digital, kejelasan regulasi, dan kepemimpinan AS dalam infrastruktur keuangan global.
USDC
-0.03%
2025-08-06
AMA di X
Ankr akan mengadakan AMA di X pada 7 Agustus pukul 16:00 UTC, yang berfokus pada pekerjaan DogeOS dalam membangun lapisan aplikasi untuk DOGE.
ANKR
-3.23%
2025-08-06

Artikel Terkait

Apa itu Tronscan dan Bagaimana Anda Dapat Menggunakannya pada Tahun 2025?
Pemula

Apa itu Tronscan dan Bagaimana Anda Dapat Menggunakannya pada Tahun 2025?

Tronscan adalah penjelajah blockchain yang melampaui dasar-dasar, menawarkan manajemen dompet, pelacakan token, wawasan kontrak pintar, dan partisipasi tata kelola. Pada tahun 2025, ia telah berkembang dengan fitur keamanan yang ditingkatkan, analitika yang diperluas, integrasi lintas rantai, dan pengalaman seluler yang ditingkatkan. Platform ini sekarang mencakup otentikasi biometrik tingkat lanjut, pemantauan transaksi real-time, dan dasbor DeFi yang komprehensif. Pengembang mendapatkan manfaat dari analisis kontrak pintar yang didukung AI dan lingkungan pengujian yang diperbaiki, sementara pengguna menikmati tampilan portofolio multi-rantai yang terpadu dan navigasi berbasis gerakan pada perangkat seluler.
11/22/2023, 6:27:42 PM
Apa itu USDC?
Pemula

Apa itu USDC?

Sebagai jembatan yang menghubungkan mata uang fiat dan mata uang kripto, semakin banyak stablecoin yang dibuat, dengan banyak di antaranya yang ambruk tak lama kemudian. Bagaimana dengan USDC, stablecoin terkemuka saat ini? Bagaimana itu akan berkembang di masa depan?
11/21/2022, 10:36:25 AM
Apa itu Stablecoin?
Pemula

Apa itu Stablecoin?

Stablecoin adalah mata uang kripto dengan harga stabil, yang sering dipatok ke alat pembayaran yang sah di dunia nyata. Ambil USDT, stablecoin yang paling umum digunakan saat ini, misalnya, USDT dipatok ke dolar AS, dengan 1 USDT = 1 USD.
11/21/2022, 8:35:14 AM
Penggunaan Bitcoin (BTC) di El Salvador - Analisis Keadaan Saat Ini
Pemula

Penggunaan Bitcoin (BTC) di El Salvador - Analisis Keadaan Saat Ini

Pada 7 September 2021, El Salvador menjadi negara pertama yang mengadopsi Bitcoin (BTC) sebagai alat pembayaran yang sah. Berbagai alasan mendorong El Salvador untuk melakukan reformasi moneter ini. Meskipun dampak jangka panjang dari keputusan ini masih harus dicermati, pemerintah Salvador percaya bahwa manfaat mengadopsi Bitcoin lebih besar daripada potensi risiko dan tantangannya. Dua tahun telah berlalu sejak reformasi, di mana banyak suara yang mendukung dan skeptis terhadap reformasi ini. Lantas, bagaimana status implementasi aktualnya saat ini? Berikut ini akan diberikan analisa secara detail.
12/18/2023, 3:29:33 PM
ONDO, Proyek yang Disukai oleh BlackRock
Pemula

ONDO, Proyek yang Disukai oleh BlackRock

Artikel ini mengupas tentang ONDO dan perkembangannya baru-baru ini.
2/2/2024, 10:42:34 AM
Apa itu Ethereum Terbungkus (WETH)?
Pemula

Apa itu Ethereum Terbungkus (WETH)?

Wrapped Ethereum (WETH) adalah versi ERC-20 dari mata uang asli blockchain Ethereum, Ether (ETH). Token WETH dipatok ke koin asli. Untuk setiap WETH yang beredar, ada cadangan ETH. Tujuan pembuatan WETH adalah untuk kompatibilitas di seluruh jaringan. ETH tidak mematuhi standar ERC-20 dan sebagian besar DApps yang dibangun di jaringan mengikuti standar ini. Jadi WETH digunakan untuk memfasilitasi integrasi ETH ke dalam aplikasi DeFi.
11/24/2022, 8:49:09 AM
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!