Lanskap MEV pada Era Eksekusi Paralel

Menengah7/11/2024, 2:34:55 PM
Artikel ini menjelajahi potensi pembangunan infrastruktur lelang nilai ekstraktif penambang yang kuat di Monad, dengan mengambil wawasan berharga dari Flashbots di Ethereum dan Jito Network di Solana. MEVA memainkan peran penting dalam mengoptimalkan produksi blok, mengurangi pengaruh eksternal, dan meningkatkan stabilitas sistem, secara signifikan mempromosikan penyelesaian masalah skalabilitas dan menyelaraskan mekanisme insentif peserta jaringan.

Pengenalan

Dalam upaya terus-menerus untuk meningkatkan kinerja blockchain agar dapat menangani adopsi massal, Monad menonjol sebagai kekuatan pioneer untuk mengoptimalkan model Mesin Virtual Ethereum (EVM) dengan serangkaian perbaikan tingkat rendah: I/O asinkron, Patricia Trie yang dioptimalkan, eksekusi tertunda, dan Optimistic Concurrency Control untuk pemrosesan paralel [2]. Perbaikan-perbaikan ini efektif mengatasi bottleneck eksekusi dan akses keadaan yang tidak efisien yang terlihat di platform-platform seperti Ethereum tanpa mengorbankan desentralisasi.

Dalam pos ini, kami mengeksplorasi kemungkinan implementasi Infrastruktur Lelang Nilai Ekstraktif Penambang (MEVA) yang kuat di Monad. Kami juga menggambarkan beberapa pelajaran berharga yang dapat ditransfer dari pendekatan yang ada seperti Flashbots di Ethereum dan Jito Network di Solana.

Kami ingin menyoroti beberapa pertimbangan penting:

  1. MEV adalah hal yang melekat pada jaringan blockchain manapun. Infrastruktur MEVA yang tangguh sangat penting untuk menghindari proses produksi blok yang berantakan dengan dampak negatif dan insentif yang tidak sejalan.
  2. Desain MEVA terintegrasi secara mendalam dengan mekanika dasar suatu chain, khususnya tahapan konsensus-eksekusi. Peningkatan masa depan akan bergantung pada evolusi faktor-faktor ini dan performa jaringan dalam berbagai tingkat tekanan.
  3. Tren historis dalam evolusi produksi blok, seperti yang terlihat di Ethereum dan Solana, dapat memberikan informasi desain MEVA pada Monad.
  4. MEVA pada blockchain eksekusi tertunda yang berkinerja tinggi seperti Monad kemungkinan akan membutuhkan strategi pembangunan dan pencarian blok probabilitas, mirip dengan perdagangan frekuensi tinggi, karena keterbatasannya waktu.

Dengan menangani poin-poin ini, kami berharap dapat memberikan wawasan tentang tantangan dan pertimbangan yang terlibat dalam merancang infrastruktur MEVA yang disesuaikan dengan arsitektur dan persyaratan kinerja unik Monad.

Lanskap MEVA di Ethereum

MEVA di bawah Consensus-Execution Staging Ethereum

Dalam Ethereum, konsensus memerlukan eksekusi sebelumnya. Ketika node-node setuju pada sebuah blok, mereka setuju pada daftar transaksi dalam blok tersebut dan juga akar Merkle yang merangkum status pasca-eksekusi setelah blok tersebut dieksekusi. Oleh karena itu, pemimpin harus menjalankan semua transaksi dalam blok yang diajukan sebelum menyebarkan proposal. Sementara itu, node-node yang melakukan validasi perlu mengeksekusi transaksi sebelum memberikan suara.


Gambar 1: Alur Kerja Builder dalam MEV-Boost di bawah pemisahan EL-CL.

Gambar 1 menggambarkan alur kerja builder yang khas dalam MEV-Boost untuk Proposer-Builder Separation (PBS). Builder menyelesaikan pembangunan blok dan mengirimkannya ke relay, yang meneruskan blok ke klien Execution Layer (EL) untuk simulasi dan pemeriksaan validitas.

Karena pelaksanaan adalah prasyarat untuk konsensus, ketika seorang pembangun membangun blok, perlu meneruskan blok yang dibangun ke klien Lapisan Pelaksanaan (EL) dan mensimulasikan blok untuk memeriksa validitasnya. Selain peran pentingnya dalam tahap konsensus-pelaksanaan, tahap simulasi juga memberikan manfaat bagi pembangun dan pencari.

Perspektif pembangun: Pembangun dapat memperkirakan dengan akurat nilai blok bagi diri mereka sendiri dan validator dengan mensimulasikan setiap transaksi. Mereka juga dapat bereksperimen dengan merangkai ulang transaksi untuk meminimalkan pembalikan dan memaksimalkan ekstraksi biaya gas atau tips dasar dari transaksi mempool dan bundle. Perkiraan mereka yang tepat memungkinkan penawaran yang lebih tinggi kepada validator.

Perspektif pencari: Sebagai hasil dari pembangun menyaring bundel yang berpotensi dikembalikan sebelum mereka mendarat di rantai, pencari juga melihat eksekusi strategi yang dijamin, menambahkan determinisme. Selain itu, pencari juga mendapatkan akses ke status blok terbaru. Ketika lapisan konsensus (CL) menyebarkan blok baru, pencari dapat menggunakan status dari blok itu sebagai titik awal untuk membangun bundel yang menguntungkan. Sementara itu, ada indikasi untuk lebih banyak penawaran atau fitur di luar protokol yang ditawarkan oleh pembangun saat ini, yang memungkinkan pencari untuk mendapatkan informasi negara bahkan untuk blok-to-be-built saat ini untuk menambahkan strategi backrun ke blok to-be-landed mereka.

Namun, perkembangan PBS telah mengalami peningkatan sentralisasi dalam pembangunan blok, mencerminkan perdagangan tradisional di mana perusahaan bersaing untuk saluran jaringan microwave yang didedikasikan untuk memperoleh prioritas dalam menjalankan strategi arbitrase.

Iterasi Produk saat Jaringan Berkembang

Kami sekarang menjelajahi bagaimana MEVA telah berkembang seiring dengan kemajuan Ethereum, yang diilustrasikan secara kronologis dalam Gambar 2.


Gambar 2: Pandangan kronologis tentang bagaimana MEVA berulang saat Jaringan Ethereum bergerak maju. Gambar ini sedikit diadaptasi dari [4].

Era Lelang Gas Prioritas (PGA)

Seperti yang ditunjukkan dalam Gambar 3, para pencari mengidentifikasi peluang MEV yang menguntungkan dan mengirimkan transaksi mereka yang diaktifkan oleh smart-contract ke mempool publik. Visibilitas publik ini menyebabkan format lelang harga tertinggi pembukaan pada-chain, di mana bahkan transaksi yang gagal dikenai biaya gas.

Periode ini menyaksikan aktivitas MEV yang tidak terstruktur yang kompetitif dan mahal seperti transaksi dengan pasangan (akun, nounce) yang sama dan penawaran yang meningkat [6], yang menyebabkan kemacetan jaringan atau ketidakstabilan konsensus.


Gambar 3: Lelang Gas Prioritas Sederhana. Gambar sedikit disesuaikan dari [6].

Flashbots dan EIP-1559

Untuk mengatasi masalah ini, Flashbots memperkenalkan relay, rumah lelang perantara antara pencari dan produsen blok (penambang di era PoW). Inisiatif ini mengubah pasar MEV dari lelang harga terbuka menjadi lelang harga tertutup. Gambar 4 menunjukkan bagaimana relay membantu mencegah eskalasi penawaran dalam mempool publik dan membentuk proses produksi blok yang lebih teratur dan aman.

Struktur biaya EIP-1559 juga berperan di sini [7]. Ini menyederhanakan penawaran dengan memperkenalkan harga yang diposting sebagian melalui biaya dasar tetapi tidak mengatasi urutan transaksi dalam blok, yang masih mendorong MEV melalui biaya prioritas. Sebenarnya, banyak pencari sebelumnya mengungkapkan penawaran kepada penambang secara langsung melalui transfer coinbase. Mereka berakhir dengan lebih banyak keluhan tentang biaya coinbase, karena mereka tidak lagi dapat mengirimkan bundel 0-gas.


Gambar 4: MEVA dengan Relays. Gambar ini sedikit disesuaikan dari [6].

Pemisahan Pemberi Usul-Pembangun (PBS)

Setelah transisi Ethereum ke Proof of Stake (PoS) setelah penggabungan, Proposer-Builder Separation (PBS) diimplementasikan untuk lebih menyempurnakan pemisahan peran dalam jalur produksi blok. Seperti yang telah dijelaskan sebelumnya, relay sekarang bertindak sebagai perantara antara pembangun blok dan proposer, bertindak sebagai penjaga yang memastikan ketersediaan data dan validitas blok. Karena seorang proposer dapat terhubung ke beberapa pembangun untuk transaksi pribadi yang berbeda, pembangun harus bersaing dengan menawarkan pembayaran kepada proposer. Dinamika ini diilustrasikan dalam Gambar 5.


Gambar 5: MEVA di Era PBS. Gambar ini sedikit diadaptasi dari [6].

Risiko Konsentrasi

Meskipun ada kemajuan sejarah ini, penting untuk menyoroti kekhawatiran yang semakin meningkat tentang risiko konsentrasi di pasar pembangun. Dalam setahun terakhir, sebuah oligarki dari 9 pembangun teratas secara konsisten memiliki lebih dari 50% pangsa pasar, menunjukkan tingkat konsentrasi pasar yang tinggi, seperti yang terindikasi dalam Gambar 6. Kondisi konsentrasi bahkan lebih nyata saat ini dengan tiga pembangun teratas mencakup lebih dari 90% blok.


Gambar 6: Pangsa pasar pembangun. Grafik menunjukkan konsentrasi tinggi yang ada di pasar pembangun. Grafik diadopsi darihttps://arxiv.org/pdf/2405.01329

Jito di Solana

Arsitektur Jito

Sebagai MEVA kanonikal di Solana, Jito diciptakan untuk mengatasi tingkat spamming Solana yang tinggi karena biaya transaksi rendah. Perdagangan spam efektif diincentivasi selama biaya transaksi gagal (sekitar 0,000005 SOL) tidak melebihi keuntungan yang diharapkan.

Menurut laporan dari Jito Labs pada tahun 2022 [8], lebih dari 96% upaya arbitrase dan likuidasi gagal tahun itu, dengan blok-blok yang berisi lebih dari 50% transaksi terkait MEV. Laporan tersebut juga menyoroti bahwa bot likuidasi telah membanjiri jaringan dengan jutaan paket duplikat hanya untuk mencapai beberapa ribu likuidasi yang berhasil, yang mengakibatkan tingkat kegagalan lebih dari 99% [8].


Gambar 7: Tinjauan dari atas tentang MEVA Jito di Solana.

Keparahan eksternalitas MEV terhadap Solana mendorong Jito untuk mengembangkan lapisan MEVA yang bertujuan untuk membawa keteraturan dan determinisme ke dalam proses produksi blok. Mari kita tinjau arsitektur MEVA asli yang diusulkan oleh Jito, seperti yang diilustrasikan dalam Gambar 7.

Jito memiliki komponen-komponen berikut:

Relay - bertindak sebagai proxy untuk menerima transaksi dan meneruskannya ke Mesin Blok (atau rantai pasok MEVA) dan validator.

Block Engine - mengambil transaksi dari penerus, berkoordinasi dengan pencari, menerima bundel, melakukan simulasi bundel, dan meneruskan transaksi dan bundel terbaik ke validator untuk diproses. Perlu dicatat, Jito melakukan lelang blok parsial untuk inklusi bundel daripada lelang blok penuh, secara historis memproses lebih dari 80% bundel dalam dua slot [9].

Pseudo Mempool - menciptakan jendela waktu operasional sekitar 200 milidetik melalui klien Jito-Solana, memicu lelang diskrit untuk orderflow [10]. Jito menutup mempool ini pada 9 Maret 2024.

Pilihan Desain Jito

Mari kita jelajahi komponen-komponen khusus dari desain sistem Jito dan pertimbangkan bagaimana pilihan desain ini berasal dari proses produksi blok Solana.

Jito hanya mendukung lelang blok parsial daripada membangun blok penuh, kemungkinan karena model eksekusi multi-threaded Solana, yang kurang memiliki penjadwalan global. Secara khusus, Gambar 8 menunjukkan thread paralel yang mengeksekusi transaksi, masing-masing menjaga antrian transaksi sendiri yang menunggu dieksekusi. Transaksi secara acak ditugaskan ke thread dan diurutkan secara lokal berdasarkan biaya prioritas dan waktu. Tanpa pengurutan global di sisi penjadwal (sebelum pembaruan 1.18.x), transaksi Solana secara inheren mengalami ketidakdeterministik dari jitter penjadwal [11]. Akibatnya, dalam MEVA, pencari atau validator tidak dapat dengan dapat diandalkan menentukan status saat ini.


Gambar 8: Model eksekusi Multi-Threaded untuk Klien Solana. Perhatikan bahwa Tahap Bundel MEVA ditambahkan sebagai thread terpisah dalam antrian multi-threaded.

Dari perspektif teknik, menyatukan umpan mesin blok Jito sebagai benang tambahan yang berjalan sejajar dengan yang sudah ada, sesuai dengan arsitektur multi-threaded Solana. Meskipun lelang bundel memastikan pengurutan berbasis biaya prioritas dalam benang mesin blok Jito, tidak ada jaminan bahwa bundel akan selalu ditempatkan sebelum transaksi pengguna secara global.

Untuk mengatasi hal ini, Jito mengalokasikan sebagian ruang blok untuk benang bundel, menjamin bundel dengan ruang di blok. Meskipun indeterminisme tetap ada, pendekatan ini meningkatkan probabilitas untuk eksekusi strategi yang sukses. Ini juga memberikan insentif kepada pencari untuk berpartisipasi dalam pelelangan daripada spamming jaringan. Dengan mereservasi ruang blok untuk bundel, Jito mampu mencapai keseimbangan, mempromosikan pelelangan yang teratur dan mengurangi efek-efek chaotic dari spam transaksi.

Menghapus Pseudo-Mempool

Penggunaan luas Jito telah menghasilkan hasil positif dalam mengatasi masalah spam di Solana. Penelitian oleh p2p [12] dan data yang ditunjukkan dalam Gambar 9 mengungkapkan peningkatan signifikan secara statistik dalam tingkat produksi blok relatif setelah mengadopsi klien Jito. Ini menunjukkan bahwa pemrosesan transaksi telah menjadi lebih efisien, berkat mesin blok yang dioptimalkan dari Jito yang diperkenalkan pada tahun 2023.


Gambar 9: Bukti efektivitas Jito dalam mengatasi masalah spamming di Solana. Grafik ini diambil dari penelitian dalam [12] yang dilakukan oleh tim p2p.

Meskipun kemajuan signifikan telah dicapai, masih banyak tantangan yang harus dihadapi. Karena bundel Jito hanya mengisi sebagian blok, transaksi yang menyebabkan MEV masih dapat melewati saluran lelang Jito. Masalah ini setidaknya sebagian terbukti oleh Dasbor Dune pada Gambar 10 [13], yang menunjukkan bahwa jaringan masih mengalami rata-rata lebih dari 50% transaksi gagal akibat spam bot sejak 2024.


Gambar 10: Dasbor Dune ( https://dune.com/queries/3537204/5951285) menggambarkan aktivitas spam bot di Solana sejak Mei 2022.

Pada 9 Maret 2024, Jito membuat keputusan untuk menangguhkan mempool andalannya. Keputusan ini dipicu oleh pertumbuhan transaksi memecoin dan lonjakan serupa dalam serangan sandwich (jenis front-running di mana pencari menempatkan transaksi sebelum dan sesudah transaksi target), yang pada akhirnya menurunkan pengalaman pengguna. Serupa dengan tren yang diamati di Ethereum dengan saluran aliran pesanan pribadi di MEVA, menutup mempool publik dapat mendorong pertumbuhan aliran pesanan pribadi melalui kemitraan dengan layanan front-end seperti penyedia dompet dan bot Telegram. Pencari dapat membentuk kemitraan langsung dengan validator untuk eksekusi, inklusi, eksklusi yang diinginkan. Bahkan, bukti ini dapat dilihat pada Gambar 11, yang menggambarkan profil keuntungan bot sandwich per jam untuk pencari mempool pribadi terbesar (3pe8gpNEGAYjVvMHqGG1MVeoiceDhmQBFwrHPJ2pAF81) setelah penutupan mempool.


Gambar 11: Keuntungan Per Jam untuk Sandwich Bot dengan Mempool Pribadi untuk Pencari “3pe8gpNEGAYjVvMHqGG1MVeoiceDhmQBFwrHPJ2pAF81”.

Keputusan Jito untuk menutup mempool menegaskan komitmen tim dalam menangani masalah mendasar dalam ekosistem Solana. Selain mengulangi MEVA atau menyesuaikan mekanisme biaya gas Solana, Jito juga membantu mengedukasi protokol dalam mengurangi serangan melalui pilihan desain produk UI seperti membatasi parameter slippage default. Baik melalui penyesuaian struktur biaya yang membuat spam menjadi lebih mahal atau melalui modifikasi protokol komunikasi, infrastruktur Jito tetap penting untuk menjaga kesehatan dan stabilitas jaringan Solana.

Desain MEVA pada Monad

Eksekusi Ditunda & Dampaknya pada MEVA

Berbeda dengan Ethereum, di mana kesepakatan pada blok memerlukan daftar transaksi (dengan urutan) dan akar Merkle yang merangkum semua status pasca faktor, Monad memisahkan eksekusi sebelumnya dari konsensus. Kesepakatan node hanya memerlukan penyelesaian urutan resmi. Seperti yang diilustrasikan pada Gambar 12, setiap node menjalankan transaksi pada blok N secara independen sambil memulai konsensus pada blok N+1. Penyusunan ini memungkinkan anggaran gas yang sesuai dengan waktu blok penuh karena eksekusi hanya perlu menjaga kecepatannya dengan konsensus. [15] Tanpa perlu node utama menghitung akar status de facto, eksekusi dapat memanfaatkan seluruh periode konsensus untuk blok selanjutnya.


Gambar 12: Eksekusi Ditangguhkan Monad dibandingkan dengan tahapan Eksekusi-Konsensus Ethereum. Jendela Waktu Operasional juga diilustrasikan dari sudut pandang desain MEVA.

Kami mendefinisikan Jendela Waktu Operasional sebagai rentang waktu yang diizinkan untuk MEVA di Monad untuk menyelesaikan proposal pembangunan blok yang layak dan menguntungkan dibandingkan dengan metode pembangunan blok default. Ada dua konsekuensi langsung dari model eksekusi tertunda:

  1. Ketika MEVA membangun untuk blok ke-N dalam jendela waktu operasional, validator secara bersamaan menyetujui daftar transaksi untuk blok ke-N saat mencoba menyelesaikan eksekusi untuk blok ke-N-1. Oleh karena itu, dalam jendela waktu operasional di N, sangat mungkin keadaan yang tersedia masih berada di N-2. Ini berarti tidak ada "keadaan paling baru" yang dijamin untuk relay atau builder di bawah arsitektur eksekusi tertunda ini. Oleh karena itu, tidak mungkin untuk mensimulasikan terhadap blok terbaru sebelum blok berikutnya diproduksi, yang mengakibatkan indeterminisme.
  2. Dengan waktu blok 1 detik Monad, jendela waktu operasional MEVA sangat terbatas. Ini berarti bahwa pembangun mungkin tidak memiliki cukup waktu untuk secara berurutan mensimulasikan blok lengkap dari transaksi dan bundel seperti yang biasanya mereka lakukan di Ethereum. Banyak variabel yang dapat mempengaruhi waktu yang diperlukan untuk simulasi transaksi pada EVM. Namun, dengan asumsi bahwa mensimulasikan transaksi membutuhkan waktu antara 10^1 hingga 10^2 mikrodetik (asumsi kasar), dan dengan target Monad sebesar 10^4 transaksi per detik, dapat memakan waktu sekitar 1 detik penuh hanya untuk mensimulasikan blok lengkap dalam jendela waktu operasional. Mengingat waktu blok 1 detik Monad, akan sulit bagi pembangun atau relay untuk menyelesaikan beberapa simulasi blok lengkap untuk mengoptimalkan blok yang dibangun.

Strategi Pembangun Probabilistik & Pencari

Dengan adanya batasan, menyelesaikan simulasi blok penuh dalam jendela waktu operasional dan mensimulasikan terhadap kondisi terbaru adalah tidak praktis. Karena para pembangun sekarang kekurangan waktu dan kondisi terbaru untuk mengetahui ujung yang tepat dari setiap transaksi, mereka harus menyimpulkan ujung pencari berdasarkan kemungkinan pembalikan transaksi dengan mengandalkan reputasi atau dengan mensimulasikan terhadap (mungkin paling baik) kondisi N-2. Hal ini membuat penilaian blok menjadi kurang deterministik.

Para pencari menghadapi ketidakpastian eksekusi yang lebih besar karena kurangnya jaminan teoritis terhadap pembatalan transaksi setelah validator menerima blok yang dibangun oleh pembangun. Ini berbeda dengan Ethereum, di mana para pencari bersaing untuk saluran orderflow-ke-pembangun pribadi yang didedikasikan untuk eksekusi strategi yang relatif deterministik. Dalam pengaturan yang relatif probabilistik di Monad ini, para pencari sekarang menghadapi risiko yang lebih tinggi terhadap pembatalan bundel on-chain, mengakibatkan profil PnL eksekusi yang lebih tidak pasti. Hal ini mencerminkan para pedagang frekuensi tinggi yang melakukan eksekusi berdasarkan sinyal probabilistik dengan return yang sedikit positif dari waktu ke waktu.


Gambar 13: Diagram spektrum konseptual yang menggambarkan paradigma desain MEVA yang berbeda dikategorikan berdasarkan tingkat pemeriksaan blok atau simulasi yang diusulkan.

Seperti yang ditunjukkan dalam Gambar 13, tingkat pemeriksaan bundel / blok sebelumnya di pihak pembangun menciptakan spektrum ketidakpastian mengenai penetapan harga atau penilaian blok yang diusulkan. Di satu sisi adalah model PBS gaya Ethereum dengan penetapan harga yang akurat, di mana pembangun harus menggunakan Klien Lapisan Eksekusi (EL) untuk mensimulasikan transaksi dalam blok yang diusulkan. Mereka harus menavigasi melalui berbagai kombinatorika di antara bundel yang dikirimkan. Di sisi lain adalah Model Pembangun Optimis [16] dengan pemeriksaan blok asinkron. Dalam model ini, pembangun menghindari waktu yang diperlukan untuk setiap simulasi selama jendela waktu operasional dan menghormati tips yang ditunjukkan kepada validator atau relay dengan mendepositokan jaminan yang dapat dipotong. Pendekatan pemeriksaan probabilistik atau simulasi parsial yang diusulkan di sini pada Monad berada di tengah-tengah, meningkatkan kemungkinan keberhasilan pelaksanaan strategi bagi pencari meskipun ada beberapa ketidakpastian.

Sebagai contoh, seorang market maker pada DEX buku pesanan onchain mungkin membayar untuk memindahkan posisi mereka sebelumnya melalui MEVA ketika mereka melihat adanya pergerakan harga unidireksional utama untuk menghindari pemilihan yang merugikan. Strategi probabilistik ini memungkinkan mereka untuk bertindak dengan cepat, bahkan tanpa informasi status yang paling baru, menyeimbangkan risiko dan imbalan dalam lingkungan perdagangan dinamis.

Sambutan Penutup

MEVA memainkan peran penting dalam mengoptimalkan produksi blok dengan mengurangi dampak eksternal dan meningkatkan stabilitas sistem secara keseluruhan. Evolusi terus menerus dari kerangka MEVA, yang diwakili oleh Jito di Solana dan berbagai implementasi di Ethereum, sangat membantu dalam mengatasi tantangan skalabilitas dan menyelaraskan insentif peserta jaringan.

Monad adalah jaringan yang menjanjikan dalam masa perkembangannya, memberikan kesempatan unik bagi komunitas untuk membentuk desain MEVA yang optimal. Mengingat tahapan konsensus-penjalanan yang unik dari Monad, kami mengundang para peneliti, pengembang, dan validator untuk berkolaborasi dan berbagi wawasan. Kolaborasi ini akan menjadi sangat penting dalam menciptakan proses produksi blok yang kuat dan efisien, memungkinkan Monad untuk mencapai potensinya sebagai jaringan blockchain berkapasitas tinggi.

Disclaimer:

  1. Artikel ini dicetak ulang dari [0xapr]. Semua hak cipta milik penulis asli [APRIORI ⌘]. Jika ada keberatan terhadap cetakan ulang ini, silakan hubungi Gate Belajartim, dan mereka akan menanganinya dengan cepat.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang terdapat dalam artikel ini semata-mata merupakan pandangan penulis dan tidak merupakan nasihat investasi.
  3. Terjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel-artikel yang diterjemahkan dilarang.

Lanskap MEV pada Era Eksekusi Paralel

Menengah7/11/2024, 2:34:55 PM
Artikel ini menjelajahi potensi pembangunan infrastruktur lelang nilai ekstraktif penambang yang kuat di Monad, dengan mengambil wawasan berharga dari Flashbots di Ethereum dan Jito Network di Solana. MEVA memainkan peran penting dalam mengoptimalkan produksi blok, mengurangi pengaruh eksternal, dan meningkatkan stabilitas sistem, secara signifikan mempromosikan penyelesaian masalah skalabilitas dan menyelaraskan mekanisme insentif peserta jaringan.

Pengenalan

Dalam upaya terus-menerus untuk meningkatkan kinerja blockchain agar dapat menangani adopsi massal, Monad menonjol sebagai kekuatan pioneer untuk mengoptimalkan model Mesin Virtual Ethereum (EVM) dengan serangkaian perbaikan tingkat rendah: I/O asinkron, Patricia Trie yang dioptimalkan, eksekusi tertunda, dan Optimistic Concurrency Control untuk pemrosesan paralel [2]. Perbaikan-perbaikan ini efektif mengatasi bottleneck eksekusi dan akses keadaan yang tidak efisien yang terlihat di platform-platform seperti Ethereum tanpa mengorbankan desentralisasi.

Dalam pos ini, kami mengeksplorasi kemungkinan implementasi Infrastruktur Lelang Nilai Ekstraktif Penambang (MEVA) yang kuat di Monad. Kami juga menggambarkan beberapa pelajaran berharga yang dapat ditransfer dari pendekatan yang ada seperti Flashbots di Ethereum dan Jito Network di Solana.

Kami ingin menyoroti beberapa pertimbangan penting:

  1. MEV adalah hal yang melekat pada jaringan blockchain manapun. Infrastruktur MEVA yang tangguh sangat penting untuk menghindari proses produksi blok yang berantakan dengan dampak negatif dan insentif yang tidak sejalan.
  2. Desain MEVA terintegrasi secara mendalam dengan mekanika dasar suatu chain, khususnya tahapan konsensus-eksekusi. Peningkatan masa depan akan bergantung pada evolusi faktor-faktor ini dan performa jaringan dalam berbagai tingkat tekanan.
  3. Tren historis dalam evolusi produksi blok, seperti yang terlihat di Ethereum dan Solana, dapat memberikan informasi desain MEVA pada Monad.
  4. MEVA pada blockchain eksekusi tertunda yang berkinerja tinggi seperti Monad kemungkinan akan membutuhkan strategi pembangunan dan pencarian blok probabilitas, mirip dengan perdagangan frekuensi tinggi, karena keterbatasannya waktu.

Dengan menangani poin-poin ini, kami berharap dapat memberikan wawasan tentang tantangan dan pertimbangan yang terlibat dalam merancang infrastruktur MEVA yang disesuaikan dengan arsitektur dan persyaratan kinerja unik Monad.

Lanskap MEVA di Ethereum

MEVA di bawah Consensus-Execution Staging Ethereum

Dalam Ethereum, konsensus memerlukan eksekusi sebelumnya. Ketika node-node setuju pada sebuah blok, mereka setuju pada daftar transaksi dalam blok tersebut dan juga akar Merkle yang merangkum status pasca-eksekusi setelah blok tersebut dieksekusi. Oleh karena itu, pemimpin harus menjalankan semua transaksi dalam blok yang diajukan sebelum menyebarkan proposal. Sementara itu, node-node yang melakukan validasi perlu mengeksekusi transaksi sebelum memberikan suara.


Gambar 1: Alur Kerja Builder dalam MEV-Boost di bawah pemisahan EL-CL.

Gambar 1 menggambarkan alur kerja builder yang khas dalam MEV-Boost untuk Proposer-Builder Separation (PBS). Builder menyelesaikan pembangunan blok dan mengirimkannya ke relay, yang meneruskan blok ke klien Execution Layer (EL) untuk simulasi dan pemeriksaan validitas.

Karena pelaksanaan adalah prasyarat untuk konsensus, ketika seorang pembangun membangun blok, perlu meneruskan blok yang dibangun ke klien Lapisan Pelaksanaan (EL) dan mensimulasikan blok untuk memeriksa validitasnya. Selain peran pentingnya dalam tahap konsensus-pelaksanaan, tahap simulasi juga memberikan manfaat bagi pembangun dan pencari.

Perspektif pembangun: Pembangun dapat memperkirakan dengan akurat nilai blok bagi diri mereka sendiri dan validator dengan mensimulasikan setiap transaksi. Mereka juga dapat bereksperimen dengan merangkai ulang transaksi untuk meminimalkan pembalikan dan memaksimalkan ekstraksi biaya gas atau tips dasar dari transaksi mempool dan bundle. Perkiraan mereka yang tepat memungkinkan penawaran yang lebih tinggi kepada validator.

Perspektif pencari: Sebagai hasil dari pembangun menyaring bundel yang berpotensi dikembalikan sebelum mereka mendarat di rantai, pencari juga melihat eksekusi strategi yang dijamin, menambahkan determinisme. Selain itu, pencari juga mendapatkan akses ke status blok terbaru. Ketika lapisan konsensus (CL) menyebarkan blok baru, pencari dapat menggunakan status dari blok itu sebagai titik awal untuk membangun bundel yang menguntungkan. Sementara itu, ada indikasi untuk lebih banyak penawaran atau fitur di luar protokol yang ditawarkan oleh pembangun saat ini, yang memungkinkan pencari untuk mendapatkan informasi negara bahkan untuk blok-to-be-built saat ini untuk menambahkan strategi backrun ke blok to-be-landed mereka.

Namun, perkembangan PBS telah mengalami peningkatan sentralisasi dalam pembangunan blok, mencerminkan perdagangan tradisional di mana perusahaan bersaing untuk saluran jaringan microwave yang didedikasikan untuk memperoleh prioritas dalam menjalankan strategi arbitrase.

Iterasi Produk saat Jaringan Berkembang

Kami sekarang menjelajahi bagaimana MEVA telah berkembang seiring dengan kemajuan Ethereum, yang diilustrasikan secara kronologis dalam Gambar 2.


Gambar 2: Pandangan kronologis tentang bagaimana MEVA berulang saat Jaringan Ethereum bergerak maju. Gambar ini sedikit diadaptasi dari [4].

Era Lelang Gas Prioritas (PGA)

Seperti yang ditunjukkan dalam Gambar 3, para pencari mengidentifikasi peluang MEV yang menguntungkan dan mengirimkan transaksi mereka yang diaktifkan oleh smart-contract ke mempool publik. Visibilitas publik ini menyebabkan format lelang harga tertinggi pembukaan pada-chain, di mana bahkan transaksi yang gagal dikenai biaya gas.

Periode ini menyaksikan aktivitas MEV yang tidak terstruktur yang kompetitif dan mahal seperti transaksi dengan pasangan (akun, nounce) yang sama dan penawaran yang meningkat [6], yang menyebabkan kemacetan jaringan atau ketidakstabilan konsensus.


Gambar 3: Lelang Gas Prioritas Sederhana. Gambar sedikit disesuaikan dari [6].

Flashbots dan EIP-1559

Untuk mengatasi masalah ini, Flashbots memperkenalkan relay, rumah lelang perantara antara pencari dan produsen blok (penambang di era PoW). Inisiatif ini mengubah pasar MEV dari lelang harga terbuka menjadi lelang harga tertutup. Gambar 4 menunjukkan bagaimana relay membantu mencegah eskalasi penawaran dalam mempool publik dan membentuk proses produksi blok yang lebih teratur dan aman.

Struktur biaya EIP-1559 juga berperan di sini [7]. Ini menyederhanakan penawaran dengan memperkenalkan harga yang diposting sebagian melalui biaya dasar tetapi tidak mengatasi urutan transaksi dalam blok, yang masih mendorong MEV melalui biaya prioritas. Sebenarnya, banyak pencari sebelumnya mengungkapkan penawaran kepada penambang secara langsung melalui transfer coinbase. Mereka berakhir dengan lebih banyak keluhan tentang biaya coinbase, karena mereka tidak lagi dapat mengirimkan bundel 0-gas.


Gambar 4: MEVA dengan Relays. Gambar ini sedikit disesuaikan dari [6].

Pemisahan Pemberi Usul-Pembangun (PBS)

Setelah transisi Ethereum ke Proof of Stake (PoS) setelah penggabungan, Proposer-Builder Separation (PBS) diimplementasikan untuk lebih menyempurnakan pemisahan peran dalam jalur produksi blok. Seperti yang telah dijelaskan sebelumnya, relay sekarang bertindak sebagai perantara antara pembangun blok dan proposer, bertindak sebagai penjaga yang memastikan ketersediaan data dan validitas blok. Karena seorang proposer dapat terhubung ke beberapa pembangun untuk transaksi pribadi yang berbeda, pembangun harus bersaing dengan menawarkan pembayaran kepada proposer. Dinamika ini diilustrasikan dalam Gambar 5.


Gambar 5: MEVA di Era PBS. Gambar ini sedikit diadaptasi dari [6].

Risiko Konsentrasi

Meskipun ada kemajuan sejarah ini, penting untuk menyoroti kekhawatiran yang semakin meningkat tentang risiko konsentrasi di pasar pembangun. Dalam setahun terakhir, sebuah oligarki dari 9 pembangun teratas secara konsisten memiliki lebih dari 50% pangsa pasar, menunjukkan tingkat konsentrasi pasar yang tinggi, seperti yang terindikasi dalam Gambar 6. Kondisi konsentrasi bahkan lebih nyata saat ini dengan tiga pembangun teratas mencakup lebih dari 90% blok.


Gambar 6: Pangsa pasar pembangun. Grafik menunjukkan konsentrasi tinggi yang ada di pasar pembangun. Grafik diadopsi darihttps://arxiv.org/pdf/2405.01329

Jito di Solana

Arsitektur Jito

Sebagai MEVA kanonikal di Solana, Jito diciptakan untuk mengatasi tingkat spamming Solana yang tinggi karena biaya transaksi rendah. Perdagangan spam efektif diincentivasi selama biaya transaksi gagal (sekitar 0,000005 SOL) tidak melebihi keuntungan yang diharapkan.

Menurut laporan dari Jito Labs pada tahun 2022 [8], lebih dari 96% upaya arbitrase dan likuidasi gagal tahun itu, dengan blok-blok yang berisi lebih dari 50% transaksi terkait MEV. Laporan tersebut juga menyoroti bahwa bot likuidasi telah membanjiri jaringan dengan jutaan paket duplikat hanya untuk mencapai beberapa ribu likuidasi yang berhasil, yang mengakibatkan tingkat kegagalan lebih dari 99% [8].


Gambar 7: Tinjauan dari atas tentang MEVA Jito di Solana.

Keparahan eksternalitas MEV terhadap Solana mendorong Jito untuk mengembangkan lapisan MEVA yang bertujuan untuk membawa keteraturan dan determinisme ke dalam proses produksi blok. Mari kita tinjau arsitektur MEVA asli yang diusulkan oleh Jito, seperti yang diilustrasikan dalam Gambar 7.

Jito memiliki komponen-komponen berikut:

Relay - bertindak sebagai proxy untuk menerima transaksi dan meneruskannya ke Mesin Blok (atau rantai pasok MEVA) dan validator.

Block Engine - mengambil transaksi dari penerus, berkoordinasi dengan pencari, menerima bundel, melakukan simulasi bundel, dan meneruskan transaksi dan bundel terbaik ke validator untuk diproses. Perlu dicatat, Jito melakukan lelang blok parsial untuk inklusi bundel daripada lelang blok penuh, secara historis memproses lebih dari 80% bundel dalam dua slot [9].

Pseudo Mempool - menciptakan jendela waktu operasional sekitar 200 milidetik melalui klien Jito-Solana, memicu lelang diskrit untuk orderflow [10]. Jito menutup mempool ini pada 9 Maret 2024.

Pilihan Desain Jito

Mari kita jelajahi komponen-komponen khusus dari desain sistem Jito dan pertimbangkan bagaimana pilihan desain ini berasal dari proses produksi blok Solana.

Jito hanya mendukung lelang blok parsial daripada membangun blok penuh, kemungkinan karena model eksekusi multi-threaded Solana, yang kurang memiliki penjadwalan global. Secara khusus, Gambar 8 menunjukkan thread paralel yang mengeksekusi transaksi, masing-masing menjaga antrian transaksi sendiri yang menunggu dieksekusi. Transaksi secara acak ditugaskan ke thread dan diurutkan secara lokal berdasarkan biaya prioritas dan waktu. Tanpa pengurutan global di sisi penjadwal (sebelum pembaruan 1.18.x), transaksi Solana secara inheren mengalami ketidakdeterministik dari jitter penjadwal [11]. Akibatnya, dalam MEVA, pencari atau validator tidak dapat dengan dapat diandalkan menentukan status saat ini.


Gambar 8: Model eksekusi Multi-Threaded untuk Klien Solana. Perhatikan bahwa Tahap Bundel MEVA ditambahkan sebagai thread terpisah dalam antrian multi-threaded.

Dari perspektif teknik, menyatukan umpan mesin blok Jito sebagai benang tambahan yang berjalan sejajar dengan yang sudah ada, sesuai dengan arsitektur multi-threaded Solana. Meskipun lelang bundel memastikan pengurutan berbasis biaya prioritas dalam benang mesin blok Jito, tidak ada jaminan bahwa bundel akan selalu ditempatkan sebelum transaksi pengguna secara global.

Untuk mengatasi hal ini, Jito mengalokasikan sebagian ruang blok untuk benang bundel, menjamin bundel dengan ruang di blok. Meskipun indeterminisme tetap ada, pendekatan ini meningkatkan probabilitas untuk eksekusi strategi yang sukses. Ini juga memberikan insentif kepada pencari untuk berpartisipasi dalam pelelangan daripada spamming jaringan. Dengan mereservasi ruang blok untuk bundel, Jito mampu mencapai keseimbangan, mempromosikan pelelangan yang teratur dan mengurangi efek-efek chaotic dari spam transaksi.

Menghapus Pseudo-Mempool

Penggunaan luas Jito telah menghasilkan hasil positif dalam mengatasi masalah spam di Solana. Penelitian oleh p2p [12] dan data yang ditunjukkan dalam Gambar 9 mengungkapkan peningkatan signifikan secara statistik dalam tingkat produksi blok relatif setelah mengadopsi klien Jito. Ini menunjukkan bahwa pemrosesan transaksi telah menjadi lebih efisien, berkat mesin blok yang dioptimalkan dari Jito yang diperkenalkan pada tahun 2023.


Gambar 9: Bukti efektivitas Jito dalam mengatasi masalah spamming di Solana. Grafik ini diambil dari penelitian dalam [12] yang dilakukan oleh tim p2p.

Meskipun kemajuan signifikan telah dicapai, masih banyak tantangan yang harus dihadapi. Karena bundel Jito hanya mengisi sebagian blok, transaksi yang menyebabkan MEV masih dapat melewati saluran lelang Jito. Masalah ini setidaknya sebagian terbukti oleh Dasbor Dune pada Gambar 10 [13], yang menunjukkan bahwa jaringan masih mengalami rata-rata lebih dari 50% transaksi gagal akibat spam bot sejak 2024.


Gambar 10: Dasbor Dune ( https://dune.com/queries/3537204/5951285) menggambarkan aktivitas spam bot di Solana sejak Mei 2022.

Pada 9 Maret 2024, Jito membuat keputusan untuk menangguhkan mempool andalannya. Keputusan ini dipicu oleh pertumbuhan transaksi memecoin dan lonjakan serupa dalam serangan sandwich (jenis front-running di mana pencari menempatkan transaksi sebelum dan sesudah transaksi target), yang pada akhirnya menurunkan pengalaman pengguna. Serupa dengan tren yang diamati di Ethereum dengan saluran aliran pesanan pribadi di MEVA, menutup mempool publik dapat mendorong pertumbuhan aliran pesanan pribadi melalui kemitraan dengan layanan front-end seperti penyedia dompet dan bot Telegram. Pencari dapat membentuk kemitraan langsung dengan validator untuk eksekusi, inklusi, eksklusi yang diinginkan. Bahkan, bukti ini dapat dilihat pada Gambar 11, yang menggambarkan profil keuntungan bot sandwich per jam untuk pencari mempool pribadi terbesar (3pe8gpNEGAYjVvMHqGG1MVeoiceDhmQBFwrHPJ2pAF81) setelah penutupan mempool.


Gambar 11: Keuntungan Per Jam untuk Sandwich Bot dengan Mempool Pribadi untuk Pencari “3pe8gpNEGAYjVvMHqGG1MVeoiceDhmQBFwrHPJ2pAF81”.

Keputusan Jito untuk menutup mempool menegaskan komitmen tim dalam menangani masalah mendasar dalam ekosistem Solana. Selain mengulangi MEVA atau menyesuaikan mekanisme biaya gas Solana, Jito juga membantu mengedukasi protokol dalam mengurangi serangan melalui pilihan desain produk UI seperti membatasi parameter slippage default. Baik melalui penyesuaian struktur biaya yang membuat spam menjadi lebih mahal atau melalui modifikasi protokol komunikasi, infrastruktur Jito tetap penting untuk menjaga kesehatan dan stabilitas jaringan Solana.

Desain MEVA pada Monad

Eksekusi Ditunda & Dampaknya pada MEVA

Berbeda dengan Ethereum, di mana kesepakatan pada blok memerlukan daftar transaksi (dengan urutan) dan akar Merkle yang merangkum semua status pasca faktor, Monad memisahkan eksekusi sebelumnya dari konsensus. Kesepakatan node hanya memerlukan penyelesaian urutan resmi. Seperti yang diilustrasikan pada Gambar 12, setiap node menjalankan transaksi pada blok N secara independen sambil memulai konsensus pada blok N+1. Penyusunan ini memungkinkan anggaran gas yang sesuai dengan waktu blok penuh karena eksekusi hanya perlu menjaga kecepatannya dengan konsensus. [15] Tanpa perlu node utama menghitung akar status de facto, eksekusi dapat memanfaatkan seluruh periode konsensus untuk blok selanjutnya.


Gambar 12: Eksekusi Ditangguhkan Monad dibandingkan dengan tahapan Eksekusi-Konsensus Ethereum. Jendela Waktu Operasional juga diilustrasikan dari sudut pandang desain MEVA.

Kami mendefinisikan Jendela Waktu Operasional sebagai rentang waktu yang diizinkan untuk MEVA di Monad untuk menyelesaikan proposal pembangunan blok yang layak dan menguntungkan dibandingkan dengan metode pembangunan blok default. Ada dua konsekuensi langsung dari model eksekusi tertunda:

  1. Ketika MEVA membangun untuk blok ke-N dalam jendela waktu operasional, validator secara bersamaan menyetujui daftar transaksi untuk blok ke-N saat mencoba menyelesaikan eksekusi untuk blok ke-N-1. Oleh karena itu, dalam jendela waktu operasional di N, sangat mungkin keadaan yang tersedia masih berada di N-2. Ini berarti tidak ada "keadaan paling baru" yang dijamin untuk relay atau builder di bawah arsitektur eksekusi tertunda ini. Oleh karena itu, tidak mungkin untuk mensimulasikan terhadap blok terbaru sebelum blok berikutnya diproduksi, yang mengakibatkan indeterminisme.
  2. Dengan waktu blok 1 detik Monad, jendela waktu operasional MEVA sangat terbatas. Ini berarti bahwa pembangun mungkin tidak memiliki cukup waktu untuk secara berurutan mensimulasikan blok lengkap dari transaksi dan bundel seperti yang biasanya mereka lakukan di Ethereum. Banyak variabel yang dapat mempengaruhi waktu yang diperlukan untuk simulasi transaksi pada EVM. Namun, dengan asumsi bahwa mensimulasikan transaksi membutuhkan waktu antara 10^1 hingga 10^2 mikrodetik (asumsi kasar), dan dengan target Monad sebesar 10^4 transaksi per detik, dapat memakan waktu sekitar 1 detik penuh hanya untuk mensimulasikan blok lengkap dalam jendela waktu operasional. Mengingat waktu blok 1 detik Monad, akan sulit bagi pembangun atau relay untuk menyelesaikan beberapa simulasi blok lengkap untuk mengoptimalkan blok yang dibangun.

Strategi Pembangun Probabilistik & Pencari

Dengan adanya batasan, menyelesaikan simulasi blok penuh dalam jendela waktu operasional dan mensimulasikan terhadap kondisi terbaru adalah tidak praktis. Karena para pembangun sekarang kekurangan waktu dan kondisi terbaru untuk mengetahui ujung yang tepat dari setiap transaksi, mereka harus menyimpulkan ujung pencari berdasarkan kemungkinan pembalikan transaksi dengan mengandalkan reputasi atau dengan mensimulasikan terhadap (mungkin paling baik) kondisi N-2. Hal ini membuat penilaian blok menjadi kurang deterministik.

Para pencari menghadapi ketidakpastian eksekusi yang lebih besar karena kurangnya jaminan teoritis terhadap pembatalan transaksi setelah validator menerima blok yang dibangun oleh pembangun. Ini berbeda dengan Ethereum, di mana para pencari bersaing untuk saluran orderflow-ke-pembangun pribadi yang didedikasikan untuk eksekusi strategi yang relatif deterministik. Dalam pengaturan yang relatif probabilistik di Monad ini, para pencari sekarang menghadapi risiko yang lebih tinggi terhadap pembatalan bundel on-chain, mengakibatkan profil PnL eksekusi yang lebih tidak pasti. Hal ini mencerminkan para pedagang frekuensi tinggi yang melakukan eksekusi berdasarkan sinyal probabilistik dengan return yang sedikit positif dari waktu ke waktu.


Gambar 13: Diagram spektrum konseptual yang menggambarkan paradigma desain MEVA yang berbeda dikategorikan berdasarkan tingkat pemeriksaan blok atau simulasi yang diusulkan.

Seperti yang ditunjukkan dalam Gambar 13, tingkat pemeriksaan bundel / blok sebelumnya di pihak pembangun menciptakan spektrum ketidakpastian mengenai penetapan harga atau penilaian blok yang diusulkan. Di satu sisi adalah model PBS gaya Ethereum dengan penetapan harga yang akurat, di mana pembangun harus menggunakan Klien Lapisan Eksekusi (EL) untuk mensimulasikan transaksi dalam blok yang diusulkan. Mereka harus menavigasi melalui berbagai kombinatorika di antara bundel yang dikirimkan. Di sisi lain adalah Model Pembangun Optimis [16] dengan pemeriksaan blok asinkron. Dalam model ini, pembangun menghindari waktu yang diperlukan untuk setiap simulasi selama jendela waktu operasional dan menghormati tips yang ditunjukkan kepada validator atau relay dengan mendepositokan jaminan yang dapat dipotong. Pendekatan pemeriksaan probabilistik atau simulasi parsial yang diusulkan di sini pada Monad berada di tengah-tengah, meningkatkan kemungkinan keberhasilan pelaksanaan strategi bagi pencari meskipun ada beberapa ketidakpastian.

Sebagai contoh, seorang market maker pada DEX buku pesanan onchain mungkin membayar untuk memindahkan posisi mereka sebelumnya melalui MEVA ketika mereka melihat adanya pergerakan harga unidireksional utama untuk menghindari pemilihan yang merugikan. Strategi probabilistik ini memungkinkan mereka untuk bertindak dengan cepat, bahkan tanpa informasi status yang paling baru, menyeimbangkan risiko dan imbalan dalam lingkungan perdagangan dinamis.

Sambutan Penutup

MEVA memainkan peran penting dalam mengoptimalkan produksi blok dengan mengurangi dampak eksternal dan meningkatkan stabilitas sistem secara keseluruhan. Evolusi terus menerus dari kerangka MEVA, yang diwakili oleh Jito di Solana dan berbagai implementasi di Ethereum, sangat membantu dalam mengatasi tantangan skalabilitas dan menyelaraskan insentif peserta jaringan.

Monad adalah jaringan yang menjanjikan dalam masa perkembangannya, memberikan kesempatan unik bagi komunitas untuk membentuk desain MEVA yang optimal. Mengingat tahapan konsensus-penjalanan yang unik dari Monad, kami mengundang para peneliti, pengembang, dan validator untuk berkolaborasi dan berbagi wawasan. Kolaborasi ini akan menjadi sangat penting dalam menciptakan proses produksi blok yang kuat dan efisien, memungkinkan Monad untuk mencapai potensinya sebagai jaringan blockchain berkapasitas tinggi.

Disclaimer:

  1. Artikel ini dicetak ulang dari [0xapr]. Semua hak cipta milik penulis asli [APRIORI ⌘]. Jika ada keberatan terhadap cetakan ulang ini, silakan hubungi Gate Belajartim, dan mereka akan menanganinya dengan cepat.
  2. Penafian Tanggung Jawab: Pandangan dan pendapat yang terdapat dalam artikel ini semata-mata merupakan pandangan penulis dan tidak merupakan nasihat investasi.
  3. Terjemahan artikel ke dalam bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel-artikel yang diterjemahkan dilarang.
Start Now
Sign up and get a
$100
Voucher!