Bukti penipuan dan pemikiran implementasi ZK Fraud Proof
Bukti penipuan adalah solusi teknologi yang banyak digunakan di bidang blockchain, yang berasal dari komunitas Ethereum dan diadopsi oleh proyek Layer2 seperti Arbitrum dan Optimism. Setelah munculnya ekosistem Bitcoin pada tahun 2023, Robin Linus mengusulkan solusi BitVM, yang berfokus pada bukti penipuan, untuk menyediakan model keamanan baru untuk lapisan kedua atau jembatan berdasarkan teknologi yang ada di Bitcoin.
BitVM telah mengalami beberapa evolusi versi, dari BitVM0 yang berbasis gerbang logika sebagai elemen dasarnya, hingga BitVM2 yang kemudian berfokus pada ZK Fraud Proof dan sirkuit verifikasi Groth16, dengan jalur teknologi yang terus matang. Beberapa proyek seperti Bitlayer, Citrea, BOB, dan lainnya telah melakukan implementasi yang berbeda dengan menggunakan BitVM sebagai dasar teknologinya.
Artikel ini akan mengambil contoh dari rencana bukti penipuan Optimism, menganalisis rencananya yang berbasis pada mesin virtual MIPS dan bukti penipuan interaktif, serta pemikiran utama dari bukti penipuan yang di-ZK-kan.
OutputRoot dan StateRoot
Optimism adalah proyek Optimistic Rollup yang terkenal, dengan infrastruktur yang terdiri dari sequencer dan kontrak pintar di blockchain Ethereum. Setelah sequencer memproses transaksi, data akan dikirim ke Ethereum. Menjalankan klien node Optimism dapat mengunduh data ini dan menjalankannya secara lokal, menghitung hash kumpulan status saat ini.
Jika sequencer mengunggah hash status set yang salah, hasil perhitungan lokal akan berbeda, pada saat itu dapat mengajukan keberatan melalui sistem bukti penipuan.
Blockchain berbasis EVM biasanya menggunakan struktur data Merkle Tree untuk mencatat kumpulan status, yang disebut World State Trie. Setelah eksekusi transaksi, World State Trie akan berubah, dan hash akhirnya juga akan diperbarui. Ethereum menyebut hash ini sebagai StateRoot, yang digunakan untuk menunjukkan perubahan kumpulan status.
Sistem akun Optimism mirip dengan Ethereum, juga menggunakan bidang StateRoot. Sequencer secara berkala akan mengunggah OutputRoot ke Ethereum, OutputRoot dihitung dari StateRoot dan dua bidang lainnya.
Mesin Virtual MIPS dan Pohon Merkle Memori
Untuk memverifikasi kebenaran OutputRoot di blockchain, cara termudah adalah dengan mengimplementasikan klien node OP di Ethereum, tetapi ada dua masalah:
Kontrak pintar tidak dapat secara otomatis mendapatkan parameter input yang diperlukan untuk bukti penipuan.
Batas Gas Ethereum terbatas, tidak mendukung tugas perhitungan kompleks
Masalah pertama dapat diselesaikan dengan kontrak PreimageOracle. Untuk masalah kedua, tim OP telah menulis mesin virtual MIPS menggunakan Solidity, yang mengimplementasikan sebagian fungsi node OP.
Tim pengembang OP telah menulis program sederhana menggunakan Golang, fungsinya hampir sama dengan node OP yang mengeksekusi transaksi, menghasilkan blok, dan modul OutputRoot. Namun, karena beban komputasi yang terlalu besar, tidak mungkin untuk mengeksekusi semua transaksi secara lengkap di rantai.
Untuk itu, Optimism merancang sistem bukti penipuan interaktif, yang merinci proses pemrosesan transaksi menjadi pemrosesan terurut dari opcode MIPS. Setelah setiap opcode dieksekusi, status hash mesin virtual akan berubah, dan catatan ini dirangkum menjadi sebuah pohon Merkle.
Dalam bukti penipuan interaktif, perlu ditentukan opcode MIPS mana yang menyebabkan kesalahan hash status mesin virtual, kemudian mereproduksi status saat itu di blockchain dan mengeksekusi opcode tersebut, serta mengamati apakah hasilnya konsisten. Ini memerlukan pengunggahan sebagian informasi status mesin virtual MIPS ke blockchain.
Kontrak terkait bukti penipuan di blockchain menyelesaikan eksekusi opcode MIPS melalui fungsi Step:
_stateData dan _proof parameter berisi data ketergantungan untuk eksekusi satu opcode MIPS, seperti status register, hash status memori, dll.
OP menggunakan arsitektur MIPS 32-bit, memori dapat diorganisir menjadi 28 lapisan pohon Merkle biner, dengan 2^27 catatan daun yang menyimpan data alamat memori. Hash dari semua data daun yang dirangkum adalah memRoot.
Bukti Penipuan Interaktif
Untuk menentukan opcode MIPS yang diperdebatkan, tim OP mengembangkan protokol Fault Dispute Game(FDG). FDG mencakup dua peran yaitu penantang dan pembela, keduanya perlu membangun GameTree secara lokal.
GameTree terdiri dari dua lapisan pohon: lapisan pertama adalah OutputRoot dari blok yang berbeda, lapisan kedua adalah status hash dari mesin virtual MIPS. Pihak yang berselisih berinteraksi beberapa kali di blockchain, akhirnya menentukan satu opcode MIPS yang perlu dieksekusi di blockchain.
Secara keseluruhan, bukti penipuan interaktif mencakup dua mekanisme inti:
Kode operasi MIPS dan informasi status VM yang perlu dieksekusi di blockchain untuk FDG定位
Eksekusi opcode ini pada mesin virtual MIPS di rantai Ethereum, untuk mendapatkan hasil akhir
Bukti penipuan ZK
Interaksi bukti penipuan tradisional kompleks, terdapat masalah berikut:
Interaksi multi-putaran menghasilkan biaya gas yang besar
Proses interaksi yang lebih lama, selama itu Rollup tidak dapat menjalankan transaksi dengan normal.
Tingkat kesulitan pengembangan VM tertentu di blockchain sangat tinggi
Untuk mengatasi masalah ini, Optimism mengusulkan konsep Bukti Penipuan ZK. Intinya adalah menantang transaksi yang perlu diputar ulang saat diperlukan, penyusun memberikan bukti ZK, yang divalidasi oleh kontrak Ethereum.
Jika dibandingkan dengan bukti penipuan interaktif, Bukti Penipuan ZK mengubah interaksi multi-langkah menjadi satu langkah dalam menghasilkan dan memverifikasi bukti ZK, menghemat waktu dan biaya. Jika dibandingkan dengan ZK Rollup, OP Rollup yang berbasis pada Bukti Penipuan ZK hanya menghasilkan bukti ketika ditantang, mengurangi biaya komputasi.
Pendekatan ZK dalam bukti penipuan juga diadopsi oleh BitVM2. Proyek yang menggunakan BitVM2 seperti Bitlayer, Goat Network, dll, mewujudkan program verifikasi ZK Proof melalui skrip Bitcoin, dan sangat memperkecil ukuran program on-chain.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Penjelasan rinci tentang bukti penipuan: dari solusi interaktif hingga evolusi teknologi ZK Fraud Proof
Bukti penipuan dan pemikiran implementasi ZK Fraud Proof
Bukti penipuan adalah solusi teknologi yang banyak digunakan di bidang blockchain, yang berasal dari komunitas Ethereum dan diadopsi oleh proyek Layer2 seperti Arbitrum dan Optimism. Setelah munculnya ekosistem Bitcoin pada tahun 2023, Robin Linus mengusulkan solusi BitVM, yang berfokus pada bukti penipuan, untuk menyediakan model keamanan baru untuk lapisan kedua atau jembatan berdasarkan teknologi yang ada di Bitcoin.
BitVM telah mengalami beberapa evolusi versi, dari BitVM0 yang berbasis gerbang logika sebagai elemen dasarnya, hingga BitVM2 yang kemudian berfokus pada ZK Fraud Proof dan sirkuit verifikasi Groth16, dengan jalur teknologi yang terus matang. Beberapa proyek seperti Bitlayer, Citrea, BOB, dan lainnya telah melakukan implementasi yang berbeda dengan menggunakan BitVM sebagai dasar teknologinya.
Artikel ini akan mengambil contoh dari rencana bukti penipuan Optimism, menganalisis rencananya yang berbasis pada mesin virtual MIPS dan bukti penipuan interaktif, serta pemikiran utama dari bukti penipuan yang di-ZK-kan.
OutputRoot dan StateRoot
Optimism adalah proyek Optimistic Rollup yang terkenal, dengan infrastruktur yang terdiri dari sequencer dan kontrak pintar di blockchain Ethereum. Setelah sequencer memproses transaksi, data akan dikirim ke Ethereum. Menjalankan klien node Optimism dapat mengunduh data ini dan menjalankannya secara lokal, menghitung hash kumpulan status saat ini.
Jika sequencer mengunggah hash status set yang salah, hasil perhitungan lokal akan berbeda, pada saat itu dapat mengajukan keberatan melalui sistem bukti penipuan.
Blockchain berbasis EVM biasanya menggunakan struktur data Merkle Tree untuk mencatat kumpulan status, yang disebut World State Trie. Setelah eksekusi transaksi, World State Trie akan berubah, dan hash akhirnya juga akan diperbarui. Ethereum menyebut hash ini sebagai StateRoot, yang digunakan untuk menunjukkan perubahan kumpulan status.
Sistem akun Optimism mirip dengan Ethereum, juga menggunakan bidang StateRoot. Sequencer secara berkala akan mengunggah OutputRoot ke Ethereum, OutputRoot dihitung dari StateRoot dan dua bidang lainnya.
Mesin Virtual MIPS dan Pohon Merkle Memori
Untuk memverifikasi kebenaran OutputRoot di blockchain, cara termudah adalah dengan mengimplementasikan klien node OP di Ethereum, tetapi ada dua masalah:
Masalah pertama dapat diselesaikan dengan kontrak PreimageOracle. Untuk masalah kedua, tim OP telah menulis mesin virtual MIPS menggunakan Solidity, yang mengimplementasikan sebagian fungsi node OP.
Tim pengembang OP telah menulis program sederhana menggunakan Golang, fungsinya hampir sama dengan node OP yang mengeksekusi transaksi, menghasilkan blok, dan modul OutputRoot. Namun, karena beban komputasi yang terlalu besar, tidak mungkin untuk mengeksekusi semua transaksi secara lengkap di rantai.
Untuk itu, Optimism merancang sistem bukti penipuan interaktif, yang merinci proses pemrosesan transaksi menjadi pemrosesan terurut dari opcode MIPS. Setelah setiap opcode dieksekusi, status hash mesin virtual akan berubah, dan catatan ini dirangkum menjadi sebuah pohon Merkle.
Dalam bukti penipuan interaktif, perlu ditentukan opcode MIPS mana yang menyebabkan kesalahan hash status mesin virtual, kemudian mereproduksi status saat itu di blockchain dan mengeksekusi opcode tersebut, serta mengamati apakah hasilnya konsisten. Ini memerlukan pengunggahan sebagian informasi status mesin virtual MIPS ke blockchain.
Kontrak terkait bukti penipuan di blockchain menyelesaikan eksekusi opcode MIPS melalui fungsi Step:
solidity fungsi step( bytes memory _stateData, bytes memory _proof ) pengembalian publik (bytes32) { // ... }
_stateData dan _proof parameter berisi data ketergantungan untuk eksekusi satu opcode MIPS, seperti status register, hash status memori, dll.
OP menggunakan arsitektur MIPS 32-bit, memori dapat diorganisir menjadi 28 lapisan pohon Merkle biner, dengan 2^27 catatan daun yang menyimpan data alamat memori. Hash dari semua data daun yang dirangkum adalah memRoot.
Bukti Penipuan Interaktif
Untuk menentukan opcode MIPS yang diperdebatkan, tim OP mengembangkan protokol Fault Dispute Game(FDG). FDG mencakup dua peran yaitu penantang dan pembela, keduanya perlu membangun GameTree secara lokal.
GameTree terdiri dari dua lapisan pohon: lapisan pertama adalah OutputRoot dari blok yang berbeda, lapisan kedua adalah status hash dari mesin virtual MIPS. Pihak yang berselisih berinteraksi beberapa kali di blockchain, akhirnya menentukan satu opcode MIPS yang perlu dieksekusi di blockchain.
Secara keseluruhan, bukti penipuan interaktif mencakup dua mekanisme inti:
Bukti penipuan ZK
Interaksi bukti penipuan tradisional kompleks, terdapat masalah berikut:
Untuk mengatasi masalah ini, Optimism mengusulkan konsep Bukti Penipuan ZK. Intinya adalah menantang transaksi yang perlu diputar ulang saat diperlukan, penyusun memberikan bukti ZK, yang divalidasi oleh kontrak Ethereum.
Jika dibandingkan dengan bukti penipuan interaktif, Bukti Penipuan ZK mengubah interaksi multi-langkah menjadi satu langkah dalam menghasilkan dan memverifikasi bukti ZK, menghemat waktu dan biaya. Jika dibandingkan dengan ZK Rollup, OP Rollup yang berbasis pada Bukti Penipuan ZK hanya menghasilkan bukti ketika ditantang, mengurangi biaya komputasi.
Pendekatan ZK dalam bukti penipuan juga diadopsi oleh BitVM2. Proyek yang menggunakan BitVM2 seperti Bitlayer, Goat Network, dll, mewujudkan program verifikasi ZK Proof melalui skrip Bitcoin, dan sangat memperkecil ukuran program on-chain.