Mengenal Lebih Dekat SUI Beserta Cara Kerjanya!

Graha Nusantara, Jakarta – Tim pengembang eks-Meta membuat sebuah blockchain permissionless layer-1 yaitu SUI. SUI diluncurkan pada akhir 2022 di tengah bear market Aptos.

Para pembuat SUI mendesain blockchain agar menjadi sebuah platform smart contract yang dapat memenuhi berbagai kebutuhan hanya dalam sebuah ekosistem. Kini SUI telah menyelesaikan pengujian tahap dua pada testnet. Pada pengujian tersebut terdapat 41 validator yang memproses 36,5 juta transaksi dari 1,6 juta alamat.

Cara kerja SUI:

1.    Sistem Validasi Transaksi Berdasarkan Objek

Sui tidak mengurutkan transaksi berdasarkan urutan waktunya? Ini karena Sui memproses transaksi berdasarkan objek, bukan subjek transaksi (alamat atau akun) untuk membuat jaringannya lebih efisien. Setiap objek hanya bisa diproses oleh alamat pemiliknya sehingga sistem ini sama amannya dengan blockchain lain pada umumnya. Dalam sistem Sui, transaksi berdasarkan objek dibagi menjadi dua yaitu single-owner objects dan shared objects.

Single-owner objects adalah objek individual yang dilakukan satu per satu seperti minting NFT dan mengirimkan atau menerima aset. Single-owner object hanya dimiliki oleh satu alamat dan sebuah alamat bisa memiliki banyak objek. Sementara itu, shared objects adalah objek yang digunakan oleh lebih dari satu pengguna secara bersamaan seperti pelelangan dan DEX dengan order book. Sebuah shared objects bisa dimiliki oleh beberapa alamat.

Kedua jenis objek ini diproses dengan cara yang berbeda. Single-owner objects tidak perlu melalui sistem konsensus dan langsung diproses oleh validator tanpa susunan tertentu. Sui menggunakan sistem berdasarkan Fastpay untuk jenis objek ini. Sementara itu, shared objects melalui mekanisme konsensus Bullshark dan Narwhal yang diproses secara tersusun. Shared objects memiliki histori transaksinya masing-masing.

Pemrosesan transaksi dari kedua jenis objek ini bisa dibayangkan seperti jalur-jalur berbeda sehingga Sui memvalidasi transaksi secara paralel.

2. Transaksi Paralel dan Skalabilitas Horizontal

Pemrosesan transaksi berdasarkan objek kemudian mengarah ke salah satu kelebihan Sui yaitu eksekusi transaksi paralel (parallel processing). Seperti pada gambar di atas, transaksi bisa diproses tanpa ada urutan tertentu jika objek yang diproses tidak saling berkaitan. Jadi, dalam kasus ini validator tidak perlu berkomunikasi satu sama lain kecuali dalam menangani transaksi dari objek yang sama.

Pada dasarnya, setiap transaksi diproses pada jalur-jalur berbeda yang Sui sebut sebagai multi-lane approach. Transaksi-transaksi independen bisa diproses oleh validator tanpa membutuhkan sinkronisasi dalam level jaringan. Jadi, sebenarnya tidak ada “blok” pada jaringan Sui karena transaksi diproses satu per satu. Ini dilakukan untuk mengurangi latensi dan waktu yang dibutuhkan untuk mencapai validasi.

Alur pemrosesan transaksi single-owner objects tidak memerlukan komunikasi antarvalidator sehingga setiap validator bisa memprosesnya dengan cepat. Proses ini diawali dengan quorum driver (bisa validator Full node, penyedia RPC, atau dompet custodial) memeriksa validitas transaksi dan menambahkan tanda tangan pada transaksi yang valid. Lalu, quorum driver mengumpulkan tanda tangan yang jumlahnya lebih besar dari atau sama dengan 2/3 dari total staking dan mengubahnya jadi sertifikat. Lalu, sekumpulan validator menerima sertifikat ini, memprosesnya, dan mengembalikannya ke quorum driver. Transaksi yang sudah dikembalikan artinya selesai.

Dalam kasus shared objects, saat validator menerima sertifikat, ia menggunakan Narwhal untuk menyerahkan sertifikat kepada Bullshark untuk diurutkan. Narwhal dan Bullshark adalah mempool berdasarkan sistem DAG serta mekanisme konsensus yang sudah BFT (Byzantine Fault Tolerant).

Sui menghilangkan hambatan kritis yang terjadi pada mayoritas blockchain: kebutuhan untuk mencapai konsensus global pada daftar transaksi yang diurutkan secara kronologis. Jadi, Sui bisa melakukan skalabilitas secara horizontal dengan membuka jalur validasi transaksi sebanyak-banyaknya. Semakin banyak validator, semakin banyak juga jalur yang bisa dibuka untuk memproses transaksi. Selain itu, validator juga bisa meningkatkan kapabilitas mesin mereka dan membuka jalur proses transaksi yang lebih banyak. Skalabilitas horizontal ini merupakan salah satu kelebihan Sui yang sering disebutkan.

3. Bahasa Pemrograman Move

Sui Move digunakan untuk mendefinisikan, membuat, dan mengelola objek Sui yang dapat diprogram untuk mewakili aset pada tingkat pengguna. Sui menambahkan fungsionalitas baru ke Move sekaligus memberlakukan batasan tambahan untuk meningkatkan keamanannya. Sui Move adalah bahasa pemrograman untuk membuat smart contract pada Sui.

Program ini juga dibuat bersama dengan Sui Prover yang mengecek kode dalam smart contract dan memastikannya aman serta berfungsi sebagaimana mestinya. Sui Prover bisa digunakan dalam berbagai tahap pengujian smart contract untuk memudahkan pengembang agar aplikasinya aman.

Sebuah smart contract dalam Sui Move disebut sebagai Package. Sebuah Package berisi berbagai modul terpisah yang masing-masing mendefinisikan fungsi tertentu. Sistem modul membuat implementasi dan optimasi menjadi lebih mudah. Saat sebuah modul diperbarui, semua smart contract yang menggunakan modul tersebut secara otomatis menggunakan versi terbaru.

Sui mempublikasikan dokumen khusus tentang bagaimana cara membuat smart contract dalam Move.

4. Mekanisme Konsensus Narwhal dan Bullshark

Mekanisme konsensus Sui menggunakan dua protokol berbasis sistem DAG yaitu Narwhal dan Bullshark. Kedua protokol konsensus ini menggunakan Delegated Proof-of-Stake (DPoS). Kedua protokol ini memiliki fungsi berbeda dalam tahap untuk mencapai konsensus. Seperti yang sudah dijelaskan, mekanisme konsensus Sui hanya digunakan dalam memproses transaksi shared objects dan disusun berdasarkan kausalitas, bukan urutan transaksi.

Sui menggunakan Narwhal sebagai mempool dan Bullshark sebagai mesin konsensus untuk mengurutkan transaksi yang membutuhkan kausalitas, menyinkronkan transaksi antara validator, dan secara berkala memeriksa status jaringan.

Jadi, berikut tugas masing-masing protokol konsensus:

  • Narwhal = memastikan ketersediaan data yang dikirimkan ke konsensus
  • Bullshark = menyepakati urutan tertentu dari data ini

Komentar