Skala urus niaga sentiasa menjadi topik hangat. Sejak beberapa minggu lalu, kami telah meneroka cara monad boleh membantu skala TPS.
Berikut ialah penjelasan terperinci tentang cara Monads berfungsi, yang ditulis oleh Saurabh Deshpande.
TPS ialah penunjuk yang kami beri perhatian dengan teliti. Kami mahu rantaian kami dapat menyokong TPS yang lebih tinggi kerana mereka boleh menyokong lebih ramai pengguna dan aplikasi. Carta di bawah menunjukkan nombor TPS untuk Ethereum dan L2. Tiada rantai yang pernah melanggar tanda 100 TPS. Ambil perhatian bahawa TPS ialah istilah umum yang digunakan untuk mengukur skala. TPS tidak tepat kerana tidak semua transaksi adalah sama, ia berbeza dari segi kerumitan. Tetapi untuk kesederhanaan, kami menggunakan TPS sebagai ukuran skala.
Kalau nak tingkatkan TPS, apa yang patut kita buat?
Cara pertama ialah membina sistem yang benar-benar baru, seperti yang dilakukan oleh Solana. Ia mengorbankan keserasian EVM berbanding kelajuan. Ia menggunakan pelaksanaan berbilang benang dan bukannya pelaksanaan berbenang tunggal (fikirkan CPU berbilang teras vs CPU teras tunggal), menyelaraskan transaksi dan menggunakan mekanisme konsensus yang berbeza.
Pendekatan kedua ialah menggunakan pelaksanaan luar rantaian dan skala Ethereum dengan penjujukan terpusat.
Pendekatan ketiga ialah menguraikan EVM kepada komponen berasingan dan mengoptimumkannya untuk meningkatkan kebolehskalaan.
Monad ialah L1 baharu yang serasi dengan EVM yang baru-baru ini mengumpul $225 juta yang sedang membina EVM dari bawah, dan bukannya menggunakannya secara langsung. Ia memilih pendekatan ketiga ini untuk meningkatkan kebolehskalaan.
Kami membincangkan beberapa perubahan besar yang dibawa oleh Monads.
Mesin Maya Ethereum (EVM) melaksanakan transaksi secara berurutan. Sebelum satu transaksi dilaksanakan, transaksi seterusnya mesti menunggu. Fikirkan dengan cara ini. Pertimbangkan platform di kedai pemasangan motosikal. Pelbagai trak menghantar alat ganti motosikal (setiap trak mempunyai semua bahagian yang diperlukan untuk memasang 50 motosikal). Kedai pemasangan melaksanakan empat fungsi berbeza: memunggah, menyusun, memasang dan memuatkan.
Dalam persediaan EVM semasa hanya terdapat satu platform dan lokasi yang sama digunakan untuk memuat dan memunggah. Jadi semasa trak diletakkan, bahagian motosikal dipunggah, diisih, dipasang dan dimuatkan pada trak yang sama. Semasa pasukan klasifikasi sedang bekerja, pasukan lain sedang menunggu. Oleh itu, jika anda menganggap kerja mereka sebagai slot berasingan, setiap pasukan hanya bekerja sekali dalam empat slot. Ini mengakibatkan ketidakcekapan yang ketara, menonjolkan keperluan untuk pendekatan yang lebih lancar.
Sekarang, bayangkan platform dengan empat kawasan pemunggahan dan pemunggahan yang berbeza. Walaupun pasukan pemunggah hanya boleh bekerja dengan satu trak pada satu masa, mereka tidak perlu menunggu untuk tiga slot seterusnya. Mereka boleh dipindahkan terus ke trak seterusnya.
Begitu juga dengan pasukan pengasingan, pemasangan dan pemuatan. Setelah pemunggahan selesai, trak itu bergerak ke ruang pemunggahan untuk menunggu pasukan pemunggah memuatkan motosikal yang dipasang. Oleh itu, gudang dengan hanya satu platform dan kawasan muat/punggah melaksanakan semua operasi secara berurutan, manakala gudang dengan 4 platform dan kawasan muat/punggah yang berbeza melakukan penyejajaran.
Fikirkan Monads sebagai infrastruktur, setara dengan gudang dengan berbilang platform trak. Tetapi ia tidak mudah. Kerumitan bertambah apabila trak diharap. Sebagai contoh, apa yang berlaku jika satu trak tidak mempunyai semua bahagian untuk memasang 50 motosikal? Urus niaga mungkin tidak sentiasa bebas. Oleh itu, Monad mesti mengendalikan transaksi yang bergantung antara satu sama lain apabila ia melaksanakannya secara selari.
Bagaimana untuk menanganinya? Ia melaksanakan kaedah yang dipanggil pelaksanaan selari optimistik. Protokol hanya boleh melaksanakan transaksi bebas secara selari. Sebagai contoh, pertimbangkan 4 transaksi dengan baki Joel ialah 1 ETH:
Joel menghantar 0.2 eter kepada Saurabh
Sid menghasilkan NFT
Joel menghantar 0.2 eter kepada Saurabh
Sid mencetak NFT
SidJoel menghantar
SidJoel menghantar
🎜 Beli PEPE🎜🎜 🎜🎜Semua transaksi ini dilaksanakan secara selari dan keputusan yang belum selesai diserahkan satu persatu. Jika output keputusan belum selesai bercanggah dengan input asal mana-mana transaksi, urus niaga akan dilaksanakan semula. Transaksi 2 dan 4 tidak mempunyai keputusan belum selesai yang bercanggah dengan input daripada urus niaga lain kerana ia bebas antara satu sama lain. Tetapi urus niaga 1 dan 4 tidak bebas. 🎜🎜Sila ambil perhatian bahawa memandangkan semua 4 transaksi bermula dari keadaan yang sama, tumpuan diberikan pada baki 1 ETH Joel. Selepas Joel menghantar 0.2 ETH, bakinya ialah 0.8 ETH. Selepas Joel menghantar 0.1 ETH kepada Sid, bakinya ialah 0.9 ETH. Keputusan diserahkan satu persatu, memastikan output tidak bercanggah dengan sebarang input. Selepas menyerahkan keputusan 1 yang belum selesai, baki baharu Joel ialah 0.8 ETH. 🎜Output ini bercanggah dengan input transaksi ke-3. Jadi sekarang 3 dilaksanakan semula dengan input 0.8 ETH. Selepas melaksanakan 3, baki Joel ialah 0.7 ETH.
Pada ketika ini, persoalan yang jelas ialah bagaimana kita tahu kita tidak perlu melaksanakan semula kebanyakan transaksi. Jawapannya ialah pelaksanaan semula bukanlah halangan. Kesesakan sedang mengakses memori Ethereum. Ternyata cara menyimpan Ethereum dalam pangkalan data menjadikan akses keadaan sukar (memakan masa dan oleh itu mahal). Ini adalah satu lagi peningkatan Monad: MonadDb. Cara struktur pangkalan data Monads mengurangkan overhed yang dikaitkan dengan operasi baca.
Apabila transaksi perlu dilaksanakan semula, semua input sudah berada dalam memori cache, yang lebih mudah diakses berbanding keadaan keseluruhan.
Solana mempunyai 50k TPS pada testnetnya, tetapi kini hanya mempunyai kira-kira 1k TPS pada mainnet. Monad mendakwa telah mencapai 10k TPS dunia sebenar pada testnet dalamannya. Walaupun ini tidak selalunya mewakili prestasi dunia sebenar, kami tidak sabar untuk melihat prestasi Monad dalam aplikasi dunia sebenar.
Atas ialah kandungan terperinci Panduan Bermula Monad: Memahami EVM Selari dan Peningkatan Prestasi dengan Pantas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!