Analisis Riset Asli Web3.com Ventures

0xFishylosopher

Perkenalan

Dengan peluncuran mainnet Aptos baru-baru ini dan peluncuran tokennya di Binance dan bursa terpusat utama lainnya, tidak ada waktu yang lebih baik untuk menulis analisis eksplorasi proyek yang telah lama dipuji ini. Sebagai anak yatim piatu dari upaya Meta dalam menciptakan mata uang kripto Libra, Aptos meneruskan cita-cita Libra untuk menjadi blockchain yang akan mendukung jutaan pengguna kripto berikutnya.

Fokus utama Aptos adalah menghadirkan blockchain yang skalabel, aman, dan andal [1]. Untuk melakukan hal ini, Aptos mengandalkan bahasa kontrak pintar baru, Move, yang tampaknya merupakan bahasa “lebih aman” daripada “standar emas” Soliditas Ethereum saat ini. Tentu saja, Aptos bukanlah blockchain L1 pertama yang memasarkan dirinya sebagai “berskala, aman, dan andal.” Jaringan lain, terutama Solana, juga telah mencoba menggunakan ini sebagai slogan mereka di masa lalu, dengan keberhasilan yang beragam [2]. Dalam esai ini, saya akan berusaha untuk memulai dari atribut dasar bahasa Move, menganalisis dasar-dasar teknis Aptos dalam konteks proyek serupa lainnya, dan memberikan penilaian kritis mengenai potensi dan keterbatasan rantai baru yang populer ini.

Pindahkan Bahasa

Anda tidak dapat melakukan analisis terhadap Aptos tanpa analisis terhadap Move Language. Memang, dari sinilah sebagian besar potensi Aptos berasal. Move awalnya dikembangkan oleh Tim Libra Meta (sekarang bernama Diem) untuk menyediakan model pemrograman kontrak pintar yang secara paradigmatik berbeda dibandingkan dengan bahasa kontrak pintar lainnya; alih-alih mengadopsi pendekatan berbasis transaksi, Move mengadopsi pendekatan berbasis sumber daya untuk mendefinisikan model kontrak pintar [3].

jadi apa maksud semua ini? Dimulai dengan Bitcoin, sebagian besar blockchain terkenal telah mengadopsi pendekatan “yang mengutamakan transaksi”, di mana setiap entri dalam blok blockchain adalah transaksi (misalnya antara Alice dan Bob). Suatu transaksi adalah objek relatif; agar ada transaksi, harus ada alamat Alice dan Bob. Untuk memastikan bahwa Alice tidak “menghabiskan dua kali lipat” koin dalam pendekatan yang mengutamakan transaksi, kita perlu memastikan bahwa tidak ada konflik dengan semua transaksi lainnya, sebuah kerumitan yang pasti akan memperlambat transaksi.

Di sisi lain, pendekatan “berbasis sumber daya” Move sangat berbeda. Daripada mencatat baris transaksi A ke B, Move mencatat objek (atau sumber daya) yang berpindah tangan dan hanya memperbarui atribut yang sesuai. Yang penting, sumber daya adalah entitas atomik — sumber daya X yang ada tidak bergantung pada sumber daya lain yang ada, tidak seperti dalam kasus transaksi, di mana transaksi T bergantung pada dua agen sebelumnya, keberadaan A dan B. Oleh karena itu, memiliki pendekatan berbasis sumber daya memungkinkan struktur yang lebih atomik dan independen yang dioptimalkan untuk eksekusi paralel.

“Resources” pada Move pada dasarnya adalah objek yang mempunyai atribut tertentu. Dalam jargon teknis, mereka menerapkan struct (yaitu struktur data container) [4]. Pada titik ini, orang-orang dengan latar belakang pemrograman Ethereum mungkin mengajukan pertanyaan: Soliditas juga memiliki struct, serta struktur data lainnya. Apa yang membuat struct di Move spesial? Saya percaya bahwa perbedaan yang paling penting adalah bahwa meskipun struct di Solidity memiliki bagian yang relatif periferal dalam bahasa (sebagian besar digunakan untuk kejelasan), struct adalah dasar dari segala sesuatu di Move. Selain itu, struct Move memiliki “kemampuan” yang berbeda, termasuk “copy”, “drop”, “store”, dan “key”, yang menentukan apakah suatu objek dapat diduplikasi, disimpan, dihapus, dll [5]. Notasi struct semacam ini sangat berbeda dari Solidity, atau sebagian besar bahasa pemrograman umum (mis. C/C++). Namun, “kemampuan” yang berbeda ini sangat intuitif. Beberapa hal yang dapat Anda “salin”, seperti koin atau token. Beberapa hal yang dapat Anda “jatuhkan”, atau buang. Hal lain, seperti aset digital unik, mungkin tidak dapat disalin. Sekarang pertimbangkan definisi resmi “sumber daya” berikut di Move:

“Kami sering menyebut nilai struct sebagai sumber daya jika nilai tersebut tidak dapat disalin dan tidak dapat dihapus.” — Struktur dan Sumber Daya, Pindahkan Dokumentasi Bahasa [4]

Jadi “sumber daya” pada dasarnya adalah “struktur” unik yang akan selalu ada untuk Anda. Sangat romantis.

Pendefinisian ulang lengkap sebuah “struktur” oleh Move memungkinkannya menggunakan satu struktur data untuk mendefinisikan token, NFT, kontrak pintar, dan aset digital lainnya secara ringkas dalam pendekatan yang bersih dan modular [6]. Ini adalah sesuatu yang tidak bisa dibandingkan dengan EVM Ethereum; siapa pun yang memiliki pengalaman mengembangkan menggunakan EVM tahu betapa frustasinya menangani struct (dan struct bersarang) di Solidity.

Yang terpenting, pendekatan berbasis sumber daya Move menjamin jaminan keamanannya. Seperti yang disebutkan dalam whitepaper Move, dalam banyak program terdapat representasi aset secara tidak langsung, yang berarti kelangkaan dan kontrol akses tidak dapat diukur. Misalnya, meskipun kelangkaan Ether dikodekan dan dilindungi oleh EVM, token ERC-20 lainnya “tidak mewarisi perlindungan ini, mereka harus berhati-hati agar tidak menimbulkan bug yang memungkinkan duplikasi, penggunaan kembali, atau hilangnya aset,” [4]. Pertimbangkan serangan masuk kembali yang klasik. Ini adalah sesuatu yang telah lama mengganggu proyek-proyek EVM, sering kali menyebabkan mereka merugi jutaan dolar [7]. Karena pendekatan Move yang berbasis sumber daya, serangan masuk kembali tidak mungkin dilakukan di Move. Oleh karena itu, hambatan untuk memasuki pengkodean Move bisa dibilang jauh lebih mudah diakses daripada EVM — sebuah faktor penting untuk adopsi massal.

Aptos — Prinsip Teknis

Bisa dibilang pencapaian terbesar Aptos hanyalah memperkenalkan Move sebagai bahasa ke pasar. ****Memang, sebagian besar desain Aptos diambil langsung dari blockchain Diem (Libra) yang dikembangkan oleh Meta. Ingatlah bahwa Aptos adalah rantai yang menekankan pada skalabilitas dan keamanan. Ada dua implementasi teknis utama yang digunakan untuk mencapai hal ini. Yang pertama ada pada lapisan konsensusnya yaitu mekanisme konsensus AptosBFT. Yang kedua adalah lapisan eksekusinya, atau mesin eksekusi Block-STM. Mari kita periksa secara berurutan.

Pertama, AptosBFT adalah mekanisme konsensus Byzantine Fault-Tolerant, yang pada dasarnya berarti bahwa AptosBFT dapat terus menjamin keamanan selama tidak lebih dari 1/3 node di jaringan adalah aktor jahat [8]. Ini adalah praktik standar: Bukti Kerja Bitcoin, Bukti Pasak Ethereum, dll. semuanya Toleran terhadap Kesalahan Bizantium. Jadi bagaimana sebenarnya AptosBFT menerapkan mekanisme konsensusnya? Seperti semua rantai Proof-of-Stake lainnya, Aptos mengandalkan node validator yang “dipertaruhkan”. Ini mengimplementasikan varian dari algoritma konsensus HotStuff, algoritma PoS modern yang menawarkan protokol komunikasi antar node yang jauh lebih bersih dibandingkan dengan model sebelumnya (misalnya pBFT) dengan membuat node berkomunikasi dengan “pemimpin yang berputar” daripada dengan setiap node lainnya [9 ]. Meskipun AptosBFT memperkenalkan beberapa pengoptimalan selain HotStuff, terutama “mekanisme rotasi kunci” (untuk meningkatkan keamanan) dan pengurangan overhead (untuk meningkatkan skalabilitas), tidak ada perubahan struktural besar pada desain PoS HotStuff [10].

Di sisi lain, mesin eksekusi paralel Block-STM adalah desain yang jauh lebih orisinal, dan bisa dibilang merupakan terobosan teknis utama proyek ini [11]. Ingatlah bahwa sumber daya bersifat atomik — perpindahan sumber daya tertentu X tidak bergantung pada sumber daya lainnya. Dengan mengelompokkan transaksi ke dalam blok (seperti potongan lego), kita dapat memanfaatkan paralelisme besar-besaran dalam mengeksekusi transaksi sumber daya, sehingga memperoleh peningkatan kecepatan komputasi sebesar 20x lipat dibandingkan dengan Ethereum[11].

Namun bagaimana hal ini dibandingkan dengan Solana dan mesin eksekusi paralel lainnya? Inovasi utama Solana adalah melakukan hardcode pada semua dependensi kontrak cerdasnya agar dapat melakukan eksekusi paralel. Dengan semua dependensi yang diketahui sebelumnya, mesin eksekusi Solana kemudian dapat mengunci dependensi yang diperlukan sebelum runtime. Di sisi lain, Aptos mengelola dependensi dengan cepat, pertama-tama menjalankan semua transaksi “secara optimal”, dan jika terjadi kegagalan, menjalankan kembali transaksi spesifik yang gagal [12].

Mari kita gunakan analogi sederhana untuk menjelaskan hal di atas. Ethereum adalah jalan satu jalur di mana semua mobil harus berjalan dalam satu jalur di belakang satu sama lain, sedangkan Solana dan Aptos adalah jalan tol empat jalur. Ini jelas mempercepat segalanya. Namun pertanyaannya, bagaimana cara mobil melaju di jalan tol? Dalam kasus Solana, setiap mobil pada dasarnya diberi jalur tertentu, dan akan selalu melaju di sepanjang jalur tersebut. Ini sangat cepat dan efisien dalam skenario terbaik, namun jika proses penugasan berjalan salah, Anda mempunyai skenario terburuk yang sangat buruk. Sebaliknya, dalam kasus Aptos, mobil terlebih dahulu diberi beberapa lajur, namun jika tidak berhasil, maka mobil diperbolehkan berbelok ke lajur lain untuk mencegah kecelakaan. Oleh karena itu, meskipun Aptos mungkin tidak berjalan secepat Solana dalam skenario terbaik, Aptos lebih dapat diandalkan dibandingkan Solana, dan memiliki skenario terburuk yang lebih baik [13].

Evaluasi — Potensi dan Keterbatasan

Aptos saat ini merupakan rantai L1 berbasis Move pertama dan satu-satunya yang meluncurkan mainnet. Oleh karena itu, peluncuran mainnet Aptos adalah peristiwa yang sangat simbolis; perhatian uang dan media yang menarik Aptos belum tentu sepadan dengan inovasi teknis yang melekat pada Aptos.

Seperti disebutkan di atas, inovasi teknis utama yang dilakukan Aptos sendiri adalah mesin eksekusi paralel Block-STM. Sebagian besar aspek teknis lainnya, termasuk mekanisme konsensus dan penggunaan bahasa Move, merupakan produk warisan yang sedikit ditingkatkan yang diwarisi dari Meta [14]. Mengenai mesin eksekusi paralel Block-STM, tidak jelas apakah hal ini akan menyebabkan perbedaan kualitatif antara pengalaman pengguna di Aptos versus pengalaman pengguna di Solana; jika pengalaman penggunanya sama, pengguna tidak akan peduli bagaimana penerapannya pada tingkat teknis.

Seperti halnya proyek infrastruktur lainnya, keberhasilan jangka panjang Aptos bergantung pada proyek apa yang dipilih untuk dibangun di atasnya. Saat ini, proyek-proyek dalam ekosistemnya, seperti Liquidswap DEX, pasar Topaz NFT, dan layanan domain Aptos Names, meskipun produk-produk yang diperlukan dalam ekosistem blockchain mana pun, tidak cukup unik untuk desain Aptos [15]. Proyek-proyek ini seperti toko kelontong, sekolah, dan rumah sakit di desa kecil. Meskipun penting untuk berfungsinya desa, hal-hal tersebut tidak memberikan desa tersebut karakter unik yang tidak ditemukan di desa lain.

Melihat ke masa lalu, sebagian dari kesuksesan Solana mungkin disebabkan oleh proyek seperti StepN yang benar-benar mampu memanfaatkan keunggulan paralelisme Solana. Proyek GameFi dan SocialFi ini sering kali melibatkan sejumlah besar data paralel yang relatif terisolasi. Oleh karena itu, aplikasi ini secara unik cocok untuk mesin eksekusi paralel, seperti Aptos dan Solana, sekaligus mampu menghadirkan basis konsumen yang besar dan volume transaksi yang tinggi. Memang benar bahwa StepN sendiri menyumbang sekitar ~20% dari pengguna berbayar Solana [16].

Oleh karena itu, agar Aptos berhasil sebagai proyek infrastruktur, diperlukan serangkaian proyek unik yang memanfaatkan mesin eksekusi paralel Aptos, proyek yang tidak dapat dilakukan di Ethereum atau bahkan Solana. Dengan desain Block-STM baru dari Aptos, hal ini berpotensi terbentuk dalam bentuk proyek SocialFi kelas baru di mana pengguna berinteraksi dalam kelompok kecil (seperti obrolan grup). Karena kelompok-kelompok ini bisa berubah-ubah dan dinamis, dan juga independen satu sama lain, mereka lebih cocok untuk mesin eksekusi paralel Aptos dibandingkan Solana atau Ethereum. Namun tentu saja ini hanyalah spekulasi abstrak.

Meskipun demikian, peluncuran mainnet Aptos masih merupakan peristiwa yang sangat penting dan simbolis di dunia kripto. Ini mewakili puncak dari upaya para insinyur Meta selama bertahun-tahun dalam mewujudkan paradigma yang berbeda secara kualitatif untuk memecahkan hambatan skalabilitas Ethereum. Fitur bahasa Move yang unik berarti pasti akan ada DApps yang jauh lebih baik untuk diterapkan di Move dibandingkan Solidity atau bahasa kontrak pintar lainnya. Namun apakah proyek-proyek tersebut akan diterapkan di ekosistem Aptos? Tidak ada yang tahu. Aptos mungkin menikmati beberapa keuntungan sebagai penggerak pertama karena mampu membawa Move ke dalam produksi dan mengikat namanya dengan bahasa Move. Namun pada saat yang sama, mereka mungkin mengalami nasib seperti MySpace sebagai penggerak pertama.

Setidaknya ada satu hal yang pasti: Aptos mungkin merupakan eksperimen pertama di pasar dengan Move, namun tentunya ini bukan yang terakhir [17].

🐦 @0xfishylosopher

📅 22 Oktober 2022

Penafian: Penelitian ini hanya untuk tujuan informasi. Laporan ini bukan merupakan nasihat investasi atau rekomendasi untuk membeli atau menjual investasi apa pun dan tidak boleh digunakan dalam evaluasi manfaat pengambilan keputusan investasi apa pun.

Referensi

[1] Lihat halaman utama Aptos Labs: https://aptoslabs.com/

[2] Pengantar Solana: https://www.forbes.com/advisor/investing/cryptocurrency/what-is-solana/

[3] Buku Putih Pemindahan Bahasa: https://diem-developers-components.netlify.app/papers/diem-move-a-lingual-with-programmable-resources/2020-05-26.pdf

[4] Pindahkan Dokumentasi Developer untuk Struktur dan Resource: https://github.com/move-lingual/move/blob/main/lingual/documentation/book/src/structs-and-resources.md

[5] Detail tentang Kemampuan Struktur: https://move-lingual.github.io/move/abilities.html

[6] Lihat Tutorial Memindahkan Bahasa: https://101blockchains.com/move-programming-lingual-tutorial/

[7] https://blog.chain.link/reentrancy-actions-and-the-dao-hack/

[8] Detail Toleransi Kesalahan Bizantium: https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained

[9] Model Konsensus HotStuff: https://hackernoon.com/hotstuff-the-consensus-protocol-behind-safestake-and-facebooks-librabft

[10] Konsensus AptosBFT: https://blog.pontem.network/aptosbft-all-you-need-to-know-about-the-bft-consensus-in-aptos-ff4cf22c7a80

[11] Lihat makalah teknis Block-STM: https://arxiv.org/abs/2203.06871

[12] Perbandingan Mesin Eksekusi Aptos vs Solana: https://www.gofyeo.com/post/aptos-vs-solana-a-technical-comparison-part-1

[13] Analisis kasus terburuk Aptos sebagai O(n²), Solana sebagai O(n⁴). Detail: https://antiape.substack.com/p/cf40447d-d674-4454-9e09-f003517de6de?s=r

[14] Lihat Buku Putih Aptos: https://aptos.dev/assets/files/Aptos-Whitepaper-47099b4b907b432f81fc0effd34f3b6a.pdf

[15] Ekosistem Aptos: https://coinmarketcap.com/alexandria/article/what-is-aptos-the-ultimate-guide-to-the-aptos-ecosystem

[16] Dari Twitter Messari Crypto: https://twitter.com/MessariCrypto/status/1567880625218019333

[17] Lihat Sui, Bahasa berbasis Gerakan lainnya: https://sui.io/