Spesialisasi dan generalisasi, manakah yang merupakan masa depan ZK? Izinkan saya mencoba menjawab pertanyaan ini dengan sebuah diagram:
Seperti yang ditunjukkan dalam diagram, apakah mungkin bagi kita untuk bertemu ke titik optimal magis pada sistem koordinat trade-off di masa depan?
Tidak, masa depan komputasi yang dapat diverifikasi di luar rantai adalah kurva kontinu yang mengaburkan batas antara ZK khusus dan umum. Izinkan saya menjelaskan evolusi historis dari istilah-istilah ini dan bagaimana mereka akan menyatu di masa depan.
Dua tahun yang lalu, infrastruktur ZK “khusus” berarti kerangka kerja sirkuit tingkat rendah seperti circom, Halo2, dan arkworks. Aplikasi ZK yang dibangun menggunakan kerangka kerja ini pada dasarnya adalah sirkuit ZK yang ditulis dengan tangan. Mereka cepat dan hemat biaya untuk tugas-tugas tertentu tetapi biasanya sulit untuk dikembangkan dan dipelihara. Mereka mirip dengan berbagai chip sirkuit terintegrasi khusus (wafer silikon fisik) di industri IC saat ini, seperti chip NAND dan chip pengontrol.
Namun, selama dua tahun terakhir, infrastruktur ZK khusus secara bertahap menjadi lebih “umum.”
Kami sekarang memiliki kerangka kerja ZKML, koprosesor ZK, dan ZKSQL yang menawarkan SDK yang mudah digunakan dan sangat dapat diprogram untuk membangun berbagai kategori aplikasi ZK tanpa menulis satu baris pun kode sirkuit ZK. Sebagai contoh, koprosesor ZK memungkinkan smart contract untuk mengakses status, peristiwa, dan transaksi historis blockchain secara aman dan menjalankan komputasi sewenang-wenang pada data ini. ZKML memungkinkan smart contract untuk menggunakan hasil inferensi AI dengan cara yang tidak dapat dipercaya untuk menangani berbagai macam model pembelajaran mesin.
Kerangka kerja yang telah berevolusi ini secara signifikan meningkatkan kemampuan pemrograman dalam domain target mereka sambil mempertahankan kinerja tinggi dan biaya rendah karena lapisan abstraksi tipis (SDK / API) yang dekat dengan sirkuit bare-metal.
Mereka mirip dengan GPU, TPU, dan FPGA di pasar IC: spesialis domain yang dapat diprogram.
ZKVM juga telah membuat langkah besar selama dua tahun terakhir. Khususnya, semua ZKVM tujuan umum dibangun di atas kerangka kerja ZK tingkat rendah yang terspesialisasi. Idenya adalah Anda dapat menulis aplikasi ZK dalam bahasa tingkat tinggi (bahkan lebih mudah digunakan daripada SDK/API), yang dikompilasi ke dalam kombinasi sirkuit khusus dan set instruksi (RISC-V atau mirip dengan WASM). Mereka seperti chip CPU dalam industri IC.
ZKVM adalah lapisan abstraksi di atas kerangka kerja ZK tingkat rendah, seperti halnya koprosesor ZK.
Seperti yang pernah dikatakan oleh orang bijak, sebuah lapisan abstraksi dapat menyelesaikan semua masalah ilmu komputer tetapi secara bersamaan menciptakan masalah lain. Pengorbanan, itulah kuncinya. Pada dasarnya, untuk ZKVM, kami menukar kinerja dan keumuman.
Dua tahun yang lalu, performa “bare-metal” ZKVM memang buruk. Namun demikian, hanya dalam waktu dua tahun, performa ZKVM telah meningkat secara signifikan.
Mengapa?
Karena ZKVM “tujuan umum” ini telah menjadi lebih “terspesialisasi.” Alasan utama untuk peningkatan kinerja adalah “prakompilasi.” Prakompilasi ini adalah sirkuit ZK khusus yang mampu mengkomputasi program tingkat tinggi yang umum, seperti SHA2 dan berbagai verifikasi tanda tangan, jauh lebih cepat daripada memecahnya menjadi fragmen sirkuit instruksi.
Dengan demikian, trennya sekarang cukup jelas.
Infrastruktur ZK khusus menjadi lebih umum, sementara ZKVM umum menjadi lebih terspesialisasi.
Pengoptimalan kedua solusi selama beberapa tahun terakhir ini telah mencapai titik pertukaran yang lebih baik daripada sebelumnya: membuat kemajuan pada satu titik tanpa mengorbankan titik lainnya. Itulah mengapa kedua belah pihak merasa bahwa “kami adalah masa depan.”
Namun, kebijaksanaan ilmu komputer memberi tahu kita bahwa pada suatu saat, kita akan menemukan “dinding optimal Pareto” (garis putus-putus hijau), di mana kita tidak dapat meningkatkan satu kinerja tanpa mengorbankan kinerja lainnya.
Oleh karena itu, muncullah pertanyaan jutaan dolar:
Akankah satu teknologi sepenuhnya menggantikan teknologi lainnya pada waktu yang tepat?
Meminjam wawasan dari industri IC: ukuran pasar CPU adalah $126 miliar, sedangkan seluruh industri IC (termasuk semua IC “khusus”) adalah $515 miliar. Saya yakin bahwa, dari perspektif mikro, sejarah akan terulang kembali di sini, dan mereka tidak akan saling menggantikan.
Meskipun demikian, saat ini tidak ada yang akan mengatakan, “Hei, saya menggunakan komputer yang sepenuhnya digerakkan oleh CPU serba guna,” atau “Hei, ini adalah robot mewah yang digerakkan oleh IC khusus.”
Ya, kita memang harus melihat masalah ini dari perspektif makro, dan di masa depan, akan ada kurva trade-off yang memungkinkan pengembang untuk memilih secara fleksibel sesuai dengan kebutuhan mereka.
Di masa depan, infrastruktur ZK khusus dan ZKVM umum dapat bekerja sama. Hal ini dapat direalisasikan dalam berbagai bentuk. Metode yang paling sederhana sudah dapat dicapai sekarang. Sebagai contoh, Anda dapat menggunakan koprosesor ZK untuk menghasilkan beberapa hasil komputasi dalam riwayat transaksi blockchain, tetapi logika bisnis komputasi pada data ini sangat kompleks dan tidak dapat dengan mudah diekspresikan dalam SDK/API.
Apa yang dapat Anda lakukan adalah mendapatkan bukti ZK berkinerja tinggi dan berbiaya rendah dari data dan hasil komputasi menengah, kemudian menggabungkannya ke dalam VM tujuan umum melalui bukti rekursif.
Meskipun saya menemukan perdebatan semacam ini menarik, saya tahu bahwa kita semua sedang membangun masa depan komputasi asinkron yang didorong oleh komputasi yang dapat diverifikasi secara off-chain untuk blockchain. Seiring dengan munculnya kasus-kasus penggunaan untuk adopsi pengguna massal di tahun-tahun mendatang, saya yakin perdebatan ini akhirnya akan mencapai kesimpulan.