Hari ini, LayerZero merilis rantai barunya Zero, yang mencakup berbagai kemajuan teknologi—termasuk metode bukti nol pengetahuan (zero-knowledge proof) yang benar-benar baru, yang memisahkan pelaksanaan transaksi dari verifikasi. Semua ini berkat “Jolt Inside”.
Apa itu Jolt? Jolt adalah sebuah zkVM (virtual machine nol pengetahuan) sumber terbuka berbasis RISC-V—atau lebih tepatnya, sebuah virtual machine “sederhana”—yang cepat, aman, dan mudah digunakan. Ini mewakili sebuah pendekatan desain SNARK terbaru dan paling canggih yang dikembangkan selama tiga tahun oleh a16z crypto, dan akan kami buka sumbernya agar dapat digunakan atau dikembangkan lebih lanjut oleh siapa saja. Tetapi, kelahiran Jolt sebenarnya adalah kisah yang telah dipersiapkan selama puluhan tahun.
Mengapa desain zkVM dan SNARK sangat penting?
Sebelum membahas evolusi desain SNARK secara mendalam, kita perlu memahami terlebih dahulu apa itu zkVM.
Jenis virtual machine ini biasanya disebut sebagai “zk” virtual machine, tetapi fitur yang lebih umum digunakan di sini adalah kesederhanaan. Meskipun “nol pengetahuan” sangat penting untuk privasi, “sederhana” berarti bukti yang singkat dan mudah diverifikasi—dua fitur yang berguna namun berbeda, dan sering disalahartikan sebagai satu hal. (Jolt sudah memiliki sifat sederhana, dan dalam waktu dekat juga akan mengimplementasikan nol pengetahuan.)
Tapi mengapa zkVM begitu penting? zkVM dan secara lebih luas SNARK (succinct non-interactive argument of knowledge) adalah bagian penting dari berbagai aspek seperti skalabilitas blockchain, privasi, dan keamanan. Bukti, argumen, dan nol pengetahuan (secara kolektif disebut sebagai teknologi komputasi yang dapat diverifikasi) ini memiliki banyak aplikasi di industri kriptografi dan bidang lainnya.
Karena arsitektur desain tradisional dan alasan lain, industri hingga saat ini cenderung menggunakan pendekatan yang cukup kompleks dalam membangun zkVM; penjelasan lebih lengkapnya akan diuraikan nanti. Namun, Jolt sejak awal berfokus pada pendekatan desain SNARK yang benar-benar berbeda, bertujuan untuk mencapai efisiensi, kegunaan, dan performa yang lebih tinggi.
Singkatnya, zkVM adalah metode untuk membuktikan bahwa Anda menjalankan sebuah program komputer dengan benar. Keunggulan zkVM dibandingkan SNARK lain adalah kemudahan penggunaannya bagi pengembang. Dengan memanfaatkan infrastruktur komputasi yang sudah ada (misalnya ekosistem compiler LLVM sumber terbuka), pengembang tidak perlu menggunakan bahasa domain-spesifik (DSL) dan tetap dapat memanfaatkan kekuatan SNARK dalam bahasa pemrograman pilihan mereka.
Ini sangat mirip dengan apa yang kita lihat di banyak bidang kriptografi modern saat ini—kita memiliki standar dan pustaka bawaan untuk enkripsi dan tanda tangan digital—pengembang biasa menggunakannya setiap hari tanpa harus memahami mekanisme internalnya. Jolt menyediakan lapisan abstraksi yang sama bagi pengembang: cukup gunakan program yang sudah ada dan verifikasi, tanpa perlu khawatir tentang interaksi keduanya. Ini adalah prasyarat untuk adopsi luas dari aplikasi kriptografi baru.
Pengembang dapat fokus pada operasi nyata. Dengan Jolt, mereka tidak perlu pengetahuan mendalam tentang SNARK; cukup tekan satu tombol, dan mereka dapat menghasilkan bukti Jolt dari kode komputer yang mereka tulis.
Namun, meskipun Jolt telah mencapai banyak kemajuan, membuktikan sebuah bukti dengan tingkat kompleksitas sedang (misalnya, menjalankan satu inti CPU selama satu detik) tetap membutuhkan daya komputasi yang besar. Untuk menghasilkan bukti yang kompleks dalam waktu yang wajar, Anda memerlukan beberapa GPU. LayerZero telah memporting Jolt ke CUDA dan meluncurkan Zero: yang menggabungkan algoritma Jolt yang sangat paralel dengan perangkat keras GPU yang juga paralel, sehingga meningkatkan skalabilitasnya secara signifikan.
LayerZero berkomitmen untuk membawa Jolt ke tingkat produksi dengan GPU, termasuk bekerja sama mengembangkan versi GPU yang ramah untuk algoritma Jolt, yang sangat penting untuk meningkatkan skalabilitas zkVM dan bukti.
Pengembangan sumber terbuka
Jolt sendiri bersifat sumber terbuka, sehingga siapa saja dapat menggunakannya atau mengembangkannya berdasarkan inovasi teknologi ini. Open source adalah pengganda kekuatan utama: berbagi hasil secara terbuka memungkinkan lebih banyak orang dalam ekosistem untuk menggunakan, mengulang, melakukan pengujian/peninjauan/perbaikan, dan berinovasi lebih jauh.
Investasi modal ventura ke proyek sumber terbuka mungkin tampak tidak biasa, tetapi struktur pengembangan modern menentukan bahwa sebagian besar pekerjaan pengembangan dilakukan secara internal—misalnya di laboratorium perusahaan sebelumnya atau di laboratorium yayasan saat ini—atau di akademia. Tujuan kami mendirikan a16z crypto research adalah untuk membangun sebuah laboratorium riset industri dan tim engineering yang menghubungkan teori akademik dengan praktik industri. Sebagai perusahaan modal ventura, kami juga dapat mendanai proyek yang tidak mampu didanai oleh institusi lain… terutama dalam konteks investasi terbalik.
Pendekatan desain SNARK yang mendukung reverse engineering sangat penting bagi Jolt, karena ini mewakili sebuah “paradigma revolusioner” yang berbeda secara signifikan dari metode desain sebelumnya. Evolusi desain ini telah berlangsung selama bertahun-tahun.
Kisah inovasi seringkali berkaitan dengan perubahan arsitektur
Untuk memahami perubahan besar yang diambil Jolt dalam pendekatan desain SNARK, kita harus menelusuri kembali ke lebih dari dua ribu tahun yang lalu: orang Yunani kuno memulai pengembangan sistem pembuktian matematis formal, yang kemudian dikembangkan oleh para cendekiawan di Timur Tengah, Asia, dan daerah lain.
Pembuktian awal ini—yang berupa langkah-langkah logis yang ditulis secara berurutan—dicatat dalam bahasa formal atau rumus agar dapat diverifikasi oleh siapa saja. Misalnya, seorang matematikawan dapat menulis bukti dalam sebuah “buku”, dan matematikawan lain dapat membacanya secara kata per kata untuk memverifikasi. Konsep bukti statis tertulis ini adalah cerminan dari kelas kompleksitas NP dalam “P vs NP”.
Perlu dicatat bahwa metode pembuktian tradisional ini bersifat sekuensial dan harus dilakukan secara bergiliran: bersifat statis, bukan interaktif.
Namun, melompat ke tahun 1985*, Shafi Goldwasser, Silvio Micali, dan Charles Rackoff memperkenalkan konsep pembuktian interaktif (“IP”). [*Sebenarnya, makalah mereka diajukan beberapa tahun lebih awal, tetapi ditolak berkali-kali sebelum akhirnya diterima.] Inti dari pembuktian interaktif ini adalah: misalnya, jika dua matematikawan berkomunikasi, mereka tidak perlu menunggu satu sama lain menulis bukti, lalu saling meyakinkan. Sebaliknya, mereka dapat bertanya secara langsung; dengan kata lain, melalui interaksi untuk mengeksplorasi kebenaran bukti.
Kekuatan besar dari pembuktian interaktif—dibandingkan dengan pembuktian statis yang dikembangkan orang Yunani kuno—baru benar-benar dipahami lima tahun kemudian, pada tahun 1990. Saat itu, Carsten Lund, Lance Fortnow, Howard Karloff, dan Noam Nisan mengusulkan protokol sum-check: metode aljabar untuk sistem pembuktian interaktif. Bersama dengan karya lanjutan dari Adi Shamir, ini dengan cepat menghasilkan kesimpulan dasar “IP=PSPACE”—yang secara teknis menyatakan bahwa:
Jika pembuktian dan verifikasi dapat berinteraksi—misalnya, seperti sistem pembuktian tradisional dengan tantangan dan tanggapan, dan jika seorang pembuktian yang berbohong tidak akan lolos dari tantangan yang tidak bisa dijawab—maka, dibandingkan dengan bukti tertulis statis dari Yunani kuno, kita dapat memverifikasi pernyataan yang lebih kompleks dengan lebih cepat.
Dengan kata lain: sifat interaktif memberi kita keunggulan besar dalam sistem pembuktian. Dan, sum-check adalah inti dari mengubah keunggulan ini menjadi verifikasi yang efisien—memungkinkan verifikator memeriksa hasil yang diklaim tanpa harus merekonstruksi seluruh proses perhitungan yang akan dibuktikan.
Beberapa tahun kemudian, Joe Kilian mengusulkan konstruksi bukti yang dapat diverifikasi probabilistik (PCP) untuk membangun argumen nol pengetahuan yang ringkas. Dalam teori bukti PCP, pembuktinya—yang bisa dibayangkan sebagai matematikawan Yunani kuno, tetapi sekarang sebagai komputer—menulis bukti dalam sebuah “buku” yang sangat redundan. Yang menarik, redundansi ini memungkinkan verifikator tidak perlu membaca seluruh buku: cukup secara acak memilih beberapa posisi bukti—misalnya tiga “kata”—dan dengan tingkat kepercayaan tinggi, dapat menilai keabsahan seluruh bukti.
Namun, masalahnya adalah bukti PCP ini sangat panjang, meskipun biaya verifikasi sangat rendah.
Oleh karena itu, Kilian menunjukkan cara menggabungkan PCP dengan kriptografi, sehingga pembuktian dapat “mengunci” seluruh buku panjang tersebut, dan hanya mengungkapkan beberapa kata yang dipilih secara acak, lengkap dengan bukti kriptografi yang ringkas. Protokol Kilian akhirnya menghasilkan bukti yang hanya berisi beberapa kata (ditambah data autentikasi kriptografi)—namun cukup untuk meyakinkan verifikator bahwa seluruh buku tersebut valid.
Pada saat itu, bukti ini masih bersifat interaktif. Kemudian, Micali menunjukkan bagaimana menerapkan transformasi Fiat-Shamir untuk mengubah protokol interaktif Kilian berbasis PCP menjadi non-interaktif. Singkatnya, transformasi Fiat-Shamir “menghilangkan” tantangan acak dari verifikator, sehingga pembuktian dapat dilakukan secara mandiri dan sekaligus menghasilkan seluruh bukti.
Pengaruh arsitektur yang bertahan lama
Melihat sejarah dan evolusi sistem pembuktian, kita telah mengalami perjalanan dari statis ke interaktif, kemudian ke probabilistik dan non-interaktif (PCP), lalu kembali ke interaktif (lihat Kilian), dan akhirnya kembali ke non-interaktif (lihat Micali). SNARK muncul di ujung evolusi ini: melalui penerapan transformasi Fiat-Shamir pada protokol interaktif Kilian, Micali memperoleh konstruksi SNARK pertama yang kita kenal sekarang.
Namun, dalam SNARK berbasis PCP awal, beban kerja pembuktinya sangat besar—memakan waktu yang lama—sehingga sulit untuk diterapkan secara praktis.
Namun, cara desain SNARK ini telah berlangsung selama puluhan tahun. Bahkan, meskipun industri berusaha menghindari pendekatan berbasis PCP, para perancang tetap menggunakan konsep terkait (misalnya “linear PCP”), yang sebenarnya hanyalah varian dari teknik inspirasional PCP. Meskipun metode ini menghasilkan SNARK yang sangat ringkas, mereka tidak pernah menghasilkan SNARK tercepat dari segi kecepatan pembuktian.
Para perancang SNARK tidak pernah kembali ke akar mereka—yaitu protokol sum-check—untuk mendapatkan bukti yang lebih cepat dan lebih mudah digunakan dengan kekuatan komputasi modern saat ini.
Dalam transisi dari (a) ke (b), tantangan utama adalah bagaimana menjaga kesederhanaan verifikasi sekaligus menghilangkan interaksi dari sistem pembuktian. Hal ini mendorong para perancang untuk meninggalkan protokol sum-check (interaktif).
Namun, jika kita ingin menggunakan Fiat-Shamir untuk menghilangkan interaksi… kita harus langsung melewati langkah (b), yaitu protokol PCP yang dapat diverifikasi probabilistik! Melompati langkah ini adalah kunci utama dari pendekatan Jolt, yang langsung membangun SNARK dari pembuktian interaktif—menuju ke sum-check verification.
Mengapa lebih banyak orang tidak lebih dulu beralih ke pendekatan berbasis protokol sum-check? Mungkin karena para perancang SNARK awal tidak melakukannya, karena secara permukaan PCP dan SNARK tampak sangat mirip—keduanya mengimplementasikan konsep verifikasi yang ringkas. Dan, perkembangan selanjutnya—arsitektur dan kesalahpahaman—mungkin terus memperkuat pandangan tersebut.
Bagi kami, menginvestasikan banyak sumber daya ke dalam pengembangan zkVM berbasis sum-check seperti Jolt adalah taruhan terbalik, karena ini bertentangan dengan paradigma dominan selama puluhan tahun di bidang SNARK.
‘Jolt Inside’
Metode desain SNARK Jolt (yang didasarkan pada evaluasi batch dan mekanisme pemeriksaan memori, seperti Twist + Shout) menggabungkan konsep pembuktian interaktif dan protokol sum-check.
Sekarang, setelah beberapa tahun membangun Jolt, orang lain mulai mengadopsi pendekatan protokol sum-check dalam desain mereka. Jadi, apa keunggulan utama Jolt dalam zkVM saat ini? Jolt memanfaatkan secara maksimal struktur berulang yang ada saat CPU menjalankan instruksi. Dengan mengamati bagaimana abstraksi “ambil-interpretasi-eksekusi” dari setiap inti CPU dapat diterapkan dalam mekanisme evaluasi batch, Jolt mencapai efisiensi luar biasa dengan kompleksitas minimal.
Sebaliknya, zkVM lain sangat bergantung pada “pre-compile” (seperti akselerator ASIC untuk subprogram tertentu) untuk mencapai performa yang memadai. Jolt menolak pre-compile ini karena akan mengulangi kesalahan dari pendekatan desain SNARK sebelum munculnya zkVM: yang membutuhkan keahlian khusus untuk merancang circuit, sehingga lebih rentan terhadap bug dan lebih sulit digunakan oleh pengembang umum. Fokus Jolt adalah untuk menyebarkan SNARK secara luas.
Memverifikasi kebenaran eksekusi CPU adalah inti dari zkVM—dan juga terobosan besar dalam pengalaman pengembang—karena memungkinkan penggunaan infrastruktur komputasi umum yang sudah ada dan telah diperkuat. Infrastruktur komputasi global dibangun untuk mendukung CPU, dan Jolt memanfaatkan struktur bawaan ini secara maksimal untuk meningkatkan kesederhanaan dan performa.
Jolt sejak awal menempatkan kegunaan dan performa produksi sebagai prioritas: pengembang dapat langsung memverifikasi program yang ada; bahkan untuk verifikasi cepat, tidak perlu mengubah kode apa pun. Jolt tidak memaksa tim untuk melakukan refaktor aplikasi dengan “pre-compile” atau API khusus demi performa yang dapat diterima, melainkan mempertahankan integritas kode asli, sehingga lebih mudah diadopsi, diaudit, dan biaya iterasinya lebih rendah.
Lebih dari itu, Jolt tidak hanya lebih cepat, tetapi juga lebih sederhana. Pendekatan lain mengharuskan perancang zkVM menentukan circuit untuk setiap instruksi dasar, sementara Jolt tidak perlu: dalam Jolt, setiap instruksi dasar cukup didefinisikan dalam sekitar sepuluh baris kode Rust. Tanpa circuit, cukup sepuluh baris kode.
Langkah selanjutnya untuk Jolt?
Kami sudah unggul dalam kecepatan. Dengan optimasi lebih lanjut dan penambahan fitur seperti rekursi dan bukti nol pengetahuan—terutama rencana kami untuk beralih dari kriptografi elliptic curve ke lattice cryptography—kami akan mencapai peningkatan kecepatan lagi dalam beberapa bulan mendatang, belum lagi era pasca-quantum.
Jolt membuka lebih banyak kemungkinan aplikasi. Untuk blockchain, skalabilitas dan desentralisasi yang telah lama dinantikan akan menjadi lebih mudah diimplementasikan. Bukti nol pengetahuan bisa langsung digunakan tanpa perlu berbulan-bulan atau bertahun-tahun pengembangan kriptografi.
Namun, dengan pengembangan lebih lanjut—misalnya, membangun zkVM yang cepat dan mudah dijalankan di ponsel dan laptop—pengembang akan dapat membuka lebih banyak use case di sisi klien dan privasi. Contohnya, aplikasi privasi di ponsel bisa dengan mudah dioperasikan tanpa harus dipelihara secara rumit atau hampir tidak bisa dijalankan.
Dalam jangka panjang, sistem bukti ini akan menjadi bagian inti dari infrastruktur digital dunia, seperti halnya enkripsi dan tanda tangan digital. Teknologi kompresi kriptografi ini—di mana siapa pun cukup mengirimkan file bukti sekitar 50 KB untuk membuktikan bahwa mereka memiliki data berukuran GB yang memenuhi atribut tertentu—sangat kuat sehingga sulit diprediksi aplikasi apa yang akan dikembangkan dengan teknologi ini. Kemungkinannya tak terbatas.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
A16z: Elemen Kunci Pembuat: ‘Jolt Inside’
Artikel Penulis: a16z crypto
Artikel Terjemahan: Block unicorn
Pendahuluan
Hari ini, LayerZero merilis rantai barunya Zero, yang mencakup berbagai kemajuan teknologi—termasuk metode bukti nol pengetahuan (zero-knowledge proof) yang benar-benar baru, yang memisahkan pelaksanaan transaksi dari verifikasi. Semua ini berkat “Jolt Inside”.
Apa itu Jolt? Jolt adalah sebuah zkVM (virtual machine nol pengetahuan) sumber terbuka berbasis RISC-V—atau lebih tepatnya, sebuah virtual machine “sederhana”—yang cepat, aman, dan mudah digunakan. Ini mewakili sebuah pendekatan desain SNARK terbaru dan paling canggih yang dikembangkan selama tiga tahun oleh a16z crypto, dan akan kami buka sumbernya agar dapat digunakan atau dikembangkan lebih lanjut oleh siapa saja. Tetapi, kelahiran Jolt sebenarnya adalah kisah yang telah dipersiapkan selama puluhan tahun.
Mengapa desain zkVM dan SNARK sangat penting?
Sebelum membahas evolusi desain SNARK secara mendalam, kita perlu memahami terlebih dahulu apa itu zkVM.
Jenis virtual machine ini biasanya disebut sebagai “zk” virtual machine, tetapi fitur yang lebih umum digunakan di sini adalah kesederhanaan. Meskipun “nol pengetahuan” sangat penting untuk privasi, “sederhana” berarti bukti yang singkat dan mudah diverifikasi—dua fitur yang berguna namun berbeda, dan sering disalahartikan sebagai satu hal. (Jolt sudah memiliki sifat sederhana, dan dalam waktu dekat juga akan mengimplementasikan nol pengetahuan.)
Tapi mengapa zkVM begitu penting? zkVM dan secara lebih luas SNARK (succinct non-interactive argument of knowledge) adalah bagian penting dari berbagai aspek seperti skalabilitas blockchain, privasi, dan keamanan. Bukti, argumen, dan nol pengetahuan (secara kolektif disebut sebagai teknologi komputasi yang dapat diverifikasi) ini memiliki banyak aplikasi di industri kriptografi dan bidang lainnya.
Karena arsitektur desain tradisional dan alasan lain, industri hingga saat ini cenderung menggunakan pendekatan yang cukup kompleks dalam membangun zkVM; penjelasan lebih lengkapnya akan diuraikan nanti. Namun, Jolt sejak awal berfokus pada pendekatan desain SNARK yang benar-benar berbeda, bertujuan untuk mencapai efisiensi, kegunaan, dan performa yang lebih tinggi.
Singkatnya, zkVM adalah metode untuk membuktikan bahwa Anda menjalankan sebuah program komputer dengan benar. Keunggulan zkVM dibandingkan SNARK lain adalah kemudahan penggunaannya bagi pengembang. Dengan memanfaatkan infrastruktur komputasi yang sudah ada (misalnya ekosistem compiler LLVM sumber terbuka), pengembang tidak perlu menggunakan bahasa domain-spesifik (DSL) dan tetap dapat memanfaatkan kekuatan SNARK dalam bahasa pemrograman pilihan mereka.
Ini sangat mirip dengan apa yang kita lihat di banyak bidang kriptografi modern saat ini—kita memiliki standar dan pustaka bawaan untuk enkripsi dan tanda tangan digital—pengembang biasa menggunakannya setiap hari tanpa harus memahami mekanisme internalnya. Jolt menyediakan lapisan abstraksi yang sama bagi pengembang: cukup gunakan program yang sudah ada dan verifikasi, tanpa perlu khawatir tentang interaksi keduanya. Ini adalah prasyarat untuk adopsi luas dari aplikasi kriptografi baru.
Pengembang dapat fokus pada operasi nyata. Dengan Jolt, mereka tidak perlu pengetahuan mendalam tentang SNARK; cukup tekan satu tombol, dan mereka dapat menghasilkan bukti Jolt dari kode komputer yang mereka tulis.
Namun, meskipun Jolt telah mencapai banyak kemajuan, membuktikan sebuah bukti dengan tingkat kompleksitas sedang (misalnya, menjalankan satu inti CPU selama satu detik) tetap membutuhkan daya komputasi yang besar. Untuk menghasilkan bukti yang kompleks dalam waktu yang wajar, Anda memerlukan beberapa GPU. LayerZero telah memporting Jolt ke CUDA dan meluncurkan Zero: yang menggabungkan algoritma Jolt yang sangat paralel dengan perangkat keras GPU yang juga paralel, sehingga meningkatkan skalabilitasnya secara signifikan.
LayerZero berkomitmen untuk membawa Jolt ke tingkat produksi dengan GPU, termasuk bekerja sama mengembangkan versi GPU yang ramah untuk algoritma Jolt, yang sangat penting untuk meningkatkan skalabilitas zkVM dan bukti.
Pengembangan sumber terbuka
Jolt sendiri bersifat sumber terbuka, sehingga siapa saja dapat menggunakannya atau mengembangkannya berdasarkan inovasi teknologi ini. Open source adalah pengganda kekuatan utama: berbagi hasil secara terbuka memungkinkan lebih banyak orang dalam ekosistem untuk menggunakan, mengulang, melakukan pengujian/peninjauan/perbaikan, dan berinovasi lebih jauh.
Investasi modal ventura ke proyek sumber terbuka mungkin tampak tidak biasa, tetapi struktur pengembangan modern menentukan bahwa sebagian besar pekerjaan pengembangan dilakukan secara internal—misalnya di laboratorium perusahaan sebelumnya atau di laboratorium yayasan saat ini—atau di akademia. Tujuan kami mendirikan a16z crypto research adalah untuk membangun sebuah laboratorium riset industri dan tim engineering yang menghubungkan teori akademik dengan praktik industri. Sebagai perusahaan modal ventura, kami juga dapat mendanai proyek yang tidak mampu didanai oleh institusi lain… terutama dalam konteks investasi terbalik.
Pendekatan desain SNARK yang mendukung reverse engineering sangat penting bagi Jolt, karena ini mewakili sebuah “paradigma revolusioner” yang berbeda secara signifikan dari metode desain sebelumnya. Evolusi desain ini telah berlangsung selama bertahun-tahun.
Kisah inovasi seringkali berkaitan dengan perubahan arsitektur
Untuk memahami perubahan besar yang diambil Jolt dalam pendekatan desain SNARK, kita harus menelusuri kembali ke lebih dari dua ribu tahun yang lalu: orang Yunani kuno memulai pengembangan sistem pembuktian matematis formal, yang kemudian dikembangkan oleh para cendekiawan di Timur Tengah, Asia, dan daerah lain.
Pembuktian awal ini—yang berupa langkah-langkah logis yang ditulis secara berurutan—dicatat dalam bahasa formal atau rumus agar dapat diverifikasi oleh siapa saja. Misalnya, seorang matematikawan dapat menulis bukti dalam sebuah “buku”, dan matematikawan lain dapat membacanya secara kata per kata untuk memverifikasi. Konsep bukti statis tertulis ini adalah cerminan dari kelas kompleksitas NP dalam “P vs NP”.
Perlu dicatat bahwa metode pembuktian tradisional ini bersifat sekuensial dan harus dilakukan secara bergiliran: bersifat statis, bukan interaktif.
Namun, melompat ke tahun 1985*, Shafi Goldwasser, Silvio Micali, dan Charles Rackoff memperkenalkan konsep pembuktian interaktif (“IP”). [*Sebenarnya, makalah mereka diajukan beberapa tahun lebih awal, tetapi ditolak berkali-kali sebelum akhirnya diterima.] Inti dari pembuktian interaktif ini adalah: misalnya, jika dua matematikawan berkomunikasi, mereka tidak perlu menunggu satu sama lain menulis bukti, lalu saling meyakinkan. Sebaliknya, mereka dapat bertanya secara langsung; dengan kata lain, melalui interaksi untuk mengeksplorasi kebenaran bukti.
Kekuatan besar dari pembuktian interaktif—dibandingkan dengan pembuktian statis yang dikembangkan orang Yunani kuno—baru benar-benar dipahami lima tahun kemudian, pada tahun 1990. Saat itu, Carsten Lund, Lance Fortnow, Howard Karloff, dan Noam Nisan mengusulkan protokol sum-check: metode aljabar untuk sistem pembuktian interaktif. Bersama dengan karya lanjutan dari Adi Shamir, ini dengan cepat menghasilkan kesimpulan dasar “IP=PSPACE”—yang secara teknis menyatakan bahwa:
Jika pembuktian dan verifikasi dapat berinteraksi—misalnya, seperti sistem pembuktian tradisional dengan tantangan dan tanggapan, dan jika seorang pembuktian yang berbohong tidak akan lolos dari tantangan yang tidak bisa dijawab—maka, dibandingkan dengan bukti tertulis statis dari Yunani kuno, kita dapat memverifikasi pernyataan yang lebih kompleks dengan lebih cepat.
Dengan kata lain: sifat interaktif memberi kita keunggulan besar dalam sistem pembuktian. Dan, sum-check adalah inti dari mengubah keunggulan ini menjadi verifikasi yang efisien—memungkinkan verifikator memeriksa hasil yang diklaim tanpa harus merekonstruksi seluruh proses perhitungan yang akan dibuktikan.
Beberapa tahun kemudian, Joe Kilian mengusulkan konstruksi bukti yang dapat diverifikasi probabilistik (PCP) untuk membangun argumen nol pengetahuan yang ringkas. Dalam teori bukti PCP, pembuktinya—yang bisa dibayangkan sebagai matematikawan Yunani kuno, tetapi sekarang sebagai komputer—menulis bukti dalam sebuah “buku” yang sangat redundan. Yang menarik, redundansi ini memungkinkan verifikator tidak perlu membaca seluruh buku: cukup secara acak memilih beberapa posisi bukti—misalnya tiga “kata”—dan dengan tingkat kepercayaan tinggi, dapat menilai keabsahan seluruh bukti.
Namun, masalahnya adalah bukti PCP ini sangat panjang, meskipun biaya verifikasi sangat rendah.
Oleh karena itu, Kilian menunjukkan cara menggabungkan PCP dengan kriptografi, sehingga pembuktian dapat “mengunci” seluruh buku panjang tersebut, dan hanya mengungkapkan beberapa kata yang dipilih secara acak, lengkap dengan bukti kriptografi yang ringkas. Protokol Kilian akhirnya menghasilkan bukti yang hanya berisi beberapa kata (ditambah data autentikasi kriptografi)—namun cukup untuk meyakinkan verifikator bahwa seluruh buku tersebut valid.
Pada saat itu, bukti ini masih bersifat interaktif. Kemudian, Micali menunjukkan bagaimana menerapkan transformasi Fiat-Shamir untuk mengubah protokol interaktif Kilian berbasis PCP menjadi non-interaktif. Singkatnya, transformasi Fiat-Shamir “menghilangkan” tantangan acak dari verifikator, sehingga pembuktian dapat dilakukan secara mandiri dan sekaligus menghasilkan seluruh bukti.
Pengaruh arsitektur yang bertahan lama
Melihat sejarah dan evolusi sistem pembuktian, kita telah mengalami perjalanan dari statis ke interaktif, kemudian ke probabilistik dan non-interaktif (PCP), lalu kembali ke interaktif (lihat Kilian), dan akhirnya kembali ke non-interaktif (lihat Micali). SNARK muncul di ujung evolusi ini: melalui penerapan transformasi Fiat-Shamir pada protokol interaktif Kilian, Micali memperoleh konstruksi SNARK pertama yang kita kenal sekarang.
Namun, dalam SNARK berbasis PCP awal, beban kerja pembuktinya sangat besar—memakan waktu yang lama—sehingga sulit untuk diterapkan secara praktis.
Namun, cara desain SNARK ini telah berlangsung selama puluhan tahun. Bahkan, meskipun industri berusaha menghindari pendekatan berbasis PCP, para perancang tetap menggunakan konsep terkait (misalnya “linear PCP”), yang sebenarnya hanyalah varian dari teknik inspirasional PCP. Meskipun metode ini menghasilkan SNARK yang sangat ringkas, mereka tidak pernah menghasilkan SNARK tercepat dari segi kecepatan pembuktian.
Para perancang SNARK tidak pernah kembali ke akar mereka—yaitu protokol sum-check—untuk mendapatkan bukti yang lebih cepat dan lebih mudah digunakan dengan kekuatan komputasi modern saat ini.
Secara lebih jauh, untuk mengadopsi protokol sum-check secara lebih awal, kita harus meninjau sejarah dan evolusi SNARK secara non-linier. Dari (a) pembuktian interaktif → (b) PCP → © argumen interaktif yang ringkas → (d) perkembangan SNARK awal, industri mengalami perubahan berikut:
Dalam transisi dari (a) ke (b), tantangan utama adalah bagaimana menjaga kesederhanaan verifikasi sekaligus menghilangkan interaksi dari sistem pembuktian. Hal ini mendorong para perancang untuk meninggalkan protokol sum-check (interaktif).
Namun, saat beralih dari (b) ke ©, interaksi kembali muncul… dan akhirnya, melalui transformasi Fiat-Shamir, dihilangkan lagi, sehingga kita mendapatkan transisi dari © ke (d).
Jika kita meninjau semua langkah ini secara linier—dari (a) ke (b), lalu ke ©, dan akhirnya ke (d)—kita akan melihat bahwa para perancang SNARK sebenarnya menghilangkan interaksi dua kali: pertama dari (a) ke (b), dan kedua dari © ke (d).
Namun, jika kita ingin menggunakan Fiat-Shamir untuk menghilangkan interaksi… kita harus langsung melewati langkah (b), yaitu protokol PCP yang dapat diverifikasi probabilistik! Melompati langkah ini adalah kunci utama dari pendekatan Jolt, yang langsung membangun SNARK dari pembuktian interaktif—menuju ke sum-check verification.
Mengapa lebih banyak orang tidak lebih dulu beralih ke pendekatan berbasis protokol sum-check? Mungkin karena para perancang SNARK awal tidak melakukannya, karena secara permukaan PCP dan SNARK tampak sangat mirip—keduanya mengimplementasikan konsep verifikasi yang ringkas. Dan, perkembangan selanjutnya—arsitektur dan kesalahpahaman—mungkin terus memperkuat pandangan tersebut.
Bagi kami, menginvestasikan banyak sumber daya ke dalam pengembangan zkVM berbasis sum-check seperti Jolt adalah taruhan terbalik, karena ini bertentangan dengan paradigma dominan selama puluhan tahun di bidang SNARK.
‘Jolt Inside’
Metode desain SNARK Jolt (yang didasarkan pada evaluasi batch dan mekanisme pemeriksaan memori, seperti Twist + Shout) menggabungkan konsep pembuktian interaktif dan protokol sum-check.
Sekarang, setelah beberapa tahun membangun Jolt, orang lain mulai mengadopsi pendekatan protokol sum-check dalam desain mereka. Jadi, apa keunggulan utama Jolt dalam zkVM saat ini? Jolt memanfaatkan secara maksimal struktur berulang yang ada saat CPU menjalankan instruksi. Dengan mengamati bagaimana abstraksi “ambil-interpretasi-eksekusi” dari setiap inti CPU dapat diterapkan dalam mekanisme evaluasi batch, Jolt mencapai efisiensi luar biasa dengan kompleksitas minimal.
Sebaliknya, zkVM lain sangat bergantung pada “pre-compile” (seperti akselerator ASIC untuk subprogram tertentu) untuk mencapai performa yang memadai. Jolt menolak pre-compile ini karena akan mengulangi kesalahan dari pendekatan desain SNARK sebelum munculnya zkVM: yang membutuhkan keahlian khusus untuk merancang circuit, sehingga lebih rentan terhadap bug dan lebih sulit digunakan oleh pengembang umum. Fokus Jolt adalah untuk menyebarkan SNARK secara luas.
Memverifikasi kebenaran eksekusi CPU adalah inti dari zkVM—dan juga terobosan besar dalam pengalaman pengembang—karena memungkinkan penggunaan infrastruktur komputasi umum yang sudah ada dan telah diperkuat. Infrastruktur komputasi global dibangun untuk mendukung CPU, dan Jolt memanfaatkan struktur bawaan ini secara maksimal untuk meningkatkan kesederhanaan dan performa.
Jolt sejak awal menempatkan kegunaan dan performa produksi sebagai prioritas: pengembang dapat langsung memverifikasi program yang ada; bahkan untuk verifikasi cepat, tidak perlu mengubah kode apa pun. Jolt tidak memaksa tim untuk melakukan refaktor aplikasi dengan “pre-compile” atau API khusus demi performa yang dapat diterima, melainkan mempertahankan integritas kode asli, sehingga lebih mudah diadopsi, diaudit, dan biaya iterasinya lebih rendah.
Lebih dari itu, Jolt tidak hanya lebih cepat, tetapi juga lebih sederhana. Pendekatan lain mengharuskan perancang zkVM menentukan circuit untuk setiap instruksi dasar, sementara Jolt tidak perlu: dalam Jolt, setiap instruksi dasar cukup didefinisikan dalam sekitar sepuluh baris kode Rust. Tanpa circuit, cukup sepuluh baris kode.
Langkah selanjutnya untuk Jolt?
Kami sudah unggul dalam kecepatan. Dengan optimasi lebih lanjut dan penambahan fitur seperti rekursi dan bukti nol pengetahuan—terutama rencana kami untuk beralih dari kriptografi elliptic curve ke lattice cryptography—kami akan mencapai peningkatan kecepatan lagi dalam beberapa bulan mendatang, belum lagi era pasca-quantum.
Jolt membuka lebih banyak kemungkinan aplikasi. Untuk blockchain, skalabilitas dan desentralisasi yang telah lama dinantikan akan menjadi lebih mudah diimplementasikan. Bukti nol pengetahuan bisa langsung digunakan tanpa perlu berbulan-bulan atau bertahun-tahun pengembangan kriptografi.
Namun, dengan pengembangan lebih lanjut—misalnya, membangun zkVM yang cepat dan mudah dijalankan di ponsel dan laptop—pengembang akan dapat membuka lebih banyak use case di sisi klien dan privasi. Contohnya, aplikasi privasi di ponsel bisa dengan mudah dioperasikan tanpa harus dipelihara secara rumit atau hampir tidak bisa dijalankan.
Dalam jangka panjang, sistem bukti ini akan menjadi bagian inti dari infrastruktur digital dunia, seperti halnya enkripsi dan tanda tangan digital. Teknologi kompresi kriptografi ini—di mana siapa pun cukup mengirimkan file bukti sekitar 50 KB untuk membuktikan bahwa mereka memiliki data berukuran GB yang memenuhi atribut tertentu—sangat kuat sehingga sulit diprediksi aplikasi apa yang akan dikembangkan dengan teknologi ini. Kemungkinannya tak terbatas.