Lección 3

Arsitektur Teknis Monad

Modul ini memberikan pemecahan teknis mendalam tentang arsitektur Monad, mencakup bagaimana protokol mencapai throughput tinggi dan laten rendah. Topik-topik termasuk mesin eksekusi paralel, model eksekusi asinkron, konsensus MonadBFT, dan lapisan penyimpanan MonadDB kustom—semua dirancang untuk mendukung aplikasi on-chain kompleks dan dapat diskalakan.

Eksekusi Paralel Optimis

Salah satu inovasi paling menentukan dari blockchain Monad adalah model eksekusi paralel optimisnya. Pendekatan ini mempertimbangkan ulang bagaimana transaksi diproses pada tingkat protokol, mengatasi batasan kunci dari blockchain tradisional: eksekusi sekuensial. Di platform seperti Ethereum, transaksi dieksekusi satu per satu, yang memastikan konsistensi status tetapi sangat membatasi throughput dan kinerja secara keseluruhan.

Mesin virtual Monad memperkenalkan paralelisme dengan mengasumsikan bahwa sebagian besar transaksi dalam blok adalah independen dan tidak berinteraksi dengan bagian-bagian yang sama dari status blockchain. Berdasarkan asumsi ini, transaksi dikelompokkan dan dijadwalkan untuk berjalan secara bersamaan di berbagai thread pemrosesan. Hal ini secara signifikan meningkatkan throughput eksekusi, terutama di bawah beban jaringan tinggi, dengan memanfaatkan pemrosesor multi-core modern secara lebih efektif daripada model sekuensial.

Namun, konkurensi memperkenalkan risiko konflik data potensial, seperti dua transaksi yang mencoba memodifikasi akun atau kontrak yang sama. Monad mengatasi masalah ini dengan menggabungkan sistem deteksi dan penyelesaian konflik. Setelah transaksi dieksekusi secara paralel, sistem memeriksa inkonsistensi. Jika konflik terdeteksi, hanya transaksi yang terkena dampak yang dieksekusi ulang atau diurutkan dengan aman. Hal ini memastikan blockchain tetap benar dan transisi keadaan deterministik, sambil tetap mendapatkan manfaat dari efisiensi pemrosesan konkuren.

Model ini menyerupai kontrol konkurensi optimis dalam sistem basis data modern, di mana sebagian besar operasi diasumsikan tidak bertentangan dan ditangani secara bersamaan. Hanya pada kasus-kasus tertentu sistem turut campur tangan. Hasilnya adalah lapisan eksekusi yang dapat diskalakan dan adaptif yang cocok untuk aplikasi dengan volume transaksi tinggi dan beban kerja yang bervariasi.

Eksekusi paralel yang optimis sangat menguntungkan untuk kasus penggunaan seperti DeFi, gaming, dan pasar NFT—di mana banyak pengguna berinteraksi secara bersamaan tetapi jarang dengan data yang sama. Monad dapat menangani operasi-operasi ini secara paralel, mengurangi kemacetan dan meningkatkan responsifitas aplikasi terdesentralisasi tanpa perlu lapisan skalabilitas di luar rantai.

Manfaat kunci lainnya adalah kesederhanaan pengembang. Lingkungan yang kompatibel dengan EVM Monad memungkinkan kontrak pintar yang ditulis dalam Solidity dieksekusi secara normal, tanpa memerlukan pengembang untuk secara manual mengelola konkurensi. Protokol menangani logika eksekusi di balik layar, menjaga pengalaman pengembang sambil meningkatkan kinerja jaringan.

Eksekusi Asinkron

Sebagai pelengkap model eksekusi paralelnya, Monad menerapkan eksekusi asinkron, fitur arsitektural yang memisahkan eksekusi transaksi dari proses konsensus. Dalam blockchain tradisional, konsensus dan eksekusi terkait erat—validator harus menjalankan semua transaksi sebelum setuju dan menyelesaikan blok. Keterkaitan ini memperkenalkan laten dan membatasi seberapa cepat blok baru dapat diproduksi.

Monad memisahkan fungsi-fungsi ini dengan menyelesaikan urutan transaksi terlebih dahulu, melalui konsensus, dan kemudian menjalankannya setelah itu. Desain ini memungkinkan lapisan konsensus untuk beroperasi secara independen dan terus-menerus, sementara eksekusi berjalan secara paralel di latar belakang. Hal ini meningkatkan efisiensi validator dan mengurangi waktu blok, karena validator tidak lagi terbatas oleh waktu yang dibutuhkan untuk menghitung hasil setiap transaksi.

Sistem menjaga determinisme dan keamanan dengan memastikan bahwa semua node menjalankan transaksi yang sama persis, dalam urutan yang disepakati, bahkan jika pelaksanaannya terjadi pada waktu yang berbeda. Hal ini menjamin konsistensi di seluruh jaringan dan mencegah perbedaan dalam keadaan blockchain.

Eksekusi asinkron juga melengkapi paralelisme optimis Monad. Saat konsensus berkembang dan blok baru segera diselesaikan, eksekusi berlangsung secara bersamaan di beberapa thread, menyelesaikan konflik hanya ketika diperlukan. Kombinasi paralel-asinkron ini memaksimalkan konkurensi sistem dan penggunaan sumber daya tanpa mengorbankan kebenaran.

Dari sudut pandang pengguna dan pengembang, arsitektur ini menghasilkan penambahan transaksi yang lebih cepat, aplikasi yang lebih responsif, dan skalabilitas yang diperbaiki. Validator juga mendapat manfaat dari pengurangan bottleneck, yang mengarah ke jaringan yang lebih efisien dan terdesentralisasi.

Mekanisme Konsensus MonadBFT

Konsensus di Monad dicapai melalui MonadBFT, adaptasi kustom dari protokol HotStuff Byzantine Fault Tolerant (BFT). Mekanisme konsensus ini dioptimalkan untuk kinerja dan keamanan, mendukung tujuan Monad untuk finalitas latensi rendah dan throughput tinggi, sambil tetap dapat diakses oleh validator terdesentralisasi.

HotStuff awalnya dikembangkan untuk mengurangi jumlah putaran komunikasi yang diperlukan untuk menyelesaikan blok. MonadBFT membangun hal ini dengan memungkinkan finalitas satu slot, di mana blok-blok difinalisasi dalam satu putaran konsensus tanpa menunggu konfirmasi ganda. Ini memberikan finalitas transaksi yang langsung, meningkatkan prediktabilitas untuk aplikasi dan mengurangi risiko reorganisasi rantai.

MonadBFT menggunakan model berbasis pemimpin. Pada setiap putaran, satu validator mengusulkan blok sementara yang lainnya memvalidasi dan memberikan suara. Jika dua per-tiga dari total staking validator mengonfirmasi blok tersebut, maka blok tersebut akan difinalisasi. Proses yang disederhanakan ini meminimalkan overhead dan mempercepat produksi blok, terutama dalam kondisi operasional normal.

Untuk memastikan kelangsungan hidup, MonadBFT termasuk rotasi pemimpin dan strategi waktu habis. Jika seorang pemimpin gagal mengajukan blok, validator berikutnya secara otomatis mengambil alih. Ketahanan ini memastikan bahwa rantai terus berkembang bahkan jika beberapa validator tidak online atau tidak responsif.

Dari sudut pandang keamanan, MonadBFT mematuhi ambang batas BFT yang khas, yang mentolerir hingga sepertiga validator berperilaku jahat tanpa mengorbankan keamanan. Begitu blok difinalisasi, itu disegel secara kriptografis dan tidak dapat dibalikkan tanpa kolusi dari pelaku tidak jujur yang mengendalikan sebagian besar kekuatan validator.

Protokol ini terintegrasi dengan model eksekusi asinkron Monad secara ketat. Karena blok-blok tersebut telah difinalisasi sebelum dieksekusi, sistem dapat terus berkembang tanpa penundaan, sementara lapisan eksekusi memproses transaksi secara independen. Arsitektur ini mengurangi beban validator dan memungkinkan sistem untuk mempertahankan kinerja tinggi tanpa bergantung pada layanan pengurutan terpusat atau pihak perantara yang dipercayai.

MonadDB

Eksekusi yang efisien dan konsensus bergantung pada sistem manajemen status berkinerja tinggi. Dalam Monad, peran ini dipenuhi oleh MonadDB, lapisan penyimpanan status khusus blockchain. MonadDB bertanggung jawab untuk menyimpan semua data on-chain, termasuk saldo rekening, penyimpanan kontrak, dan variabel status persisten lainnya. Ini dirancang untuk cepat, konkuren, dan sepenuhnya kompatibel dengan mesin eksekusi paralel Monad.

MonadDB menggunakan penyimpanan nilai kunci yang diberi versi dan persisten, memungkinkannya untuk mempertahankan beberapa snapshot dari keadaan sekaligus. Hal ini penting untuk mendukung eksekusi spekulatif, di mana beberapa transaksi diproses secara paralel dan mungkin dibatalkan atau disesuaikan tergantung pada konflik. Dengan menyimpan versi yang berbeda dari keadaan, MonadDB memungkinkan mesin eksekusi untuk mengisolasi dan menyelesaikan konflik data secara efisien.

Pada intinya, MonadDB menggunakan struktur data Merkle Patricia Trie—sebuah pohon yang aman secara kriptografis yang memungkinkan verifikasi cepat dari keadaan blockchain. Struktur trie ini memastikan bahwa setiap perubahan dalam keadaan menghasilkan hash root baru, yang dapat divalidasi oleh semua node. Ini mendukung sinkronisasi tanpa kepercayaan, klien ringan, dan verifikasi keadaan berbasis bukti, yang merupakan dasar dari desain blockchain yang aman dan scalable.

Untuk menangani volume transaksi yang diharapkan, MonadDB dirancang untuk baca-tulis dengan latensi rendah. Ini mencakup penyimpanan cache, kontrol akses aman secara konkurensi, dan penyimpanan disk berkecepatan tinggi untuk memastikan pengambilan dan modifikasi entri status yang cepat. Optimisasi ini memungkinkan lapisan eksekusi untuk beroperasi dengan throughput tinggi tanpa terhambat oleh keterlambatan akses data.

Dari sudut pandang pengembang, MonadDB sepenuhnya diabstraksikan. Pengembang kontrak pintar berinteraksi dengan blockchain melalui konstruksi Solidity yang akrab, tanpa perlu mengelola mekanika state yang mendasari. MonadDB memastikan bahwa state diperbarui dan disimpan dengan tepat, bahkan dalam beban tinggi atau selama eksekusi kontrak yang kompleks.

Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.
Catálogo
Lección 3

Arsitektur Teknis Monad

Modul ini memberikan pemecahan teknis mendalam tentang arsitektur Monad, mencakup bagaimana protokol mencapai throughput tinggi dan laten rendah. Topik-topik termasuk mesin eksekusi paralel, model eksekusi asinkron, konsensus MonadBFT, dan lapisan penyimpanan MonadDB kustom—semua dirancang untuk mendukung aplikasi on-chain kompleks dan dapat diskalakan.

Eksekusi Paralel Optimis

Salah satu inovasi paling menentukan dari blockchain Monad adalah model eksekusi paralel optimisnya. Pendekatan ini mempertimbangkan ulang bagaimana transaksi diproses pada tingkat protokol, mengatasi batasan kunci dari blockchain tradisional: eksekusi sekuensial. Di platform seperti Ethereum, transaksi dieksekusi satu per satu, yang memastikan konsistensi status tetapi sangat membatasi throughput dan kinerja secara keseluruhan.

Mesin virtual Monad memperkenalkan paralelisme dengan mengasumsikan bahwa sebagian besar transaksi dalam blok adalah independen dan tidak berinteraksi dengan bagian-bagian yang sama dari status blockchain. Berdasarkan asumsi ini, transaksi dikelompokkan dan dijadwalkan untuk berjalan secara bersamaan di berbagai thread pemrosesan. Hal ini secara signifikan meningkatkan throughput eksekusi, terutama di bawah beban jaringan tinggi, dengan memanfaatkan pemrosesor multi-core modern secara lebih efektif daripada model sekuensial.

Namun, konkurensi memperkenalkan risiko konflik data potensial, seperti dua transaksi yang mencoba memodifikasi akun atau kontrak yang sama. Monad mengatasi masalah ini dengan menggabungkan sistem deteksi dan penyelesaian konflik. Setelah transaksi dieksekusi secara paralel, sistem memeriksa inkonsistensi. Jika konflik terdeteksi, hanya transaksi yang terkena dampak yang dieksekusi ulang atau diurutkan dengan aman. Hal ini memastikan blockchain tetap benar dan transisi keadaan deterministik, sambil tetap mendapatkan manfaat dari efisiensi pemrosesan konkuren.

Model ini menyerupai kontrol konkurensi optimis dalam sistem basis data modern, di mana sebagian besar operasi diasumsikan tidak bertentangan dan ditangani secara bersamaan. Hanya pada kasus-kasus tertentu sistem turut campur tangan. Hasilnya adalah lapisan eksekusi yang dapat diskalakan dan adaptif yang cocok untuk aplikasi dengan volume transaksi tinggi dan beban kerja yang bervariasi.

Eksekusi paralel yang optimis sangat menguntungkan untuk kasus penggunaan seperti DeFi, gaming, dan pasar NFT—di mana banyak pengguna berinteraksi secara bersamaan tetapi jarang dengan data yang sama. Monad dapat menangani operasi-operasi ini secara paralel, mengurangi kemacetan dan meningkatkan responsifitas aplikasi terdesentralisasi tanpa perlu lapisan skalabilitas di luar rantai.

Manfaat kunci lainnya adalah kesederhanaan pengembang. Lingkungan yang kompatibel dengan EVM Monad memungkinkan kontrak pintar yang ditulis dalam Solidity dieksekusi secara normal, tanpa memerlukan pengembang untuk secara manual mengelola konkurensi. Protokol menangani logika eksekusi di balik layar, menjaga pengalaman pengembang sambil meningkatkan kinerja jaringan.

Eksekusi Asinkron

Sebagai pelengkap model eksekusi paralelnya, Monad menerapkan eksekusi asinkron, fitur arsitektural yang memisahkan eksekusi transaksi dari proses konsensus. Dalam blockchain tradisional, konsensus dan eksekusi terkait erat—validator harus menjalankan semua transaksi sebelum setuju dan menyelesaikan blok. Keterkaitan ini memperkenalkan laten dan membatasi seberapa cepat blok baru dapat diproduksi.

Monad memisahkan fungsi-fungsi ini dengan menyelesaikan urutan transaksi terlebih dahulu, melalui konsensus, dan kemudian menjalankannya setelah itu. Desain ini memungkinkan lapisan konsensus untuk beroperasi secara independen dan terus-menerus, sementara eksekusi berjalan secara paralel di latar belakang. Hal ini meningkatkan efisiensi validator dan mengurangi waktu blok, karena validator tidak lagi terbatas oleh waktu yang dibutuhkan untuk menghitung hasil setiap transaksi.

Sistem menjaga determinisme dan keamanan dengan memastikan bahwa semua node menjalankan transaksi yang sama persis, dalam urutan yang disepakati, bahkan jika pelaksanaannya terjadi pada waktu yang berbeda. Hal ini menjamin konsistensi di seluruh jaringan dan mencegah perbedaan dalam keadaan blockchain.

Eksekusi asinkron juga melengkapi paralelisme optimis Monad. Saat konsensus berkembang dan blok baru segera diselesaikan, eksekusi berlangsung secara bersamaan di beberapa thread, menyelesaikan konflik hanya ketika diperlukan. Kombinasi paralel-asinkron ini memaksimalkan konkurensi sistem dan penggunaan sumber daya tanpa mengorbankan kebenaran.

Dari sudut pandang pengguna dan pengembang, arsitektur ini menghasilkan penambahan transaksi yang lebih cepat, aplikasi yang lebih responsif, dan skalabilitas yang diperbaiki. Validator juga mendapat manfaat dari pengurangan bottleneck, yang mengarah ke jaringan yang lebih efisien dan terdesentralisasi.

Mekanisme Konsensus MonadBFT

Konsensus di Monad dicapai melalui MonadBFT, adaptasi kustom dari protokol HotStuff Byzantine Fault Tolerant (BFT). Mekanisme konsensus ini dioptimalkan untuk kinerja dan keamanan, mendukung tujuan Monad untuk finalitas latensi rendah dan throughput tinggi, sambil tetap dapat diakses oleh validator terdesentralisasi.

HotStuff awalnya dikembangkan untuk mengurangi jumlah putaran komunikasi yang diperlukan untuk menyelesaikan blok. MonadBFT membangun hal ini dengan memungkinkan finalitas satu slot, di mana blok-blok difinalisasi dalam satu putaran konsensus tanpa menunggu konfirmasi ganda. Ini memberikan finalitas transaksi yang langsung, meningkatkan prediktabilitas untuk aplikasi dan mengurangi risiko reorganisasi rantai.

MonadBFT menggunakan model berbasis pemimpin. Pada setiap putaran, satu validator mengusulkan blok sementara yang lainnya memvalidasi dan memberikan suara. Jika dua per-tiga dari total staking validator mengonfirmasi blok tersebut, maka blok tersebut akan difinalisasi. Proses yang disederhanakan ini meminimalkan overhead dan mempercepat produksi blok, terutama dalam kondisi operasional normal.

Untuk memastikan kelangsungan hidup, MonadBFT termasuk rotasi pemimpin dan strategi waktu habis. Jika seorang pemimpin gagal mengajukan blok, validator berikutnya secara otomatis mengambil alih. Ketahanan ini memastikan bahwa rantai terus berkembang bahkan jika beberapa validator tidak online atau tidak responsif.

Dari sudut pandang keamanan, MonadBFT mematuhi ambang batas BFT yang khas, yang mentolerir hingga sepertiga validator berperilaku jahat tanpa mengorbankan keamanan. Begitu blok difinalisasi, itu disegel secara kriptografis dan tidak dapat dibalikkan tanpa kolusi dari pelaku tidak jujur yang mengendalikan sebagian besar kekuatan validator.

Protokol ini terintegrasi dengan model eksekusi asinkron Monad secara ketat. Karena blok-blok tersebut telah difinalisasi sebelum dieksekusi, sistem dapat terus berkembang tanpa penundaan, sementara lapisan eksekusi memproses transaksi secara independen. Arsitektur ini mengurangi beban validator dan memungkinkan sistem untuk mempertahankan kinerja tinggi tanpa bergantung pada layanan pengurutan terpusat atau pihak perantara yang dipercayai.

MonadDB

Eksekusi yang efisien dan konsensus bergantung pada sistem manajemen status berkinerja tinggi. Dalam Monad, peran ini dipenuhi oleh MonadDB, lapisan penyimpanan status khusus blockchain. MonadDB bertanggung jawab untuk menyimpan semua data on-chain, termasuk saldo rekening, penyimpanan kontrak, dan variabel status persisten lainnya. Ini dirancang untuk cepat, konkuren, dan sepenuhnya kompatibel dengan mesin eksekusi paralel Monad.

MonadDB menggunakan penyimpanan nilai kunci yang diberi versi dan persisten, memungkinkannya untuk mempertahankan beberapa snapshot dari keadaan sekaligus. Hal ini penting untuk mendukung eksekusi spekulatif, di mana beberapa transaksi diproses secara paralel dan mungkin dibatalkan atau disesuaikan tergantung pada konflik. Dengan menyimpan versi yang berbeda dari keadaan, MonadDB memungkinkan mesin eksekusi untuk mengisolasi dan menyelesaikan konflik data secara efisien.

Pada intinya, MonadDB menggunakan struktur data Merkle Patricia Trie—sebuah pohon yang aman secara kriptografis yang memungkinkan verifikasi cepat dari keadaan blockchain. Struktur trie ini memastikan bahwa setiap perubahan dalam keadaan menghasilkan hash root baru, yang dapat divalidasi oleh semua node. Ini mendukung sinkronisasi tanpa kepercayaan, klien ringan, dan verifikasi keadaan berbasis bukti, yang merupakan dasar dari desain blockchain yang aman dan scalable.

Untuk menangani volume transaksi yang diharapkan, MonadDB dirancang untuk baca-tulis dengan latensi rendah. Ini mencakup penyimpanan cache, kontrol akses aman secara konkurensi, dan penyimpanan disk berkecepatan tinggi untuk memastikan pengambilan dan modifikasi entri status yang cepat. Optimisasi ini memungkinkan lapisan eksekusi untuk beroperasi dengan throughput tinggi tanpa terhambat oleh keterlambatan akses data.

Dari sudut pandang pengembang, MonadDB sepenuhnya diabstraksikan. Pengembang kontrak pintar berinteraksi dengan blockchain melalui konstruksi Solidity yang akrab, tanpa perlu mengelola mekanika state yang mendasari. MonadDB memastikan bahwa state diperbarui dan disimpan dengan tepat, bahkan dalam beban tinggi atau selama eksekusi kontrak yang kompleks.

Descargo de responsabilidad
* La inversión en criptomonedas implica riesgos significativos. Proceda con precaución. El curso no pretende ser un asesoramiento de inversión.
* El curso ha sido creado por el autor que se ha unido a Gate Learn. Cualquier opinión compartida por el autor no representa a Gate Learn.