Fuel Network: Execution Layer Modular dengan FuelVM, UTXO Paralel, dan Sway

Penulis Fuel Labs
Tahun 2022
Proyek Fuel Network
Lisensi Apache 2.0
Sumber Resmi docs.fuel.network
Disclaimer: Halaman ini merupakan ringkasan dan analisis edukatif dari whitepaper atau makalah teknis resmi. Konten ini disajikan untuk tujuan pendidikan semata dan bukan merupakan saran investasi atau keuangan. Selalu baca dokumen asli dan lakukan riset mandiri sebelum mengambil keputusan keuangan apa pun.

Fuel adalah execution layer modular untuk Ethereum yang dideskripsikan dalam dokumentasi teknis 2022 oleh Fuel Labs. Fuel v2 dirancang sebagai rollup yang menggunakan Ethereum (atau lapisan DA lain seperti Celestia) untuk publikasi data dan settlement, sementara menyediakan lingkungan eksekusi performa tinggi sendiri.

Klaim inti Fuel: model eksekusi berbasis UTXO lebih unggul untuk paralelisme karena UTXO memiliki kepemilikan eksplisit — memungkinkan mesin eksekusi memproses transaksi independen secara simultan tanpa konflik. Ini berbeda dengan model berbasis akun (Ethereum EVM) di mana state global yang mutable memerlukan pemrosesan transaksi sequential dalam sebuah blok.

Konteks: Fuel v1 ke v2

Fuel Labs mengembangkan Fuel v1 (2020) sebagai salah satu optimistic rollup pertama di testnet Ethereum, mendahului mainnet Optimism. Fuel v1 adalah rollup optimistis minimalis dengan kemampuan scripting terbatas.

Fuel v2 (2022–2024) adalah desain ulang total: rollup UTXO multi-aset dengan VM kustom, bahasa kustom, dan arsitektur modular penuh. Fuel v2 dibangun untuk digunakan sebagai komponen dalam stack blockchain modular — ia menangani eksekusi, sementara lapisan lain menangani data availability, settlement, dan konsensus.

Model Eksekusi UTXO dan Paralelisme

Mengapa UTXO Memungkinkan Paralelisme

Dalam model UTXO (model Bitcoin), setiap transaksi mengonsumsi output sebelumnya yang spesifik dan membuat output baru. Input dan output setiap transaksi dideklarasikan secara eksplisit:

TX_1: Mengonsumsi UTXO_A, UTXO_B → Membuat UTXO_C, UTXO_D
TX_2: Mengonsumsi UTXO_E, UTXO_F → Membuat UTXO_G

Jika TX_1 dan TX_2 mengonsumsi UTXO yang berbeda (tidak ada tumpang tindih), mereka independen dan dapat dieksekusi secara paralel.

Dalam model akun (model Ethereum), eksekusi transaksi memerlukan pembacaan state global. Dua transaksi yang keduanya memanggil kontrak yang sama mungkin konflik atau tidak — hanya dapat diketahui setelah eksekusi. Ini memaksa eksekusi sequential yang konservatif.

Paralelisme Native FuelVM

  • Semua input transaksi (UTXO, pesan, kontrak yang disentuh) dideklarasikan dalam header transaksi
  • Mesin eksekusi menghitung conflict graph sebelum mengeksekusi
  • Transaksi independen dieksekusi secara paralel di berbagai core CPU
  • Hanya transaksi yang konflik yang dieksekusi secara serial

Predikat dan Skrip

FuelVM memperkenalkan dua primitif eksekusi novel:

  • Predikat: Kondisi pengeluaran stateless yang dievaluasi terhadap konteks transaksi saat ini. Predikat adalah program yang mengembalikan true atau false; jika true, UTXO dapat dibelanjakan. Predikat tidak dapat membaca atau menulis state — mereka murni fungsional. Ini memungkinkan kondisi pengeluaran yang kompleks tanpa penyimpanan smart contract.
  • Skrip: Program yang berjalan sekali, memanggil kontrak, dan menghasilkan hasil eksekusi. Skrip menggantikan konsep “transaksi EOA” Ethereum — di Fuel, setiap transaksi adalah eksekusi skrip.
  • Kontrak: Program stateful (mirip kontrak EVM) dengan penyimpanan persisten. Kontrak dipanggil oleh Skrip.

Arsitektur FuelVM

VM berbasis register (bukan berbasis stack seperti EVM):

  • 64 register (vs. stack tak terbatas di EVM)
  • Aritmetika 64-bit native
  • Operasi built-in untuk fungsi hash, kurva eliptik, manajemen memori
  • Model memori eksplisit (bukan pertumbuhan stack implisit)

VM berbasis register umumnya lebih cepat dari VM berbasis stack untuk beban kerja yang sama; desain stack EVM adalah artefak historis dari kesederhanaan, bukan performa.

Sway: Bahasa Smart Contract

Sway adalah bahasa pemrograman Fuel, dirancang khusus untuk FuelVM:

  • Sintaks dipengaruhi Rust (sistem kepemilikan, penanganan error eksplisit, tipe aljabar)
  • Dikompilasi oleh Forc ke bytecode FuelVM
  • Membedakan antara Skrip, Predikat, dan Kontrak di level bahasa
  • Dukungan built-in untuk multi-aset (token di Fuel adalah primitif protokol native, bukan standar kontrak)

Multi-Aset Native

Di Ethereum/EVM, setiap token adalah kontrak ERC-20. Di Fuel, multi-aset adalah primitif protokol native:

  • Aset mana pun (bukan hanya token gas) dapat disertakan dalam input/output UTXO
  • Protokol menangani transfer aset secara native tanpa smart contract
  • Menyederhanakan keamanan transfer token (tidak ada kelas kerentanan “approve”)

Catatan Realistis

  • Desain teknis Fuel canggih dan mengatasi keterbatasan EVM yang nyata.
  • Kematangan ekosistem: Ekosistem Fuel per 2024 sangat kecil relatif terhadap ekosistem EVM.
  • Tidak ada kompatibilitas EVM: Tidak seperti sebagian besar Ethereum L2, Fuel tidak mendukung Solidity — hambatan adopsi developer yang signifikan.
  • Mainnet Fuel v2 diluncurkan akhir 2024; waktu produksi dan TVL masih tahap awal.

Istilah Terkait

Referensi