Bayangkan ini: Anda berada di dapur yang sibuk di mana para koki harus menunggu salah satu selesai memotong sayuran sebelum yang lain bisa mulai memanggang kentang. Terdengar sangat lambat dan tidak efisien, bukan? Itulah seperti apa eksekusi sinkron dalam komputasi dan blockchain: satu tugas harus selesai sebelum yang berikutnya bisa dimulai. Sekarang, bayangkan dapur yang terkoordinasi dengan baik di mana setiap koki bekerja pada bagian-bagian berbeda dari beberapa hidangan secara bersamaan, menyiapkan bahan, memasak, dan menyajikan semua sekaligus. Itulah eksekusi asinkron — tugas-tugas berjalan secara bersamaan, menciptakan alur kerja yang lebih efisien dan cepat.
Di persimpangan evolusi blockchain, komposabilitas sinkron telah menjadi kata yang sering digunakan karena tampaknya menawarkan solusi untuk menyatukan lapisan rollup layer 2 yang terfragmentasi di jaringan Ethereum. Pendekatan ini mengatasi UX dan DevEx yang buruk di mana bahkan transfer sederhana antara lapisan 2 dapat menghabiskan biaya dan memakan waktu hingga 7 hari.Keterlibatan Vitalikdalam debat-debat ini menyoroti bahwa sinkronisasi universal tidak necessarily merupakan persyaratan untuk menyelesaikan masalah-masalah ini. Kami setuju bahwa pelaksanaan terjemahan yang efektif tidak harus melibatkan sinkronisasi, dan ada biaya nyata untuk membangun dan menjaga infrastruktur yang sinkron. Kami percaya bahwa ini bukan pilihan biner antara semuanya sinkron atau asinkron. Keduanya dapat berdampingan secara ad hoc, dengan kemungkinan pergeseran ke yang terakhir.
Dalam upaya meningkatkan kinerja skala dalam teknologi blockchain, eksekusi paralel dari kontrak pintar individu telah menarik perhatian yang signifikan. Secara konvensional, kinerja setiap kontrak pintar terbatas oleh kemampuan mesin virtual tunggal (EVM), bahkan dengan munculnya sistem multi-rantai atau Layer-2. Mesin virtual paralel menawarkan solusi yang menjanjikan, memungkinkan transaksi kontrak pintar tunggal dieksekusi secara bersamaan, dengan demikian memanfaatkan lebih banyak inti CPU untuk kinerja yang lebih baik.
Parallel Relay-Execution Distributed Architecture (PREDA) adalah model pemrograman terdistribusi, fungsional, berorientasi cakupan, dan tingkat tinggi yang dirancang untuk kontrak pintar umum yang secara inheren parallelized pada sistem blockchain multi-EVM yang didistribusikan. Dari perspektif sistem, PREDA membuat EVM parallel dapat didekomposisi dan asinkron, memungkinkan paralelisasi penuh fungsi kontrak dan memaksimalkan konkurensi rangkaian transaksi. Hal ini memastikan bahwa semua contoh EVM dapat dimanfaatkan secara maksimal, mencapai kinerja dan skalabilitas optimal.
Sebelum masuk ke detail-detail penting, mari kita pertama-tama menjelaskan apa yang dimaksud dengan beberapa istilah kunci dalam tulisan ini:
Tx1= Transaksi 1
Tx2= Transaksi 2
Kami mengasumsikan bahwa,
Pelaksanaan Tx1 perlu mengubah keadaan A, keadaan B, keadaan C
Pelaksanaan Tx2 perlu mengubah keadaan A, keadaan D, keadaan E
Metode paralelisasi mutakhir untuk EVMs¹, seperti yang diimplementasikan oleh Sei, Aptos, dan Sui, berusaha untuk mengeksekusi semua langkah dalam setiap transaksi secara simultan. Bayangkan memperbesar tampilan pada satu adegan transaksi, dalam sistem-sistem ini transaksi dieksekusi dalam satu tinggi blok, terlepas dari sifat ketergantungan data yang tersebar (yaitu, mengakses bagian-bagian yang berbeda dari status kontrak). Akibatnya, jika langkah apapun dari status kontrak yang diakses bersifat berbagi atau diperbarui antara dua transaksi, mereka diidentifikasi sebagai konflik baca-tulis atau tulis-tulis dan tidak dapat dieksekusi secara paralel, menghambat throughput dan skalabilitas keseluruhan sistem. Situasi ini memburuk secara signifikan ketika aktivitas on-chain tiba-tiba melonjak.
PREDA mengambil pendekatan yang baru dan berbeda dari sistem yang disebutkan di atas. Ini mengadopsi model eksekusi kontrak pintar yang mengimplementasikan dekomposabilitas asinkron, di mana langkah-langkah transaksi didekomposisikan berdasarkan dependensi akses data mereka, memungkinkan langkah-langkah untuk dieksekusi secara asinkron. Model eksekusi PREDA menghasilkan efisiensi yang lebih besar dan secara teoritis skalabilitas yang tak terbatas. Kami akan menyelami lebih lanjut bagaimana PREDA mencapai ini dan mendemonstrasikan hasil eksperimental untuk mendukung klaim ini.
Transaksi transfer token ETH historis diulang untuk mengevaluasi Sei (V2), Aptos, Sui, dan PREDA, berdasarkan throughput dan skalabilitas. Perlu diperhatikan bahwa evaluasi kami menggunakan transaksi transfer token ETH historis dunia nyata daripada membuat seperangkat transaksi transfer antara pasangan alamat acak. Transaksi acak akan menghasilkan hasil eksperimental yang berlebihan atas kinerja dalam kasus dunia nyata karena transaksi dunia nyata melibatkan alamat yang terkait dengan satu cara atau lainnya, yang memperkenalkan sejumlah besar ketergantungan data.
Pengaturan Eksperimental adalah sebagai berikut:
Perbandingan dalam Gambar 1 menekankan kebutuhan untuk mengadopsi model pemrograman PREDA untuk mencapai peningkatan signifikan dalam throughput. PREDA menunjukkan TPS yang lebih tinggi 3,3X — 28,2X dari Aptos untuk transaksi transfer historis nyata di jaringan Ethereum.
Karena sistem-sistem ini diimplementasikan dalam bahasa yang berbeda (termasuk Go, Rust, dan C++) dan mesin virtual yang berbeda, kami mengevaluasi skalabilitas dari sistem-sistem yang berbeda berdasarkan kecepatan relatif terhadap dasar penggunaan sebuah EVM tunggal, untuk menghilangkan dampak dari implementasi sistem yang berbeda.
Gambar 1. Angka throughput absolut dalam TPS dari kontrak pintar transfer token setara yang dieksekusi di Sei, Aptos, Sui, dan PREDA
Gambar 2. Peningkatan Kecepatan Relatif untuk Aptos, Sui, Sei, dan PREDA dibandingkan dengan dasar mereka sendiri
Untuk memudahkan pemahaman tentang PREDA bagi siapa pun yang akrab dengan parallel EVM, ada dua jenis mekanisme paralelisasi khas dalam sistem blockchain EVM paralel saat ini¹.
Kedua metode tersebut mengikuti Arsitektur Shared-everything dan memperlakukan sebuah transaksi sebagai keseluruhan dalam pengendalian konkurensi; semua langkah (misalnya, mengakses berbagai status kontrak) tidak dapat didekomposisi dan harus dieksekusi secara sinkron. Model PREDA mengusulkan @devteam_48518/crystality-the-parallel-evm-model-implementing-shared-nothing-architecture-8d82fc0a836a">Arsitektur Shared-nothing untuk memutus ketergantungan status dan memastikan instansi EVM yang berbeda tidak akan pernah mengakses bagian kontrak yang sama, menghindari konflik tulisan sepenuhnya.
Pada intinya, PREDA memperkenalkan Ruang Kontrak Terprogram untuk mendekomposisi status kontrak menjadi bagian-bagian yang tidak tumpang tindih, dapat diparalelkan dengan granularitas yang baik, dan Rele Fungsional Asynchronous untuk menggambarkan alur eksekusi yang beralih di antara berbagai EVM.
Untuk lebih menjelaskan apa yang dimaksud dengan konsep-konsep ini, dalam PREDA, fungsi kontrak dipecah menjadi beberapa langkah yang terurut, masing-masing mengandalkan satu bagian dari keadaan yang dapat diparalelkan tanpa konflik. Transaksi yang diinisiasi oleh pengguna pertama kali diarahkan ke EVM yang menyimpan keadaan alamat pengguna dengan cara yang deterministik, misalnya dengan menggunakan metode pemetaan alamat pengguna ke EVM. Selama eksekusi transaksi, alur eksekusi dapat beralih dari satu EVM ke yang lain yang menyimpan keadaan kontrak yang diinginkan dengan mengeluarkan transaksi relay. Dengan cara ini, PREDA menjaga data tetap diam sambil memindahkan alur eksekusi di sekitar EVM sesuai dengan dependensi data.
Pada setiap EVM, transaksi yang diinisiasi oleh pengguna dan transaksi relay diurutkan dan dieksekusi secara berurutan, sedangkan transaksi pada EVM yang berbeda dieksekusi secara bersamaan karena tidak ada ketergantungan data antara EVM. Mekanisme ini menghindari re-eksekusi yang berkaitan dengan konflik dalam metode berbasis paralelisme optimis dan kebutuhan untuk menganalisis ketergantungan status saat runtime dan overhead penguncian/pembukaan dalam pendekatan berbasis paralelisme pesimis. Oleh karena itu, PREDA menyediakan arsitektur paralel dan shared-nothing untuk sistem blockchain, berbeda dengan arsitektur berurutan dan shared-everything baik di Solidity maupun Move, yang dapat menyebabkan overhead kendali konkurensi yang signifikan.
Kami mengimplementasikan model pemrograman PREDA sebagai bahasa yang mirip Algo, mirip dengan C/C++ dan Javascript. Berikut adalah fungsi transfer token yang disederhanakan dalam Solidity dan bahasa PREDA.
Kode Solidity di Gambar (a) menampilkan sebuah state kontrak (balances) yang mewakili saldo alamat dan sebuah fungsi transfer untuk mentransfer jumlah token tertentu dari pengirim transaksi (msg.sender) ke penerima (payee).
Pada implementasi PREDA yang ditunjukkan dalam Gambar (b), kata kunci @addressmendefinisikan cakupan kontrak yang dapat diprogram, di mana status kontrak yang dimiliki oleh variabel kontrak (saldo) dipartisi berdasarkan alamat, dan tersebar serta dikelola oleh EVM. Kata kunci relay mengidentifikasi relay fungsional asinkron.
Ada tiga bagian dalam implementasi PREDA. Pada bagian (1), kata kunci @addressmendefinisikan saldo pengguna, memberikan deskripsi status yang terperinci dan terpisah. Variabel cakupan alamat saldo memiliki instansi unik untuk setiap alamat pengguna. Instansi dari alamat pengguna yang berbeda diakses dan dipelihara oleh EVM yang berbeda yang tidak tumpang tindih. Fungsi transfer didefinisikan dalam cakupan alamat yang sama di bagian (2), dipanggil dengan menyediakan alamat pembayar sebagai cakupan target saat menginisialisasi transaksi transfer oleh pengguna. Pada bagian (3), untuk melanjutkan deposit kepada penerima setelah penarikan yang berhasil, relay diinisiasi dengan alamat penerima sebagai cakupan target, menambahkan dana ke saldo penerima dan dieksekusi oleh EVM yang menghosting instansi saldo dari alamat penerima.
Alur eksekusi transaksi transfer token di PREDA
Gambar di atas menunjukkan alur eksekusi dari transaksi transfer token dalam sistem EVM paralel PREDA. Bob memulai transaksi untuk memanggil fungsi transfer, yang akan diarahkan ke EVM yang memegang saldo Bob dan penarikannya dieksekusi di sana. Setelah itu, transaksi relay dikeluarkan dan diarahkan ke EVM yang memegang saldo Alice dan depositnya dieksekusi. Paralelisasi terjadi dalam dua cara:
PREDA menandai kemajuan besar dalam kinerja blockchain dan, yang lebih penting, skalabilitas. Dengan menerapkan dekomposabilitas asinkron, ini memungkinkan pemrosesan transaksi yang efisien tanpa bottleneck dari model paralelisasi sinkron konvensional. Pendekatan ini mendekomposisi transaksi menjadi mikro-transaksi sesuai dengan ketergantungan data, memungkinkan perubahan status bersamaan dan menghindari konflik tulisan sepenuhnya.
KEGEMARAN PREDA melampaui hanya menggunakan@addressuntuk mempartisi status kontrak berdasarkan alamat. Ini memungkinkan jenis partisi yang disesuaikan dengan kata kunci seperti @jenis, di mana tipe nya bisa berupa jenis dasar Solidity apa pun seperti @uint. Selain itu, PREDA mendukung status kontrak yang tidak dipartisi dengan @globalmemastikan setiap EVM mempertahankan nilai yang konsisten untuk keadaan-keadaan tersebut. Fleksibilitas dalam pembagian keadaan ini meningkatkan adaptabilitas dan efektivitas model ini di berbagai kontrak pintar.
Percobaan kami menunjukkan bahwa PREDA jauh lebih unggul daripada metode paralelisasi lainnya, mencapai throughput dan skalabilitas yang lebih tinggi. Artikel terbaru tim PREDA akan membahas lebih jauh temuan kami, menawarkan perbandingan yang lebih komprehensif dengan berbagai jenis kontrak pintar dan analisis mendalam terhadap model pemrograman dan bahasa PREDA. Tetap terhubung untuk eksplorasi yang lebih detail ini.
Bayangkan ini: Anda berada di dapur yang sibuk di mana para koki harus menunggu salah satu selesai memotong sayuran sebelum yang lain bisa mulai memanggang kentang. Terdengar sangat lambat dan tidak efisien, bukan? Itulah seperti apa eksekusi sinkron dalam komputasi dan blockchain: satu tugas harus selesai sebelum yang berikutnya bisa dimulai. Sekarang, bayangkan dapur yang terkoordinasi dengan baik di mana setiap koki bekerja pada bagian-bagian berbeda dari beberapa hidangan secara bersamaan, menyiapkan bahan, memasak, dan menyajikan semua sekaligus. Itulah eksekusi asinkron — tugas-tugas berjalan secara bersamaan, menciptakan alur kerja yang lebih efisien dan cepat.
Di persimpangan evolusi blockchain, komposabilitas sinkron telah menjadi kata yang sering digunakan karena tampaknya menawarkan solusi untuk menyatukan lapisan rollup layer 2 yang terfragmentasi di jaringan Ethereum. Pendekatan ini mengatasi UX dan DevEx yang buruk di mana bahkan transfer sederhana antara lapisan 2 dapat menghabiskan biaya dan memakan waktu hingga 7 hari.Keterlibatan Vitalikdalam debat-debat ini menyoroti bahwa sinkronisasi universal tidak necessarily merupakan persyaratan untuk menyelesaikan masalah-masalah ini. Kami setuju bahwa pelaksanaan terjemahan yang efektif tidak harus melibatkan sinkronisasi, dan ada biaya nyata untuk membangun dan menjaga infrastruktur yang sinkron. Kami percaya bahwa ini bukan pilihan biner antara semuanya sinkron atau asinkron. Keduanya dapat berdampingan secara ad hoc, dengan kemungkinan pergeseran ke yang terakhir.
Dalam upaya meningkatkan kinerja skala dalam teknologi blockchain, eksekusi paralel dari kontrak pintar individu telah menarik perhatian yang signifikan. Secara konvensional, kinerja setiap kontrak pintar terbatas oleh kemampuan mesin virtual tunggal (EVM), bahkan dengan munculnya sistem multi-rantai atau Layer-2. Mesin virtual paralel menawarkan solusi yang menjanjikan, memungkinkan transaksi kontrak pintar tunggal dieksekusi secara bersamaan, dengan demikian memanfaatkan lebih banyak inti CPU untuk kinerja yang lebih baik.
Parallel Relay-Execution Distributed Architecture (PREDA) adalah model pemrograman terdistribusi, fungsional, berorientasi cakupan, dan tingkat tinggi yang dirancang untuk kontrak pintar umum yang secara inheren parallelized pada sistem blockchain multi-EVM yang didistribusikan. Dari perspektif sistem, PREDA membuat EVM parallel dapat didekomposisi dan asinkron, memungkinkan paralelisasi penuh fungsi kontrak dan memaksimalkan konkurensi rangkaian transaksi. Hal ini memastikan bahwa semua contoh EVM dapat dimanfaatkan secara maksimal, mencapai kinerja dan skalabilitas optimal.
Sebelum masuk ke detail-detail penting, mari kita pertama-tama menjelaskan apa yang dimaksud dengan beberapa istilah kunci dalam tulisan ini:
Tx1= Transaksi 1
Tx2= Transaksi 2
Kami mengasumsikan bahwa,
Pelaksanaan Tx1 perlu mengubah keadaan A, keadaan B, keadaan C
Pelaksanaan Tx2 perlu mengubah keadaan A, keadaan D, keadaan E
Metode paralelisasi mutakhir untuk EVMs¹, seperti yang diimplementasikan oleh Sei, Aptos, dan Sui, berusaha untuk mengeksekusi semua langkah dalam setiap transaksi secara simultan. Bayangkan memperbesar tampilan pada satu adegan transaksi, dalam sistem-sistem ini transaksi dieksekusi dalam satu tinggi blok, terlepas dari sifat ketergantungan data yang tersebar (yaitu, mengakses bagian-bagian yang berbeda dari status kontrak). Akibatnya, jika langkah apapun dari status kontrak yang diakses bersifat berbagi atau diperbarui antara dua transaksi, mereka diidentifikasi sebagai konflik baca-tulis atau tulis-tulis dan tidak dapat dieksekusi secara paralel, menghambat throughput dan skalabilitas keseluruhan sistem. Situasi ini memburuk secara signifikan ketika aktivitas on-chain tiba-tiba melonjak.
PREDA mengambil pendekatan yang baru dan berbeda dari sistem yang disebutkan di atas. Ini mengadopsi model eksekusi kontrak pintar yang mengimplementasikan dekomposabilitas asinkron, di mana langkah-langkah transaksi didekomposisikan berdasarkan dependensi akses data mereka, memungkinkan langkah-langkah untuk dieksekusi secara asinkron. Model eksekusi PREDA menghasilkan efisiensi yang lebih besar dan secara teoritis skalabilitas yang tak terbatas. Kami akan menyelami lebih lanjut bagaimana PREDA mencapai ini dan mendemonstrasikan hasil eksperimental untuk mendukung klaim ini.
Transaksi transfer token ETH historis diulang untuk mengevaluasi Sei (V2), Aptos, Sui, dan PREDA, berdasarkan throughput dan skalabilitas. Perlu diperhatikan bahwa evaluasi kami menggunakan transaksi transfer token ETH historis dunia nyata daripada membuat seperangkat transaksi transfer antara pasangan alamat acak. Transaksi acak akan menghasilkan hasil eksperimental yang berlebihan atas kinerja dalam kasus dunia nyata karena transaksi dunia nyata melibatkan alamat yang terkait dengan satu cara atau lainnya, yang memperkenalkan sejumlah besar ketergantungan data.
Pengaturan Eksperimental adalah sebagai berikut:
Perbandingan dalam Gambar 1 menekankan kebutuhan untuk mengadopsi model pemrograman PREDA untuk mencapai peningkatan signifikan dalam throughput. PREDA menunjukkan TPS yang lebih tinggi 3,3X — 28,2X dari Aptos untuk transaksi transfer historis nyata di jaringan Ethereum.
Karena sistem-sistem ini diimplementasikan dalam bahasa yang berbeda (termasuk Go, Rust, dan C++) dan mesin virtual yang berbeda, kami mengevaluasi skalabilitas dari sistem-sistem yang berbeda berdasarkan kecepatan relatif terhadap dasar penggunaan sebuah EVM tunggal, untuk menghilangkan dampak dari implementasi sistem yang berbeda.
Gambar 1. Angka throughput absolut dalam TPS dari kontrak pintar transfer token setara yang dieksekusi di Sei, Aptos, Sui, dan PREDA
Gambar 2. Peningkatan Kecepatan Relatif untuk Aptos, Sui, Sei, dan PREDA dibandingkan dengan dasar mereka sendiri
Untuk memudahkan pemahaman tentang PREDA bagi siapa pun yang akrab dengan parallel EVM, ada dua jenis mekanisme paralelisasi khas dalam sistem blockchain EVM paralel saat ini¹.
Kedua metode tersebut mengikuti Arsitektur Shared-everything dan memperlakukan sebuah transaksi sebagai keseluruhan dalam pengendalian konkurensi; semua langkah (misalnya, mengakses berbagai status kontrak) tidak dapat didekomposisi dan harus dieksekusi secara sinkron. Model PREDA mengusulkan @devteam_48518/crystality-the-parallel-evm-model-implementing-shared-nothing-architecture-8d82fc0a836a">Arsitektur Shared-nothing untuk memutus ketergantungan status dan memastikan instansi EVM yang berbeda tidak akan pernah mengakses bagian kontrak yang sama, menghindari konflik tulisan sepenuhnya.
Pada intinya, PREDA memperkenalkan Ruang Kontrak Terprogram untuk mendekomposisi status kontrak menjadi bagian-bagian yang tidak tumpang tindih, dapat diparalelkan dengan granularitas yang baik, dan Rele Fungsional Asynchronous untuk menggambarkan alur eksekusi yang beralih di antara berbagai EVM.
Untuk lebih menjelaskan apa yang dimaksud dengan konsep-konsep ini, dalam PREDA, fungsi kontrak dipecah menjadi beberapa langkah yang terurut, masing-masing mengandalkan satu bagian dari keadaan yang dapat diparalelkan tanpa konflik. Transaksi yang diinisiasi oleh pengguna pertama kali diarahkan ke EVM yang menyimpan keadaan alamat pengguna dengan cara yang deterministik, misalnya dengan menggunakan metode pemetaan alamat pengguna ke EVM. Selama eksekusi transaksi, alur eksekusi dapat beralih dari satu EVM ke yang lain yang menyimpan keadaan kontrak yang diinginkan dengan mengeluarkan transaksi relay. Dengan cara ini, PREDA menjaga data tetap diam sambil memindahkan alur eksekusi di sekitar EVM sesuai dengan dependensi data.
Pada setiap EVM, transaksi yang diinisiasi oleh pengguna dan transaksi relay diurutkan dan dieksekusi secara berurutan, sedangkan transaksi pada EVM yang berbeda dieksekusi secara bersamaan karena tidak ada ketergantungan data antara EVM. Mekanisme ini menghindari re-eksekusi yang berkaitan dengan konflik dalam metode berbasis paralelisme optimis dan kebutuhan untuk menganalisis ketergantungan status saat runtime dan overhead penguncian/pembukaan dalam pendekatan berbasis paralelisme pesimis. Oleh karena itu, PREDA menyediakan arsitektur paralel dan shared-nothing untuk sistem blockchain, berbeda dengan arsitektur berurutan dan shared-everything baik di Solidity maupun Move, yang dapat menyebabkan overhead kendali konkurensi yang signifikan.
Kami mengimplementasikan model pemrograman PREDA sebagai bahasa yang mirip Algo, mirip dengan C/C++ dan Javascript. Berikut adalah fungsi transfer token yang disederhanakan dalam Solidity dan bahasa PREDA.
Kode Solidity di Gambar (a) menampilkan sebuah state kontrak (balances) yang mewakili saldo alamat dan sebuah fungsi transfer untuk mentransfer jumlah token tertentu dari pengirim transaksi (msg.sender) ke penerima (payee).
Pada implementasi PREDA yang ditunjukkan dalam Gambar (b), kata kunci @addressmendefinisikan cakupan kontrak yang dapat diprogram, di mana status kontrak yang dimiliki oleh variabel kontrak (saldo) dipartisi berdasarkan alamat, dan tersebar serta dikelola oleh EVM. Kata kunci relay mengidentifikasi relay fungsional asinkron.
Ada tiga bagian dalam implementasi PREDA. Pada bagian (1), kata kunci @addressmendefinisikan saldo pengguna, memberikan deskripsi status yang terperinci dan terpisah. Variabel cakupan alamat saldo memiliki instansi unik untuk setiap alamat pengguna. Instansi dari alamat pengguna yang berbeda diakses dan dipelihara oleh EVM yang berbeda yang tidak tumpang tindih. Fungsi transfer didefinisikan dalam cakupan alamat yang sama di bagian (2), dipanggil dengan menyediakan alamat pembayar sebagai cakupan target saat menginisialisasi transaksi transfer oleh pengguna. Pada bagian (3), untuk melanjutkan deposit kepada penerima setelah penarikan yang berhasil, relay diinisiasi dengan alamat penerima sebagai cakupan target, menambahkan dana ke saldo penerima dan dieksekusi oleh EVM yang menghosting instansi saldo dari alamat penerima.
Alur eksekusi transaksi transfer token di PREDA
Gambar di atas menunjukkan alur eksekusi dari transaksi transfer token dalam sistem EVM paralel PREDA. Bob memulai transaksi untuk memanggil fungsi transfer, yang akan diarahkan ke EVM yang memegang saldo Bob dan penarikannya dieksekusi di sana. Setelah itu, transaksi relay dikeluarkan dan diarahkan ke EVM yang memegang saldo Alice dan depositnya dieksekusi. Paralelisasi terjadi dalam dua cara:
PREDA menandai kemajuan besar dalam kinerja blockchain dan, yang lebih penting, skalabilitas. Dengan menerapkan dekomposabilitas asinkron, ini memungkinkan pemrosesan transaksi yang efisien tanpa bottleneck dari model paralelisasi sinkron konvensional. Pendekatan ini mendekomposisi transaksi menjadi mikro-transaksi sesuai dengan ketergantungan data, memungkinkan perubahan status bersamaan dan menghindari konflik tulisan sepenuhnya.
KEGEMARAN PREDA melampaui hanya menggunakan@addressuntuk mempartisi status kontrak berdasarkan alamat. Ini memungkinkan jenis partisi yang disesuaikan dengan kata kunci seperti @jenis, di mana tipe nya bisa berupa jenis dasar Solidity apa pun seperti @uint. Selain itu, PREDA mendukung status kontrak yang tidak dipartisi dengan @globalmemastikan setiap EVM mempertahankan nilai yang konsisten untuk keadaan-keadaan tersebut. Fleksibilitas dalam pembagian keadaan ini meningkatkan adaptabilitas dan efektivitas model ini di berbagai kontrak pintar.
Percobaan kami menunjukkan bahwa PREDA jauh lebih unggul daripada metode paralelisasi lainnya, mencapai throughput dan skalabilitas yang lebih tinggi. Artikel terbaru tim PREDA akan membahas lebih jauh temuan kami, menawarkan perbandingan yang lebih komprehensif dengan berbagai jenis kontrak pintar dan analisis mendalam terhadap model pemrograman dan bahasa PREDA. Tetap terhubung untuk eksplorasi yang lebih detail ini.