Hari ini, LayerZero merilis jaringan baru mereka Zero, yang mencakup berbagai kemajuan teknologi—termasuk metode bukti nol pengetahuan (zero-knowledge proof) yang benar-benar baru, yang memisahkan eksekusi transaksi dari verifikasi. Semua ini berkat “Jolt Inside”.
Apa itu Jolt? Jolt adalah sebuah zkVM (virtual machine zero-knowledge) sumber terbuka berbasis RISC-V—atau lebih tepatnya, sebuah virtual machine “sederhana”—yang cepat, aman, dan mudah digunakan. Ia 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. Tapi, 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.
Virtual machine semacam ini biasanya disebut sebagai “zk” virtual machine, tetapi fitur yang lebih umum digunakan di sini adalah kesederhanaan. Meskipun “zero-knowledge” sangat penting untuk privasi, “sederhana” berarti bukti yang singkat dan mudah diverifikasi—dua karakteristik yang berguna namun berbeda, dan sering disalahartikan sebagai satu hal. (Jolt sudah memiliki sifat sederhana, dan dalam waktu dekat juga akan mengimplementasikan zero-knowledge.)
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, argumentasi, dan zero-knowledge (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 lengkap akan kami bahas 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: cukup gunakan program yang sudah ada dan verifikasi hasilnya, 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 khusus tentang SNARK; cukup tekan satu tombol, dan mereka bisa 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 standar 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 versi GPU-friendly yang kami kembangkan bersama—yang sangat penting untuk meningkatkan skalabilitas zkVM dan bukti secara umum.
R&D sumber terbuka
Jolt sendiri bersifat sumber terbuka, sehingga siapa saja dapat menggunakannya atau mengembangkannya berdasarkan inovasi yang ada. Open source adalah pengganda kekuatan utama: berbagi hasil secara terbuka memungkinkan ekosistem lebih luas untuk menggunakan, mengulang, melakukan pengujian/peninjauan/perbaikan, dan melakukan inovasi lebih lanjut.
Investasi modal ventura ke proyek sumber terbuka mungkin tampak tidak biasa, tetapi struktur pengembangan modern menempatkan sebagian besar pekerjaan pengembangan baik di dalam perusahaan—misalnya laboratorium riset perusahaan lama atau laboratorium yayasan saat ini—atau di dunia akademik. Tujuan kami mendirikan a16z crypto Research adalah 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.
Dukungan terhadap pendekatan desain SNARK secara terbalik sangat penting bagi Jolt, karena ini mewakili sebuah “paradigma revolusioner” yang berbeda secara fundamental dari pendekatan desain sebelumnya. Evolusi desain ini telah berlangsung selama bertahun-tahun.
Kisah inovasi seringkali tentang perubahan arsitektur
Untuk memahami perubahan besar yang diambil Jolt dalam 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 wilayah lain.
Pembuktian awal ini—yang berupa rangkaian logika yang ditulis langkah demi langkah—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 cikal bakal dari kelas kompleksitas NP dalam “P vs NP”.
Perlu dicatat bahwa metode pembuktian tradisional ini bersifat sekuensial dan harus dilakukan secara bergiliran: statis, bukan interaktif.
Namun, melompat ke tahun 1985*, Shafi Goldwasser, Silvio Micali, dan Charles Rackoff memperkenalkan konsep pembuktian interaktif (“IP”).[*Sebenarnya, makalah mereka lebih awal dari itu, tetapi ditolak beberapa 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 bisa bertanya secara langsung; dengan kata lain, melalui interaksi untuk mengeksplorasi kebenaran bukti tersebut.
Kekuatan besar dari pembuktian interaktif—dibandingkan dengan tradisional Yunani yang statis dan tertulis—baru benar-benar dipahami sekitar tahun 1990. Saat itu, Carsten Lund, Lance Fortnow, Howard Karloff, dan Noam Nisan mengusulkan protokol pemeriksaan jumlah (sum-check) untuk sistem pembuktian interaktif berbasis aljabar. Bersama karya Adi Shamir selanjutnya, ini dengan cepat menghasilkan kesimpulan dasar “IP=PSPACE”—yang secara teknis menyatakan bahwa:
Jika pembuktinya bisa berinteraksi—seperti sistem pembuktian tradisional challenge-response—(dengan asumsi bahwa penipu tidak bisa menjawab tantangan yang tidak bisa mereka jawab), maka kita bisa memverifikasi pernyataan yang lebih kompleks secara cepat dibandingkan metode statis Yunani.
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 komputasi yang dipertanyakan.
Beberapa tahun kemudian, Joe Kilian mengusulkan konstruksi bukti yang dapat diverifikasi secara probabilistik (PCP) untuk membangun argumentasi zero-knowledge 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 bagian tertentu—misalnya tiga “kata”—dan dengan probabilitas tinggi dapat menilai keabsahan bukti secara keseluruhan.
Namun, masalahnya adalah bukti PCP ini sangat panjang, meskipun biaya verifikasi sangat rendah.
Oleh karena itu, Kilian menunjukkan cara menggabungkan PCP dengan kriptografi, memungkinkan pembuktinya “mengunci” bukti panjang tersebut, dan hanya mengungkapkan beberapa bagian yang dipilih secara acak, lengkap dengan bukti kriptografi yang ringkas. Protokol Kilian akhirnya menghasilkan bukti yang terdiri dari bagian-bagian ini (ditambah data autentikasi kriptografi) yang cukup untuk meyakinkan verifikator bahwa seluruh bukti valid.
Pada awalnya, bukti ini masih bersifat interaktif. Kemudian, Micali menunjukkan bagaimana menerapkan transformasi Fiat-Shamir untuk mengubah protokol Kilian berbasis PCP menjadi non-interaktif. Singkatnya, transformasi Fiat-Shamir “menghapus” tantangan acak dari verifikator, sehingga pembuktinya bisa dihasilkan secara mandiri dan langsung.
Pengaruh arsitektur yang tertinggal
Melihat sejarah dan evolusi sistem pembuktian, kita telah mengalami perjalanan dari yang 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 Kilian, Micali menghasilkan 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 digunakan secara praktis.
Namun, metode 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 PCP. Meskipun pendekatan ini menghasilkan SNARK yang sangat ringkas, mereka tidak selalu tercepat dalam hal 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), tantangannya adalah bagaimana menjaga kesederhanaan verifikasi sekaligus menghilangkan interaksi dari sistem pembuktian. Ini mendorong para perancang untuk meninggalkan protokol sum-check (interaktif).
Tapi, jika kita ingin menggunakan Fiat-Shamir untuk menghilangkan interaksi… kita seharusnya langsung melewati langkah (b), yaitu protokol PCP yang dapat diverifikasi secara probabilistik! Melompati langkah ini adalah kunci utama dari pendekatan Jolt, yang membangun SNARK langsung dari pembuktian interaktif—menuju ke protokol sum-check.
Mengapa lebih banyak orang tidak lebih dulu beralih ke desain berbasis protokol sum-check? Mungkin karena para perancang SNARK awal tidak melakukannya, karena PCP dan SNARK tampaknya sangat mirip—keduanya mengimplementasikan konsep verifikasi yang ringkas. Dan, dalam pengembangan selanjutnya, arsitektur—serta kesalahpahaman—mungkin terus berlanjut.
Bagi kami, menginvestasikan banyak sumber daya ke Jolt, sebuah zkVM berbasis protokol sum-check, adalah sebuah taruhan terbalik—karena ini bertentangan dengan paradigma dominan selama puluhan tahun di bidang SNARK.
‘Jolt Inside’
Metode desain SNARK Jolt (yang juga didasarkan pada evaluasi batch dan mekanisme pemeriksaan memori, seperti Twist + Shout) menggabungkan protokol interaktif dan 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 struktur berulang yang dieksekusi CPU secara maksimal. Dengan mengamati bagaimana abstraksi “ambil-interpretasi-eksekusi” dari setiap inti CPU cocok untuk mekanisme evaluasi batch, Jolt mencapai efisiensi luar biasa dengan kompleksitas minimal.
Sebaliknya, zkVM lain sangat bergantung pada “pra-kompilasi” (seperti akselerator ASIC untuk subprogram tertentu) untuk mencapai performa yang memadai. Jolt menolak pra-kompilasi ini karena akan mengulangi kesalahan dari pendekatan desain SNARK sebelum munculnya zkVM: yang membutuhkan keahlian khusus untuk merancang SNARK tersebut, 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 merupakan 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 inherent dari eksekusi CPU ini untuk meningkatkan kesederhanaan dan performa.
Jolt sejak awal menempatkan kegunaan dan performa produksi sebagai prioritas: pengembang bisa langsung memverifikasi program yang ada; bahkan untuk verifikasi cepat, tidak perlu mengubah kode apa pun. Jolt tidak memaksa tim untuk melakukan refaktor aplikasi dengan “pra-kompilasi” 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 rangkaian sirkuit untuk setiap instruksi dasar—sementara Jolt tidak perlu. Dalam Jolt, setiap instruksi dasar cukup dideskripsikan dalam sekitar sepuluh baris kode Rust. Tanpa sirkuit, cukup sepuluh baris kode.
Langkah selanjutnya untuk Jolt?
Kami sudah unggul dalam kecepatan. Dengan optimasi dan fitur tambahan—termasuk rekursi dan bukti nol pengetahuan—terutama rencana kami untuk beralih dari kriptografi kurva elips ke kriptografi lattice, kami akan mencapai peningkatan kecepatan lagi dalam beberapa bulan mendatang, bahkan di era pasca-quantum.
Jolt membuka lebih banyak kemungkinan aplikasi. Untuk blockchain, skalabilitas dan desentralisasi yang selama ini diidamkan akan menjadi lebih mudah diimplementasikan. Bukti nol pengetahuan bisa langsung digunakan tanpa perlu pengembangan kriptografi yang memakan waktu berbulan-bulan atau bertahun-tahun.
Namun, seiring perkembangan Jolt—misalnya, membangun zkVM yang cepat dan mudah digunakan untuk perangkat mobile dan laptop—pengembang akan dapat membuka lebih banyak use case di sisi klien dan privasi. Contohnya, aplikasi privasi di ponsel yang sebelumnya sulit dipelihara dan hampir tidak bisa dijoperasikan, kini bisa dengan mudah diimplementasikan.
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 sebuah file bukti sekitar 50 KB, bukan seluruh data ratusan GB, untuk membuktikan bahwa mereka memiliki data tertentu—sangat kuat sehingga sulit diprediksi aplikasi apa yang akan dikembangkan dengan teknologi ini. Kemungkinannya tak terbatas.
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’
Penulis artikel: a16z crypto
Artikel diterjemahkan oleh: Block unicorn
Pendahuluan
Hari ini, LayerZero merilis jaringan baru mereka Zero, yang mencakup berbagai kemajuan teknologi—termasuk metode bukti nol pengetahuan (zero-knowledge proof) yang benar-benar baru, yang memisahkan eksekusi transaksi dari verifikasi. Semua ini berkat “Jolt Inside”.
Apa itu Jolt? Jolt adalah sebuah zkVM (virtual machine zero-knowledge) sumber terbuka berbasis RISC-V—atau lebih tepatnya, sebuah virtual machine “sederhana”—yang cepat, aman, dan mudah digunakan. Ia 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. Tapi, 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.
Virtual machine semacam ini biasanya disebut sebagai “zk” virtual machine, tetapi fitur yang lebih umum digunakan di sini adalah kesederhanaan. Meskipun “zero-knowledge” sangat penting untuk privasi, “sederhana” berarti bukti yang singkat dan mudah diverifikasi—dua karakteristik yang berguna namun berbeda, dan sering disalahartikan sebagai satu hal. (Jolt sudah memiliki sifat sederhana, dan dalam waktu dekat juga akan mengimplementasikan zero-knowledge.)
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, argumentasi, dan zero-knowledge (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 lengkap akan kami bahas 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: cukup gunakan program yang sudah ada dan verifikasi hasilnya, 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 khusus tentang SNARK; cukup tekan satu tombol, dan mereka bisa 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 standar 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 versi GPU-friendly yang kami kembangkan bersama—yang sangat penting untuk meningkatkan skalabilitas zkVM dan bukti secara umum.
R&D sumber terbuka
Jolt sendiri bersifat sumber terbuka, sehingga siapa saja dapat menggunakannya atau mengembangkannya berdasarkan inovasi yang ada. Open source adalah pengganda kekuatan utama: berbagi hasil secara terbuka memungkinkan ekosistem lebih luas untuk menggunakan, mengulang, melakukan pengujian/peninjauan/perbaikan, dan melakukan inovasi lebih lanjut.
Investasi modal ventura ke proyek sumber terbuka mungkin tampak tidak biasa, tetapi struktur pengembangan modern menempatkan sebagian besar pekerjaan pengembangan baik di dalam perusahaan—misalnya laboratorium riset perusahaan lama atau laboratorium yayasan saat ini—atau di dunia akademik. Tujuan kami mendirikan a16z crypto Research adalah 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.
Dukungan terhadap pendekatan desain SNARK secara terbalik sangat penting bagi Jolt, karena ini mewakili sebuah “paradigma revolusioner” yang berbeda secara fundamental dari pendekatan desain sebelumnya. Evolusi desain ini telah berlangsung selama bertahun-tahun.
Kisah inovasi seringkali tentang perubahan arsitektur
Untuk memahami perubahan besar yang diambil Jolt dalam 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 wilayah lain.
Pembuktian awal ini—yang berupa rangkaian logika yang ditulis langkah demi langkah—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 cikal bakal dari kelas kompleksitas NP dalam “P vs NP”.
Perlu dicatat bahwa metode pembuktian tradisional ini bersifat sekuensial dan harus dilakukan secara bergiliran: statis, bukan interaktif.
Namun, melompat ke tahun 1985*, Shafi Goldwasser, Silvio Micali, dan Charles Rackoff memperkenalkan konsep pembuktian interaktif (“IP”).[*Sebenarnya, makalah mereka lebih awal dari itu, tetapi ditolak beberapa 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 bisa bertanya secara langsung; dengan kata lain, melalui interaksi untuk mengeksplorasi kebenaran bukti tersebut.
Kekuatan besar dari pembuktian interaktif—dibandingkan dengan tradisional Yunani yang statis dan tertulis—baru benar-benar dipahami sekitar tahun 1990. Saat itu, Carsten Lund, Lance Fortnow, Howard Karloff, dan Noam Nisan mengusulkan protokol pemeriksaan jumlah (sum-check) untuk sistem pembuktian interaktif berbasis aljabar. Bersama karya Adi Shamir selanjutnya, ini dengan cepat menghasilkan kesimpulan dasar “IP=PSPACE”—yang secara teknis menyatakan bahwa:
Jika pembuktinya bisa berinteraksi—seperti sistem pembuktian tradisional challenge-response—(dengan asumsi bahwa penipu tidak bisa menjawab tantangan yang tidak bisa mereka jawab), maka kita bisa memverifikasi pernyataan yang lebih kompleks secara cepat dibandingkan metode statis Yunani.
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 komputasi yang dipertanyakan.
Beberapa tahun kemudian, Joe Kilian mengusulkan konstruksi bukti yang dapat diverifikasi secara probabilistik (PCP) untuk membangun argumentasi zero-knowledge 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 bagian tertentu—misalnya tiga “kata”—dan dengan probabilitas tinggi dapat menilai keabsahan bukti secara keseluruhan.
Namun, masalahnya adalah bukti PCP ini sangat panjang, meskipun biaya verifikasi sangat rendah.
Oleh karena itu, Kilian menunjukkan cara menggabungkan PCP dengan kriptografi, memungkinkan pembuktinya “mengunci” bukti panjang tersebut, dan hanya mengungkapkan beberapa bagian yang dipilih secara acak, lengkap dengan bukti kriptografi yang ringkas. Protokol Kilian akhirnya menghasilkan bukti yang terdiri dari bagian-bagian ini (ditambah data autentikasi kriptografi) yang cukup untuk meyakinkan verifikator bahwa seluruh bukti valid.
Pada awalnya, bukti ini masih bersifat interaktif. Kemudian, Micali menunjukkan bagaimana menerapkan transformasi Fiat-Shamir untuk mengubah protokol Kilian berbasis PCP menjadi non-interaktif. Singkatnya, transformasi Fiat-Shamir “menghapus” tantangan acak dari verifikator, sehingga pembuktinya bisa dihasilkan secara mandiri dan langsung.
Pengaruh arsitektur yang tertinggal
Melihat sejarah dan evolusi sistem pembuktian, kita telah mengalami perjalanan dari yang 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 Kilian, Micali menghasilkan 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 digunakan secara praktis.
Namun, metode 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 PCP. Meskipun pendekatan ini menghasilkan SNARK yang sangat ringkas, mereka tidak selalu tercepat dalam hal 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 ekstrem, untuk mengadopsi protokol sum-check lebih awal, kita harus meninjau sejarah dan evolusi SNARK secara non-linear. Dari (a) pembuktian interaktif → (b) PCP → © argumentasi interaktif yang ringkas → (d) pengembangan SNARK awal, industri mengalami perubahan berikut:
Dalam transisi dari (a) ke (b), tantangannya adalah bagaimana menjaga kesederhanaan verifikasi sekaligus menghilangkan interaksi dari sistem pembuktian. 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, dihapus lagi, sehingga kita beralih dari © ke (d).
Jika kita melihat semua langkah ini secara linier—a → b → c → d—kita bisa melihat bahwa para perancang SNARK sebenarnya menghilangkan interaksi dua kali: pertama dari (a) ke (b), dan kedua dari © ke (d).
Tapi, jika kita ingin menggunakan Fiat-Shamir untuk menghilangkan interaksi… kita seharusnya langsung melewati langkah (b), yaitu protokol PCP yang dapat diverifikasi secara probabilistik! Melompati langkah ini adalah kunci utama dari pendekatan Jolt, yang membangun SNARK langsung dari pembuktian interaktif—menuju ke protokol sum-check.
Mengapa lebih banyak orang tidak lebih dulu beralih ke desain berbasis protokol sum-check? Mungkin karena para perancang SNARK awal tidak melakukannya, karena PCP dan SNARK tampaknya sangat mirip—keduanya mengimplementasikan konsep verifikasi yang ringkas. Dan, dalam pengembangan selanjutnya, arsitektur—serta kesalahpahaman—mungkin terus berlanjut.
Bagi kami, menginvestasikan banyak sumber daya ke Jolt, sebuah zkVM berbasis protokol sum-check, adalah sebuah taruhan terbalik—karena ini bertentangan dengan paradigma dominan selama puluhan tahun di bidang SNARK.
‘Jolt Inside’
Metode desain SNARK Jolt (yang juga didasarkan pada evaluasi batch dan mekanisme pemeriksaan memori, seperti Twist + Shout) menggabungkan protokol interaktif dan 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 struktur berulang yang dieksekusi CPU secara maksimal. Dengan mengamati bagaimana abstraksi “ambil-interpretasi-eksekusi” dari setiap inti CPU cocok untuk mekanisme evaluasi batch, Jolt mencapai efisiensi luar biasa dengan kompleksitas minimal.
Sebaliknya, zkVM lain sangat bergantung pada “pra-kompilasi” (seperti akselerator ASIC untuk subprogram tertentu) untuk mencapai performa yang memadai. Jolt menolak pra-kompilasi ini karena akan mengulangi kesalahan dari pendekatan desain SNARK sebelum munculnya zkVM: yang membutuhkan keahlian khusus untuk merancang SNARK tersebut, 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 merupakan 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 inherent dari eksekusi CPU ini untuk meningkatkan kesederhanaan dan performa.
Jolt sejak awal menempatkan kegunaan dan performa produksi sebagai prioritas: pengembang bisa langsung memverifikasi program yang ada; bahkan untuk verifikasi cepat, tidak perlu mengubah kode apa pun. Jolt tidak memaksa tim untuk melakukan refaktor aplikasi dengan “pra-kompilasi” 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 rangkaian sirkuit untuk setiap instruksi dasar—sementara Jolt tidak perlu. Dalam Jolt, setiap instruksi dasar cukup dideskripsikan dalam sekitar sepuluh baris kode Rust. Tanpa sirkuit, cukup sepuluh baris kode.
Langkah selanjutnya untuk Jolt?
Kami sudah unggul dalam kecepatan. Dengan optimasi dan fitur tambahan—termasuk rekursi dan bukti nol pengetahuan—terutama rencana kami untuk beralih dari kriptografi kurva elips ke kriptografi lattice, kami akan mencapai peningkatan kecepatan lagi dalam beberapa bulan mendatang, bahkan di era pasca-quantum.
Jolt membuka lebih banyak kemungkinan aplikasi. Untuk blockchain, skalabilitas dan desentralisasi yang selama ini diidamkan akan menjadi lebih mudah diimplementasikan. Bukti nol pengetahuan bisa langsung digunakan tanpa perlu pengembangan kriptografi yang memakan waktu berbulan-bulan atau bertahun-tahun.
Namun, seiring perkembangan Jolt—misalnya, membangun zkVM yang cepat dan mudah digunakan untuk perangkat mobile dan laptop—pengembang akan dapat membuka lebih banyak use case di sisi klien dan privasi. Contohnya, aplikasi privasi di ponsel yang sebelumnya sulit dipelihara dan hampir tidak bisa dijoperasikan, kini bisa dengan mudah diimplementasikan.
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 sebuah file bukti sekitar 50 KB, bukan seluruh data ratusan GB, untuk membuktikan bahwa mereka memiliki data tertentu—sangat kuat sehingga sulit diprediksi aplikasi apa yang akan dikembangkan dengan teknologi ini. Kemungkinannya tak terbatas.