Jaringan bukti adalah lapisan infrastruktur off-chain yang mengoordinasikan pembuatan, verifikasi, dan pengiriman bukti tanpa pengetahuan di seluruh aplikasi blockchain. Ini berfungsi sebagai jaringan penghubung antara koprosesor ZK dan lapisan blockchain, memastikan bahwa bukti yang dihasilkan off-chain dapat divalidasi secara efisien di on-chain dengan cara yang dapat diskalakan dan terdesentralisasi.
Koprosesor ZK mampu menghasilkan bukti kriptografi untuk perhitungan sewenang-wenang. Namun, sistem ini memerlukan cara untuk mengarahkan bukti ke lingkungan on-chain yang tepat, mengelola ketergantungan data, dan memastikan bahwa bukti dihasilkan tepat waktu dan dengan integritas. Jaringan bukti menangani kebutuhan ini dengan bertindak sebagai lapisan terdesentralisasi atau semi-terdesentralisasi yang mengelola penyedia bukti, verifier, dan komponen orkestra terkait.
Alih-alih setiap kontrak pintar, rollup, atau aplikasi memiliki infrastruktur prover terisolasi sendiri, jaringan bukti memungkinkan banyak entitas untuk memanfaatkan ekosistem prover yang dibagikan. Ini mengurangi duplikasi, menurunkan biaya, dan menciptakan ekosistem yang lebih modular dan dapat disusun untuk aplikasi zero-knowledge.
Peran jaringan bukti adalah untuk mengambil bukti yang dihasilkan oleh koprosesor ZK dan menyampaikannya kepada verifikasi on-chain dalam format yang dapat digunakan oleh kontrak pintar. Proses ini melibatkan beberapa langkah, yang sering kali disembunyikan dari pengguna akhir.
Pertama, pengguna atau kontrak mengajukan permintaan ke koprosesor ZK melalui frontend atau API. Koprosesor menjalankan logika yang diperlukan dan menghasilkan bukti. Alih-alih memposting bukti langsung di rantai, bukti tersebut dikirim ke koordinator jaringan bukti, yang memastikan bahwa bukti tersebut valid, terkait dengan perhitungan yang benar, dan tidak diduplikasi.
Setelah divalidasi, jaringan bukti baik memposting bukti tersebut di dalam rantai itu sendiri atau mengembalikannya kepada pengguna atau relayer, yang kemudian menyertakannya dalam sebuah transaksi. Kontrak pintar menerima bukti tersebut dan memverifikasinya menggunakan kunci verifikasi yang telah dimuat sebelumnya. Jika verifikasi berhasil, kontrak melanjutkan logikanya berdasarkan hasil yang dipercaya.
Arsitektur ini membuat infrastruktur ZK dapat diskalakan dan dikomposisikan. Alih-alih mengkodekan sirkuit atau sistem bukti spesifik ke dalam setiap kontrak pintar, pengembang dapat mengandalkan jaringan bukti untuk berfungsi sebagai lapisan middleware, menghubungkan perhitungan off-chain ke transisi status on-chain.
Jaringan bukti yang khas mencakup beberapa peran fungsional. Prover bertanggung jawab untuk menghasilkan bukti kriptografi. Mereka menjalankan komputasi yang ditentukan oleh aplikasi dan menggunakan pustaka kriptografi untuk membuat bukti bahwa komputasi telah dilakukan dengan benar. Prover dapat berupa node yang dispesialisasi, pekerja GPU, atau lingkungan eksekusi tepercaya, tergantung pada desain jaringan.
Verifikator adalah kontrak pintar on-chain yang memeriksa validitas bukti yang diajukan. Mereka ringan, deterministik, dan aman. Setelah sebuah bukti lulus verifikasi, perhitungan yang terkait diterima sebagai valid oleh blockchain.
Relayer adalah aktor off-chain yang menangani komunikasi antara infrastruktur prover dan blockchain. Mereka mengirimkan bukti ke kontrak yang sesuai, menyertakan metadata yang diperlukan, dan memastikan pengiriman tepat waktu. Di beberapa jaringan, relayer bersifat opsional; di jaringan lain, mereka adalah peserta yang diberikan insentif.
Koordinator mengelola pencocokan permintaan dengan penyedia. Mereka menerima kueri pengguna atau permintaan komputasi dan menugaskannya kepada penyedia yang tersedia. Koordinator juga dapat mengagregasi hasil, menghapus duplikasi komputasi yang identik, dan memberikan jaminan ketersediaan. Dalam jaringan terdesentralisasi, lapisan koordinasi ini dapat diimplementasikan melalui mekanisme staking dan slashing untuk memastikan integritas.
Pemisahan peran ini memungkinkan arsitektur yang fleksibel. Seorang aktor tunggal dapat menjalankan beberapa peran dalam jaringan yang lebih kecil, atau peran dapat dibagi di antara banyak peserta dalam sistem yang lebih besar. Modularitas ini adalah kunci untuk meningkatkan sistem bukti di berbagai blockchain dan kasus penggunaan.
Beberapa proyek sedang membangun jaringan bukti di lingkungan produksi. Jaringan Prover Succinct memungkinkan pengembang untuk menghasilkan bukti ZK sesuai permintaan dan mengirimkannya ke rantai yang kompatibel dengan EVM. Ini mendukung pembuktian terdesentralisasi dan bertujuan untuk membuat aplikasi on-chain mana pun dapat diverifikasi dengan bukti yang ringkas. Succinct juga telah menguji infrastruktur mereka di World Chain, sebuah eksperimen rollup oleh Tools for Humanity.
ZeroGravity sedang membangun lapisan pembuktian yang sepenuhnya terdesentralisasi yang mendukung berbagai backend pembuktian. Ini fokus pada interoperabilitas dan bertujuan untuk menghubungkan koprosesor ZK dengan Ethereum, rollup, dan blockchain modular seperti Celestia. Dengan mengabstraksikan tumpukan pembuatan dan verifikasi bukti, ia memungkinkan aplikasi untuk terhubung ke lapisan ZK yang terpadu.
Jaringan Lagrange mengkhususkan diri dalam ketersediaan data yang dapat diverifikasi dan kueri status. Ini memungkinkan aplikasi untuk meminta jawaban yang didukung bukti untuk kueri lintas rantai, seperti memverifikasi saldo token atau kepemilikan NFT di rantai lain. Lagrange menggunakan pendekatan modular, memungkinkan pengembang untuk memilih sistem bukti dan sumber data sesuai dengan kebutuhan aplikasi mereka.
Setiap jaringan ini menangani lapisan yang berbeda dari masalah tersebut. Beberapa fokus pada komputasi, yang lain pada akses data, dan yang lainnya pada infrastruktur tingkat protokol. Bersama-sama, mereka membentuk ekosistem di mana komputasi zero-knowledge dapat menjadi lapisan yang distandarisasi dan dapat digunakan kembali dalam desain blockchain.
Ada dua model utama tentang bagaimana jaringan bukti berinteraksi dengan blockchain: verifikasi asli dan verifikasi modular.
Verifikasi native berarti bahwa blockchain itu sendiri, sering kali pada tingkat protokol, mendukung verifikasi bukti nol-pengetahuan. Ini adalah kasus dengan Ethereum, yang mencakup kontrak yang telah dikompilasi sebelumnya untuk memverifikasi bukti Groth16 dan PLONK. Dukungan native memastikan verifikasi yang lebih cepat dan biaya gas yang lebih rendah, tetapi memerlukan standardisasi dan membatasi jenis bukti yang dapat digunakan.
Verifikasi modular mengambil pendekatan yang berbeda. Ini memperlakukan jaringan bukti sebagai layanan eksternal yang dapat terhubung ke rantai mana pun menggunakan kontrak atau jembatan. Kontrak verifikasi di rantai mungkin diterapkan oleh aplikasi itu sendiri, dan format bukti didefinisikan di luar rantai. Model ini lebih fleksibel, memungkinkan pengembang untuk menggunakan sistem pembuktian baru dan logika kustom. Namun, ini datang dengan biaya dan kompleksitas yang lebih tinggi.
Memilih antara verifikasi native dan modular tergantung pada kebutuhan aplikasi. Verifikasi native cocok untuk aplikasi dengan volume tinggi dan format bukti yang dapat diprediksi. Verifikasi modular lebih baik untuk penelitian, logika kustom, atau sistem yang berkembang pesat. Jaringan bukti semakin dirancang untuk mendukung kedua model, menyediakan jalur cadangan dan lapisan kompatibilitas.
Seiring dengan perkembangan teknologi ZK, jaringan bukti muncul sebagai infrastruktur kunci untuk komputasi yang dapat diskalakan dan tanpa kepercayaan. Mereka memungkinkan pengembang untuk membangun sistem off-chain yang kuat dan menghubungkannya dengan aman ke lingkungan blockchain. Dalam melakukan hal ini, mereka mengubah bukti nol-pengetahuan dari konsep kriptografi menjadi tumpukan teknologi yang siap digunakan.