Permainan seluruh blockchain/dunia otonom adalah salah satu narasi terpenting di Web3. Hingga akhir Oktober, pengguna aktif harian (DAU) permainan web3 mencapai 5,3 juta, menunjukkan potensi pasar yang besar. Berbeda dengan aplikasi Web2.5, permainan seluruh blockchain/dunia otonom sepenuhnya menerapkan logika permainan di blockchain, langsung memanfaatkan blockchain sebagai server permainan, memastikan setiap tindakan pengguna terjadi secara nyata di blockchain, yang membawa keuntungan signifikan seperti desentralisasi, kepercayaan, dan kemampuan untuk digabungkan, namun permainan tradisional masih menghadapi tantangan besar dalam mengadopsi web3, termasuk hambatan kinerja, skalabilitas, dan privasi. Nova adalah skema lipat yang diharapkan dapat merombak keadaan permainan, memimpin permainan web3 menuju era baru.

Apa itu Nova

Nova [1] adalah sistem bukti rekursif berbasis skema lipat, dirancang khusus untuk R1CS, yang mampu secara efisien menjalankan perhitungan yang dapat diverifikasi secara inkremental (IVC). IVC adalah sebuah primitif kriptografi yang memastikan bahwa setiap langkah dieksekusi dengan benar dengan membuktikan kebenaran hasil setiap langkah, sehingga memungkinkan pihak tertentu untuk menunjukkan integritas proses eksekusi program komputer tertentu.

Pertama-tama, apa itu IC (Perhitungan Inkremental)? IC mengacu pada penerapan rekursif fungsi yang sama F untuk perhitungan, yaitu dengan memasukkan status awal, setelah iterasi ini mendapatkan status, seperti yang ditunjukkan pada gambar 1.a. Jika fungsi F juga mencakup sirkuit verifikasi, maka kita mendapatkan IVC (Perhitungan yang Dapat Diverifikasi Secara Inkremental). IVC memungkinkan Prover untuk membuktikan kepada Verifier, dan menghasilkan satu pada setiap langkah, ini adalah sebuah bukti yang ringkas, memastikan bahwa proses perhitungan dari awal hingga langkah tersebut benar, seperti yang ditunjukkan pada gambar 1.b. Dapat dilihat bahwa metode ini dapat membagi perhitungan/penyataan besar menjadi blok yang lebih kecil, dan kemudian dapat mengeksekusi blok kode yang sama secara lebih efisien.

Nova mengusulkan sebuah skema lipat yang sangat inovatif, yang menggabungkan dua instance R1CS dan masing-masing witness-instance menjadi satu. Dibandingkan dengan IVC berbasis Snark, Nova tidak perlu memverifikasi bukti Snark sebelumnya di setiap rekursi, sehingga memiliki karakteristik berikut:

  • Tidak memerlukan pengaturan yang dapat dipercaya

  • Tidak memerlukan perhitungan FFT, dan tidak memerlukan kurva elips yang ramah pasangan

  • Waktu verifikasi konstan

  • Hanya untuk instance R1CS, akan menggabungkan 2 instance R1CS menjadi 1 instance R1CS

Mengapa Nova

Permainan web3 memiliki prospek yang luas, tetapi juga menghadapi banyak tantangan. Pertama, untuk permainan yang cepat dan real-time, waktu respons instruksi biasanya dalam milidetik, namun sebagian besar blockchain belum memiliki kemampuan yang diperlukan untuk menjalankan permainan berkinerja tinggi. Kedua, seiring meningkatnya volume transaksi, blockchain dapat menjadi padat, menyebabkan penundaan dan mempengaruhi pengalaman.

Untuk mengatasi masalah ini, kami menjelajahi metode yang disebut Game Rollup. Game Rollup menggabungkan instruksi operasi permainan ke dalam sirkuit yang sama melalui sistem bukti Groth16, kemudian menghasilkan sebuah proof dan menguploadnya ke blockchain untuk diverifikasi. Dengan cara ini, pemain dapat melakukan lebih banyak operasi sebelum berinteraksi dengan blockchain, menikmati pengalaman bermain yang lebih lama, dan menghindari menunggu konfirmasi di blockchain setiap kali melakukan operasi.

Secara khusus, sirkuit Rollup kami juga dapat dinyatakan dalam bentuk IVC:

Di mana F adalah fungsi giliran dari permainan.

Sebagai contoh, permainan 2048 kami adalah versi adaptasi on-chain dari permainan teka-teki klasik yang menggeser. Tantangan terbesar dalam merancang 2048 terletak pada desain fungsi F. Karena dalam permainan 2048, setiap putaran memiliki empat kemungkinan instruksi input: atas, bawah, kiri, dan kanan, untuk mengakomodasi keempat input ini, desain fungsi F (sirkuit) harus cukup cermat, karena ia berbeda secara mendasar dari beberapa implementasi logika 2048 di blockchain melalui kontrak pintar, yang biasanya menangani instruksi melalui pernyataan if sederhana (misalnya, if up {}, else if down {}...). Namun, sirkuit tidak mendukung penggunaan struktur if-else secara langsung, yang akan kami bahas lebih lanjut di artikel berikutnya.

Solana adalah blockchain publik berkinerja tinggi yang dapat memberikan kecepatan konfirmasi transaksi yang lebih cepat, namun meskipun demikian, pengalaman bermain 2048 yang diterapkan di atasnya[2] masih belum mencapai kelancaran yang ideal. Sebaliknya, metode kami berbasis Game Rollup menawarkan pengalaman bermain yang lebih lancar, yang juga membuktikan keunggulan Game Rollup dalam meningkatkan kinerja permainan, meskipun metode ini masih memiliki beberapa keterbatasan karena hanya merupakan cara implementasi IVC yang paling sederhana.

  • Prover membutuhkan Ω (i * |F|) memori

  • Proof tidak dapat diperbarui secara inkremental

Hingga kami menemukan dan mempelajari Nova secara mendalam, kami merasakan semacam perasaan "seperti menemukan sesuatu yang terlambat", karena ia melampaui keterbatasan Game Rollup dan diharapkan dapat menyelesaikan masalah hambatan kinerja dan skalabilitas dalam permainan Web3. Berikut adalah pengujian kinerja yang kami lakukan sebagai contoh menggunakan permainan 2048, untuk membandingkan dua cara implementasi Game Rollup dan Nova:

Ringkasan

Nova tidak hanya memiliki kinerja yang unggul, tetapi juga efisiensi memori yang tinggi, yang sangat penting untuk sirkuit besar, karena groth16 membutuhkan SRS yang besar dan menghabiskan memori, Nova masih dapat berjalan secara efisien dalam lingkungan memori rendah. Saat ini, beberapa ZKVM juga telah mulai dibangun berdasarkan Nova, seperti Nexus[3]. Kami percaya, Nova akan membawa kinerja dan skalabilitas yang belum pernah ada sebelumnya untuk permainan Web3, menjadi teknologi kunci yang mendorong perkembangan permainan Web3. Zypher telah membangun kemitraan strategis yang erat dengan Nexus, dan sedang aktif bekerja sama untuk mengadopsi ZKVM berbasis sistem Nova Nexus untuk menciptakan infrastruktur aplikasi terdesentralisasi generasi berikutnya.

Referensi:

[1] https://eprint.iacr.org/2021/370

[2] https://solplay.de/solana-2048/

[3] https://nexus.xyz/