Eksekusi Paralel: Generasi Berikutnya dari Blockchain

Lanjutan5/20/2024, 4:55:29 AM
Artikel ini menjelajahi aplikasi teknologi eksekusi paralel di domain blockchain, khususnya bagaimana teknologi ini meningkatkan efisiensi transaksi, mengurangi biaya, dan meningkatkan pengalaman pengguna. Solana, sebagai pelopor eksekusi paralel, menunjukkan keunggulannya dalam kecepatan pemrosesan dan throughput. Artikel ini memberikan penjelasan rinci tentang bagaimana transaksi blockchain bekerja, termasuk siklus transaksi, peran mempool, dan operasi blockchain tanpa mempool. Eksekusi paralel memungkinkan blockchain untuk memproses beberapa transaksi non-konflik secara bersamaan, sehingga meningkatkan throughput jaringan dan skalabilitas. Artikel ini juga membahas berbagai model eksekusi paralel, termasuk model deterministik dan optimis, serta menganalisis tim dan proyek yang mendorong eksekusi paralel di pasar, seperti Solana, Parallel EVM, Sei Network, Monad, bahasa Move, Aptos, Sui, dan Movement Labs.

Pendahuluan

1.0 Transaksi Blockchain

Blockchain adalah mesin virtual, sebuah model komputasi berbasis perangkat lunak yang berjalan di atas jaringan terdistribusi dari komputer fisik yang dapat diikuti oleh siapa pun tetapi sangat sulit untuk dikendalikan oleh entitas tunggal manapun. Konsep blockchain pertama kali diuraikan dalam whitepaper Bitcoin yang terkenal pada tahun 2008 oleh Satoshi Nakomoto, sebagai infrastruktur inti yang memungkinkan pembayaran peer-to-peer yang diamankan secara kriptografis dalam Bitcoin. Transaksi adalah untuk blockchain apa yang log adalah untuk perusahaan media sosial dan internet; mereka berfungsi sebagai catatan aktivitas untuk jaringan tertentu, perbedaan utamanya adalah bahwa transaksi pada blockchain bersifat tidak dapat diubah dan seringkali dapat diamati secara publik.

Terima kasih telah membaca Shoal Research! Berlangganan gratis untuk menerima pos baru dan mendukung karya saya.

Berlangganan

Tapi apa sebenarnya transaksi itu?

Transaksi di blockchain melibatkan transfer aset digital dari satu alamat di buku besar terdistribusi ke alamat lain, yang diamankan dengan menggunakan kriptografi kunci publik. Transaksi dapat digunakan untuk transfer peer to peer terdesentralisasi, atau untuk berbagai proses otentikasi dan verifikasi juga.


Sebuah contoh transaksi yang dapat diamati oleh siapa pun di penjelajah blockchain seperti SeiTrace

1.1 Bagaimana Transaksi Blockchain Bekerja

Ketika transaksi diinisiasi, yaitu Bob mengirim beberapa token ke Alice, transaksi Bob disiarkan ke jaringan blockchain yang mendasarinya. Selanjutnya, kelompok simpul khusus di jaringan mulai memverifikasi dan memvalidasi transaksi sebagai sah. Begitu cukup banyak simpul ini telah memverifikasi isi transaksi, transaksi tersebut ditambahkan ke dalam blok bersama transaksi pengguna lainnya. Begitu sebuah blok penuh, maka blok tersebut ditambahkan ke dalam rantai, oleh karena itu nama 'blockchain'. Transaksi Bob sekarang menjadi bagian dari buku besar yang aman dan transparan, dan dia serta Alice dapat memverifikasi isi tersebut.

Secara umum, semua transaksi blockchain mengandung metadata yang membantu node-node yang menjalankan dan mengamankan jaringan mengidentifikasi dan menjalankan serangkaian instruksi dan parameter yang diberikan. Setiap transaksi akan memiliki data input tingkat tinggi oleh pengirim asli, seperti jumlah yang akan ditransfer, alamat tujuan, dan tanda tangan digital untuk mengonfirmasi transaksi, serta berbagai data tingkat rendah yang dibuat dan dilampirkan secara otomatis, meskipun data ini bervariasi menurut jaringan dan desain.

Pada akhirnya, bagaimanapun, proses yang terlibat di balik layar pada lapisan jaringan sebelum pelaksanaan transaksi bervariasi sesuai dengan desain blockchain.

1.1.1 Mempool

Memory pool, atau mempool, adalah fitur umum dari desain blockchain, diimplementasikan oleh jaringan blockchain tradisional seperti Bitcoin dan Ethereum. Mempool hanyalah zona buffer, atau 'ruang tunggu', untuk transaksi yang tertunda yang belum ditambahkan ke blok dan dieksekusi.

Untuk lebih memahami, kita bisa menjabarkan siklus hidup transaksi pada blockchain yang menggunakan mempool;

  1. Pengguna memulai dan menandatangani transaksi.
  2. Node khusus yang berpartisipasi dalam jaringan blockchain memverifikasi konten transaksi agar sah dan mengandung parameter yang sesuai.
  3. Setelah diverifikasi, transaksi tersebut dirutekan ke mempool publik bersama transaksi tertunda lainnya.
  4. Akhirnya, tergantung pada biaya gas yang dibayarkan untuk transaksi relatif terhadap transaksi lain di mempool, transaksi tertunda pengguna kami dipilih dengan sekelompok transaksi tertunda lainnya untuk membentuk blok berikutnya di blockchain. Pada tahap ini, status transaksi kami akan terbaca "Berhasil".
  5. Setelah waktu tertentu atau ambang batas berbasis blok telah berlalu, blok itu sendiri difinalisasi dan transaksi menjadi catatan log yang tidak dapat diubah yang tercatat di blockchain, yang hanya bisa dikompromikan dalam kasus serangan 51%, tugas yang sangat sulit dilakukan di luar itu.

1.1.2. Tidak Ada Mempool (Solana)

Penting untuk dicatat bahwa beberapa blockchain, seperti Solana, tidak menggunakan mempool, dan mungkin malah meneruskan transaksi langsung ke produsen blok sebagai cara untuk memungkinkan kecepatan dan throughput tinggi melalui produksi blok yang berkelanjutan.

Mari kita jelajahi siklus hidup transaksi di blockchain non-mempool:

  1. Pengguna memulai dan menandatangani transaksi untuk aplikasi yang mereka gunakan.
  2. Aplikasi mengarahkan informasi transaksi ke server Remote Procedure Call (RPC).
  3. Penyedia RPC mengirimkan transaksi ke produsen blok yang ditunjuk saat ini, dan tiga produsen berikutnya; ini adalah langkah pencegahan jika pemimpin saat ini tidak dapat mengeksekusi transaksi tepat waktu. Solana menggunakan jadwal pemimpin slot yang membantu RPC untuk merute transaksi lebih mudah.
  4. Produsen blok kemudian mengirimkan transaksi yang ditandatangani ke node konsensus untuk diverifikasi.
  5. Node konsensus memilih untuk memverifikasi isi transaksi, dan setelah selesai, status transaksi kemudian dikirim kembali ke RPC > aplikasi > pengguna sebagai 'berhasil' atau 'gagal'.
  6. Sama seperti blockchain berbasis mempool, blok itu sendiri difinalisasi setelah waktu tertentu atau ambang batas berbasis blok telah berlalu.

1.2 Eksekusi Berurutan

Blockchain yang lebih tua, yaitu Bitcoin dan Ethereum, menggunakan mekanisme eksekusi berurutan untuk transaksi. Setiap transaksi yang ditambahkan ke dalam blockchain memanggil perubahan dalam keadaan jaringan, dan VM terstruktur untuk hanya memproses satu perubahan keadaan pada satu waktu untuk tujuan keamanan.

Hal ini telah menyebabkan bottleneck signifikan bagi throughput jaringan yang mendasarinya, karena jumlah transaksi yang dapat ditambahkan ke blok menjadi terbatas, menyebabkan waktu tunggu yang lebih lama dan lonjakan biaya transaksi yang belum pernah terjadi sebelumnya yang dapat membuat jaringan tidak dapat digunakan kadang-kadang. Selain itu, model eksekusi berurutan menggunakan komponen hardware dengan tidak efisien, dan oleh karena itu tidak mendapat manfaat dari terobosan dalam komputasi, yaitu inti prosesor ganda.

Eksekusi Paralel

2.0 Apa itu Eksekusi Paralel?

Komputasi paralel adalah komponen kunci dari arsitektur komputer yang asal-usulnya dapat ditelusuri sejauh akhir 1950-an, meskipun ide dan teorinya bahkan telah dilacak kembali hingga 1837. Menurut definisi, komputasi paralel merujuk pada tindakan memanfaatkan beberapa elemen pemrosesan secara bersamaan untuk menyelesaikan suatu operasi, di mana tugas yang lebih besar dan kompleks dibagi menjadi yang lebih kecil untuk diselesaikan lebih efisien daripada secara serial.

Awalnya hanya diimplementasikan dalam sistem komputasi kinerja tinggi, komputasi paralel telah berkembang menjadi paradigma dominan dalam arsitektur komputer saat ini, karena permintaan komputasi telah meningkat secara eksponensial di era internet, yang diperparah oleh batasan penskalaan frekuensi dalam beberapa dekade sebelumnya.

Standar arsitektur ini berlaku untuk blockchain dengan cara yang sama, hanya saja tugas utama yang diselesaikan oleh komputer adalah pemrosesan dan pelaksanaan transaksi, atau transfer nilai dari kontrak pintar A ke kontrak pintar B, oleh karena itu istilah eksekusi paralel.

Pelaksanaan paralel berarti bahwa alih-alih memproses transaksi secara serial, blockchain dapat memproses beberapa transaksi non-konflik secara bersamaan. Hal ini dapat meningkatkan throughput jaringan blockchain secara signifikan, membuatnya lebih dapat diskalakan dan efisien untuk menangani beban aktivitas dan permintaan ruang blok yang lebih tinggi.

Untuk analogi yang lebih sederhana, pertimbangkan efisiensi toko kelontong dengan beberapa jalur untuk pembeli check out, dibandingkan dengan hanya satu untuk semua orang.

Mengapa Pelaksanaan Paralel Penting?

Eksekusi paralel dalam blockchain dirancang untuk membuka efisiensi dalam kecepatan dan kinerja jaringan, terutama saat jaringan melihat lonjakan lalu lintas dan permintaan sumber daya yang lebih tinggi. Dalam konteks ekosistem kripto, eksekusi paralel berarti bahwa jika Bob ingin mencetak koleksi NFT populer terbaru, dan Alice ingin membeli memecoin favoritnya, jaringan akan melayani kedua pengguna tanpa mengorbankan kualitas dalam kinerja dan oleh karena itu pengalaman pengguna.

Sementara ini mungkin terdengar sebagai fitur kualitas hidup yang intuitif, pembukaan kinerja jaringan yang dimungkinkan oleh eksekusi paralel memberikan jalan bagi pengembangan kasus penggunaan dan aplikasi baru dan inovatif yang dapat memanfaatkan latensi rendah dan volume tinggi, yang pada dasarnya membentuk dasar untuk memasukkan kohort massa pengguna berikutnya ke dalam ekosistem kripto.

Bagaimana Cara Kerja Eksekusi Paralel?

Meskipun premis pelaksanaan paralel relatif mudah dipahami, nuansa dalam desain blockchain yang mendasar memengaruhi bagaimana proses pelaksanaan paralel itu sendiri berjalan. Fitur paling relevan dalam merancang blockchain dengan pelaksanaan paralel adalah kemampuan transaksi untuk mengakses status jaringan yang mendasarinya, termasuk saldo akun, penyimpanan, dan kontrak pintar.

Eksekusi paralel pada blockchain dapat dikategorikan sebagai deterministik atau optimis. Eksekusi paralel deterministik, digunakan oleh blockchain seperti Solana, secara inheren memerlukan transaksi untuk mendeklarasikan semua ketergantungan memori di depan, yaitu bagian dari status global yang ingin mereka akses di depan. Meskipun langkah ini menciptakan overhead tambahan bagi pengembang, secara lebih luas ini memungkinkan jaringan untuk mengurutkan dan mengidentifikasi transaksi yang tidak bertentangan sebelum eksekusi, menciptakan sistem yang dioptimalkan yang dapat diprediksi dan efisien. Sebaliknya, eksekusi paralel optimis terstruktur untuk memproses semua transaksi secara paralel, beroperasi dengan asumsi inheren bahwa tidak ada konflik. Hal ini memungkinkan blockchain yang mendasarinya untuk memberikan eksekusi transaksi yang lebih cepat, meskipun dengan biaya re-eksekusi potensial setelahnya dalam kasus konflik. Jika dua transaksi yang bertentangan ditemukan telah diajukan, sistem kemudian dapat memproses dan mengeksekusinya kembali baik secara paralel maupun secara berurutan.

Untuk lebih memahami implikasi dari kerumitan desain ini, dapat membantu menganalisis eksekusi paralel melalui sudut pandang tim yang mendorong batas eksekusi paralel saat ini.

Keadaan Eksekusi Paralel Hari Ini

Untuk lebih memahami dampak dari kerumitan desain ini, dapat membantu menganalisis eksekusi paralel melalui sudut pandang tim yang mendorong batas eksekusi paralel saat ini.

3.1 Mesin Virtual Solana (SVM)

Solana adalah jaringan blockchain pertama yang dirancang sekitar eksekusi paralel, terinspirasi oleh pengalaman sebelumnya pendiri Anatoly Yakovenko di industri telekomunikasi. Solana bertujuan untuk menyediakan platform pengembang yang berjalan secepat fisika memungkinkan, oleh karena itu kecepatan dan efisiensi yang terbuka oleh komputasi paralel adalah pilihan desain yang sederhana dan intuitif.

Dalam lingkungan berbasis SM, Sealevel menggunakan arsitektur multi-threaded, yang berarti dapat memproses beberapa transaksi secara bersamaan sampai pada kapasitas inti validator.

Kunci untuk memungkinkan eksekusi paralel Solana adalah ketika sebuah transaksi diaktifkan, jaringan akan menetapkan daftar instruksi untuk transaksi tersebut dieksekusi, khususnya akun dan status mana yang akan diakses dan perubahan apa yang akan dilakukan - ini kunci untuk menentukan transaksi mana yang tidak konflik dan dapat dieksekusi secara bersamaan, serta memungkinkan transaksi yang mencoba mengakses status yang sama untuk melakukannya secara bersamaan.

Pertimbangkan efisiensi yang diberikan oleh label pada sistem bagasi yang diperiksa di bandara.

Solana juga menggunakan Cloudbreak, akunDB kustomnya sendiri, untuk menyimpan dan mengelola data status guna memungkinkan pembacaan dan penulisan transaksi secara bersamaan. Cloudbreak, dioptimalkan untuk eksekusi paralel, dapat meluas secara horizontal untuk mendistribusikan dan mengelola data status di berbagai node.

Berkat arsitektur paralelnya, Solana dapat menangani sejumlah besar transaksi dan masih menjalankan dengan cepat, memberikan finalitas hampir instan pada transaksi. Solana menangani antara 2.000 dan 10.000 transaksi per detik (TPS) rata-rata saat ini. Selain itu, kasus penggunaan untuk SVM secara perlahan namun pasti berkembang, seperti tim seperti Eclipse yang meluncurkan infrastruktur Layer 2 yang bertujuan untuk memanfaatkan SVM sebagai lingkungan eksekusi.

3.2 Parallel EVM

EVM Paralel menggambarkan lingkungan eksekusi baru untuk blockchain yang bertujuan untuk menghadirkan "yang terbaik dari kedua dunia" dari desain Solana dan Ethereum, dengan kecepatan dan kinerja Solana, serta keamanan dan likuiditas Ethereum. Dengan memproses transaksi secara paralel dan bukan berurutan sesuai desain EVM tradisional, EVM paralel memungkinkan pengembang untuk membangun aplikasi pada jaringan berkinerja tinggi sambil dapat memanfaatkan koneksi ke likuiditas EVM dan perkakas pengembang.

3.2.1 Jaringan Sei

Sei Network adalah blockchain Layer 1 sumber terbuka yang kompatibel dengan EVM dan menjadi tuan rumah berbagai aplikasi terdesentralisasi yang dibangun sekitar kinerja tinggi. Sei dibangun untuk memberikan kecepatan tinggi dengan biaya rendah bagi pengguna dan pengembang, dan eksekusi paralel adalah komponen kunci dalam memungkinkan kinerja dan UX ini. Saat ini, Sei memberikan waktu konfirmasi blok 390ms dan telah memproses lebih dari 1,9 miliar transaksi di mainnet pacific-nya.

Pada awalnya, Sei menggunakan model eksekusi paralel deterministik, di mana kontrak pintar menyatakan akses keadaan yang dibutuhkan mereka sebelum waktunya agar sistem dapat menjalankan transaksi non-konflik secara bersamaan. Dengan dimulainya upgrade V2 mereka, Sei beralih ke model paralel optimis, yang berarti semua transaksi akan diproses secara paralel setelah dikirimkan ke jaringan (tahap eksekusi), dan kemudian akan ditinjau untuk informasi konflik dengan transaksi sebelumnya (tahap validasi). Jika terdapat dua atau lebih transaksi yang konflik, yaitu transaksi yang mencoba mengakses keadaan jaringan yang sama, Sei mengidentifikasi titik konflik ini dan kemudian mengeksekusi ulang transaksi secara paralel atau berurutan tergantung pada sifat konflik tersebut.

Untuk menyimpan dan memelihara data transaksi, Sei juga akan memperkenalkan SeiDB, sebuah database kustom yang bertujuan untuk meningkatkan kekurangan dalam v1 dengan mengoptimalkan untuk eksekusi paralel. SeiDB bertujuan untuk mengurangi beban data yang redundan dan memelihara penggunaan disk yang efisien untuk performa jaringan yang lebih baik. V2 mengurangi jumlah metadata yang diperlukan untuk pelacakan dan penyimpanan, serta memungkinkan log tulis-terlebih-dahulu untuk membantu pemulihan data dalam kasus kegagalan.

Terakhir, Sei juga baru-baru ini mengumumkan peluncuran Parallel Stack-nya, sebuah kerangka open-source untuk memungkinkan solusi scaling Layer 2, yaitu rollups, untuk menggunakan dan mendapatkan manfaat dari eksekusi paralel.

3.2.2 Monad

Monad adalah blockchain Layer 1 paralel-EVM yang akan datang yang membawa kompatibilitas bytecode dan RPC penuh untuk aplikasi dan infrastruktur Ethereum. Melalui sejumlah implementasi teknis inovatif, Monad bertujuan untuk memberikan pengalaman yang lebih interaktif daripada blockchain yang ada sambil mempertahankan biaya transaksi yang lebih rendah dengan mengoptimalkan kinerja dan portabilitas, dengan waktu blok 1 detik dan finalitas dengan hingga 10.000 TPS.

Monad menerapkan eksekusi paralel dan pipelining superskalar untuk mengoptimalkan kecepatan dan throughput transaksi. Mirip dengan Sei v2, Monad akan menggunakan model eksekusi optimis, artinya jaringan mulai mengeksekusi semua transaksi masuk secara bersamaan, lalu menganalisis dan memvalidasi transaksi untuk mencari konflik dan mengeksekusi ulang sesuai kebutuhan, dengan tujuan akhirnya adalah hasilnya akan identik jika transaksi dieksekusi secara berurutan.

Penting untuk dicatat bahwa dalam mempertahankan sinkronisasi dengan Ethereum, Monad memesan transaksi dalam blok secara berurutan, dengan setiap transaksi diperbarui secara berurutan.

Untuk menjaga dan mengakses data blockchain lebih efisien daripada apa yang ditawarkan klien Ethereum saat ini, Monad menciptakan MonadDB khususnya sendiri, dibangun secara native untuk blockchain. Monad DB memanfaatkan fitur kernel Linux canggih untuk operasi disk asinkronis yang efisien, menghilangkan batasan akses input/output sinkron. MonadDB menawarkan akses input/output asinkron (async I/O), fitur kunci dalam memungkinkan eksekusi paralel, di mana sistem dapat mulai memproses transaksi berikutnya sambil menunggu untuk membaca status transaksi sebelumnya.

Untuk analogi sederhana, pertimbangkan memasak makanan berbagai macam (spaghetti dengan bakso). Langkah-langkah yang terlibat adalah 1) menyiapkan saus, 2) memasak bakso, dan c) memasak pasta. Seorang koki yang efisien akan memulai dengan merebus air untuk pasta, kemudian menyiapkan bahan untuk saus, kemudian memasukkan pasta ke dalam air yang sedang mendidih, kemudian memasak saus, dan akhirnya bakso, daripada melakukan setiap langkah satu per satu, menyelesaikan satu tugas secara keseluruhan sebelum melanjutkan.

3.3 Gerak

Move adalah bahasa pemrograman yang awalnya dikembangkan oleh tim Facebook pada tahun 2019 untuk proyek Diem yang sekarang sudah tidak aktif. Move dirancang untuk menangani kontrak pintar dan data transaksi secara aman, menghilangkan vektor serangan yang ada pada bahasa lain seperti serangan reentrancy.

MoveVM berfungsi sebagai lingkungan eksekusi asli untuk blockchain berbasis Move, memanfaatkan paralelisasi untuk memberikan kecepatan eksekusi transaksi yang lebih cepat dan efisiensi keseluruhan yang lebih besar.

3.3.1 Aptos

Aptos adalah blockchain Layer 1 berbasis Move yang dikembangkan oleh anggota proyek Diem sebelumnya, yang menerapkan eksekusi paralel untuk memberikan lingkungan kinerja tinggi bagi pengembang aplikasi. Aptos menggunakan Block-STM, implementasi modifikasi dari mekanisme kontrol konkurensi Software Transactional Memory (STM).

Block-STM adalah mesin eksekusi paralel berulir multi-threaded yang memungkinkan eksekusi paralel yang optimis. Transaksi diurutkan sebelumnya dan disusun secara strategis di dalam blok, yang merupakan kunci untuk menyelesaikan konflik secara efisien dan mengeksekusi ulang transaksi tersebut. Penelitian yang dilakukan oleh Aptos menemukan bahwa hingga 160K TPS secara teoritis dapat didukung menggunakan paralelisasi Block-STM.

3.3.2 Sui

Sama seperti Aptos, Sui adalah blockchain lapisan 1 yang dikembangkan oleh mantan anggota proyek Diem, yang menggunakan bahasa Move. Namun, Sui menggunakan implementasi khusus dari Move yang mengubah model penyimpanan dan izin aset dari desain Diem asli. Secara khusus, ini memungkinkan Sui untuk menggunakan model penyimpanan keadaan untuk mewakili transaksi independen sebagai objek. Setiap objek memiliki ID unik dalam lingkungan eksekusi Sui, dan dengan demikian, ini memungkinkan sistem untuk dengan mudah mengidentifikasi transaksi yang tidak bertentangan dan memprosesnya secara paralel.

Seperti Solana, Sui menerapkan eksekusi paralel yang deterministik, yang memerlukan transaksi untuk menyatakan akun mana yang perlu mereka akses sebelumnya.

3.3.3 Gerakan Laboratorium

Apa itu Gerakan?

Gerakan sedang membangun rangkaian perangkat pengembang dan layanan infrastruktur blockchain untuk memungkinkan pengembang dengan mudah mengakses manfaat membangun di Move. Beroperasi sebagai penyedia layanan eksekusi-layaknya AWS untuk pengembang Move, Gerakan menerapkan paralelisasi sebagai fitur desain inti untuk memungkinkan throughput yang lebih tinggi dan efisiensi jaringan secara keseluruhan yang lebih besar. MoveVM adalah lingkungan eksekusi modular yang memungkinkan jaringan blockchain untuk memperluas dan menyesuaikan kemampuan pemrosesan transaksi mereka sesuai kebutuhan untuk dapat mendukung volume transaksi yang semakin meningkat, memperkuat kemampuan mereka untuk memproses dan mengeksekusi transaksi secara paralel.

Arsitektur MoveVM

Gerakan juga akan meluncurkan M2, ZK-rollup yang akan interoperable dengan klien EVM dan Move sama. M2 akan mewarisi mesin paralelisasi Block-STM, dan diharapkan dapat memberikan puluhan ribu TPS sebagai hasilnya.

Pikiran Penutup

4.1 Tantangan Untuk Sistem Paralel Hari Ini

Beberapa pertanyaan penting dan pertimbangan yang perlu dipertimbangkan mengenai pengembangan blockchain paralel;

  • Apa tradeoff yang dilakukan jaringan untuk memungkinkan kinerja yang lebih baik melalui eksekusi paralel?
    • Lebih sedikit validator yang mengamankan jaringan memungkinkan kecepatan verifikasi dan eksekusi yang lebih cepat, tetapi apakah ini mengorbankan keamanan blockchain sehingga menjadi lebih mudah bagi validator untuk bersekongkol melawan jaringan?
    • Apakah ada jumlah validator yang signifikan yang ditempatkan bersama? Ini adalah strategi umum untuk meminimalkan laten dalam sistem kripto maupun non-kripto, tetapi apa yang terjadi pada jaringan jika pusat data tersebut dikompromikan?
  • Untuk sistem paralel optimis, apakah proses mengeksekusi ulang transaksi yang tidak valid menciptakan bottleneck saat jaringan berkembang? Bagaimana efisiensi ini diuji dan dievaluasi?

Pada tingkat yang tinggi, blockchain paralel menghadapi risiko inkonsistensi buku besar, yaitu pengeluaran ganda dan perubahan urutan transaksi (memang, ini adalah manfaat utama dari eksekusi sekuensial). Paralelisasi deterministik mengatasi hal ini dengan menciptakan sistem label internal untuk transaksi pada blockchain yang mendasarinya. Blockchain yang menerapkan pemrosesan optimis harus memastikan mekanisme yang mereka gunakan untuk memvalidasi dan mengeksekusi ulang transaksi adalah aman dan fungsional, dan kompromi yang dibuat untuk kinerja dapat diimplementasikan dengan wajar.

4.2 Prospek Masa Depan / Peluang

Sejarah komputer telah mengajarkan kepada kita bahwa sistem paralel cenderung lebih efisien dan dapat diskalakan dari waktu ke waktu daripada sistem sekuensial. Munculnya blockchain paralel pasca-Solana menekankan bahwa gagasan ini berlaku juga untuk infrastruktur kripto. Bahkan Vitalik telah menyebutkan paralelisasisebagai salah satu solusi kunci potensial untuk meningkatkan skalabilitas EVM rollups baru-baru ini. Secara umum, pertumbuhan adopsi kripto/blockchain menuntut sistem yang lebih optimal daripada yang tersedia saat ini, termasuk blockchain paralel. Kesulitan jaringan Solana baru-baru ini telah menyoroti bahwa masih banyak ruang untuk perbaikan dalam pengembangan blockchain paralel. Ketika tim-tim lebih banyak mencari untuk mendorong batas-batas perbatasan onchain dan menerima kohor pengguna dan adopsi berikutnya ke aplikasi dan ekosistem blockchain-native, model eksekusi paralel menyediakan kerangka kerja intuitif untuk membangun sistem yang dapat mengatasi aktivitas jaringan dalam skala yang sesuai dengan perusahaan Web2 dengan mudah.

Bukan saran keuangan atau pajak. Tujuan dari buletin ini murni bersifat edukatif dan seharusnya tidak dianggap sebagai saran investasi, saran hukum, permintaan untuk membeli atau menjual aset apa pun, atau saran untuk membuat keputusan keuangan. Ini bukan pengganti saran pajak. Silakan berkonsultasi dengan akuntan Anda dan lakukan riset sendiri.

Pengungkapan. Semua postingan adalah milik penulis sendiri, bukan pandangan dari majikan mereka. Postingan ini disponsori oleh Yayasan Aster. Meskipun Shoal Research telah menerima pendanaan untuk inisiatif ini, para sponsor tidak mempengaruhi konten analitis. Di Shoal Research, kami bertujuan untuk memastikan bahwa semua konten bersifat objektif dan independen. Proses peninjauan internal kami menjaga standar integritas tertinggi, dan semua potensi konflik kepentingan diungkapkan dan dikelola dengan ketat untuk menjaga kredibilitas dan independensi riset kami.

Penafian:

  1. Artikel ini dicetak ulang dari [Penelitian Shoal]. Semua hak cipta milik penulis asli [PAUL TIMOFEEV, MIKE JIN, DAN GABE TRAMBLE]. Jika ada keberatan terhadap pencetakan ulang ini, silakan hubungi Gate Belajartim, dan mereka akan menanganinya dengan cepat.
  2. Penyangkalan Tanggung Jawab: Pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan saran investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.

Eksekusi Paralel: Generasi Berikutnya dari Blockchain

Lanjutan5/20/2024, 4:55:29 AM
Artikel ini menjelajahi aplikasi teknologi eksekusi paralel di domain blockchain, khususnya bagaimana teknologi ini meningkatkan efisiensi transaksi, mengurangi biaya, dan meningkatkan pengalaman pengguna. Solana, sebagai pelopor eksekusi paralel, menunjukkan keunggulannya dalam kecepatan pemrosesan dan throughput. Artikel ini memberikan penjelasan rinci tentang bagaimana transaksi blockchain bekerja, termasuk siklus transaksi, peran mempool, dan operasi blockchain tanpa mempool. Eksekusi paralel memungkinkan blockchain untuk memproses beberapa transaksi non-konflik secara bersamaan, sehingga meningkatkan throughput jaringan dan skalabilitas. Artikel ini juga membahas berbagai model eksekusi paralel, termasuk model deterministik dan optimis, serta menganalisis tim dan proyek yang mendorong eksekusi paralel di pasar, seperti Solana, Parallel EVM, Sei Network, Monad, bahasa Move, Aptos, Sui, dan Movement Labs.

Pendahuluan

1.0 Transaksi Blockchain

Blockchain adalah mesin virtual, sebuah model komputasi berbasis perangkat lunak yang berjalan di atas jaringan terdistribusi dari komputer fisik yang dapat diikuti oleh siapa pun tetapi sangat sulit untuk dikendalikan oleh entitas tunggal manapun. Konsep blockchain pertama kali diuraikan dalam whitepaper Bitcoin yang terkenal pada tahun 2008 oleh Satoshi Nakomoto, sebagai infrastruktur inti yang memungkinkan pembayaran peer-to-peer yang diamankan secara kriptografis dalam Bitcoin. Transaksi adalah untuk blockchain apa yang log adalah untuk perusahaan media sosial dan internet; mereka berfungsi sebagai catatan aktivitas untuk jaringan tertentu, perbedaan utamanya adalah bahwa transaksi pada blockchain bersifat tidak dapat diubah dan seringkali dapat diamati secara publik.

Terima kasih telah membaca Shoal Research! Berlangganan gratis untuk menerima pos baru dan mendukung karya saya.

Berlangganan

Tapi apa sebenarnya transaksi itu?

Transaksi di blockchain melibatkan transfer aset digital dari satu alamat di buku besar terdistribusi ke alamat lain, yang diamankan dengan menggunakan kriptografi kunci publik. Transaksi dapat digunakan untuk transfer peer to peer terdesentralisasi, atau untuk berbagai proses otentikasi dan verifikasi juga.


Sebuah contoh transaksi yang dapat diamati oleh siapa pun di penjelajah blockchain seperti SeiTrace

1.1 Bagaimana Transaksi Blockchain Bekerja

Ketika transaksi diinisiasi, yaitu Bob mengirim beberapa token ke Alice, transaksi Bob disiarkan ke jaringan blockchain yang mendasarinya. Selanjutnya, kelompok simpul khusus di jaringan mulai memverifikasi dan memvalidasi transaksi sebagai sah. Begitu cukup banyak simpul ini telah memverifikasi isi transaksi, transaksi tersebut ditambahkan ke dalam blok bersama transaksi pengguna lainnya. Begitu sebuah blok penuh, maka blok tersebut ditambahkan ke dalam rantai, oleh karena itu nama 'blockchain'. Transaksi Bob sekarang menjadi bagian dari buku besar yang aman dan transparan, dan dia serta Alice dapat memverifikasi isi tersebut.

Secara umum, semua transaksi blockchain mengandung metadata yang membantu node-node yang menjalankan dan mengamankan jaringan mengidentifikasi dan menjalankan serangkaian instruksi dan parameter yang diberikan. Setiap transaksi akan memiliki data input tingkat tinggi oleh pengirim asli, seperti jumlah yang akan ditransfer, alamat tujuan, dan tanda tangan digital untuk mengonfirmasi transaksi, serta berbagai data tingkat rendah yang dibuat dan dilampirkan secara otomatis, meskipun data ini bervariasi menurut jaringan dan desain.

Pada akhirnya, bagaimanapun, proses yang terlibat di balik layar pada lapisan jaringan sebelum pelaksanaan transaksi bervariasi sesuai dengan desain blockchain.

1.1.1 Mempool

Memory pool, atau mempool, adalah fitur umum dari desain blockchain, diimplementasikan oleh jaringan blockchain tradisional seperti Bitcoin dan Ethereum. Mempool hanyalah zona buffer, atau 'ruang tunggu', untuk transaksi yang tertunda yang belum ditambahkan ke blok dan dieksekusi.

Untuk lebih memahami, kita bisa menjabarkan siklus hidup transaksi pada blockchain yang menggunakan mempool;

  1. Pengguna memulai dan menandatangani transaksi.
  2. Node khusus yang berpartisipasi dalam jaringan blockchain memverifikasi konten transaksi agar sah dan mengandung parameter yang sesuai.
  3. Setelah diverifikasi, transaksi tersebut dirutekan ke mempool publik bersama transaksi tertunda lainnya.
  4. Akhirnya, tergantung pada biaya gas yang dibayarkan untuk transaksi relatif terhadap transaksi lain di mempool, transaksi tertunda pengguna kami dipilih dengan sekelompok transaksi tertunda lainnya untuk membentuk blok berikutnya di blockchain. Pada tahap ini, status transaksi kami akan terbaca "Berhasil".
  5. Setelah waktu tertentu atau ambang batas berbasis blok telah berlalu, blok itu sendiri difinalisasi dan transaksi menjadi catatan log yang tidak dapat diubah yang tercatat di blockchain, yang hanya bisa dikompromikan dalam kasus serangan 51%, tugas yang sangat sulit dilakukan di luar itu.

1.1.2. Tidak Ada Mempool (Solana)

Penting untuk dicatat bahwa beberapa blockchain, seperti Solana, tidak menggunakan mempool, dan mungkin malah meneruskan transaksi langsung ke produsen blok sebagai cara untuk memungkinkan kecepatan dan throughput tinggi melalui produksi blok yang berkelanjutan.

Mari kita jelajahi siklus hidup transaksi di blockchain non-mempool:

  1. Pengguna memulai dan menandatangani transaksi untuk aplikasi yang mereka gunakan.
  2. Aplikasi mengarahkan informasi transaksi ke server Remote Procedure Call (RPC).
  3. Penyedia RPC mengirimkan transaksi ke produsen blok yang ditunjuk saat ini, dan tiga produsen berikutnya; ini adalah langkah pencegahan jika pemimpin saat ini tidak dapat mengeksekusi transaksi tepat waktu. Solana menggunakan jadwal pemimpin slot yang membantu RPC untuk merute transaksi lebih mudah.
  4. Produsen blok kemudian mengirimkan transaksi yang ditandatangani ke node konsensus untuk diverifikasi.
  5. Node konsensus memilih untuk memverifikasi isi transaksi, dan setelah selesai, status transaksi kemudian dikirim kembali ke RPC > aplikasi > pengguna sebagai 'berhasil' atau 'gagal'.
  6. Sama seperti blockchain berbasis mempool, blok itu sendiri difinalisasi setelah waktu tertentu atau ambang batas berbasis blok telah berlalu.

1.2 Eksekusi Berurutan

Blockchain yang lebih tua, yaitu Bitcoin dan Ethereum, menggunakan mekanisme eksekusi berurutan untuk transaksi. Setiap transaksi yang ditambahkan ke dalam blockchain memanggil perubahan dalam keadaan jaringan, dan VM terstruktur untuk hanya memproses satu perubahan keadaan pada satu waktu untuk tujuan keamanan.

Hal ini telah menyebabkan bottleneck signifikan bagi throughput jaringan yang mendasarinya, karena jumlah transaksi yang dapat ditambahkan ke blok menjadi terbatas, menyebabkan waktu tunggu yang lebih lama dan lonjakan biaya transaksi yang belum pernah terjadi sebelumnya yang dapat membuat jaringan tidak dapat digunakan kadang-kadang. Selain itu, model eksekusi berurutan menggunakan komponen hardware dengan tidak efisien, dan oleh karena itu tidak mendapat manfaat dari terobosan dalam komputasi, yaitu inti prosesor ganda.

Eksekusi Paralel

2.0 Apa itu Eksekusi Paralel?

Komputasi paralel adalah komponen kunci dari arsitektur komputer yang asal-usulnya dapat ditelusuri sejauh akhir 1950-an, meskipun ide dan teorinya bahkan telah dilacak kembali hingga 1837. Menurut definisi, komputasi paralel merujuk pada tindakan memanfaatkan beberapa elemen pemrosesan secara bersamaan untuk menyelesaikan suatu operasi, di mana tugas yang lebih besar dan kompleks dibagi menjadi yang lebih kecil untuk diselesaikan lebih efisien daripada secara serial.

Awalnya hanya diimplementasikan dalam sistem komputasi kinerja tinggi, komputasi paralel telah berkembang menjadi paradigma dominan dalam arsitektur komputer saat ini, karena permintaan komputasi telah meningkat secara eksponensial di era internet, yang diperparah oleh batasan penskalaan frekuensi dalam beberapa dekade sebelumnya.

Standar arsitektur ini berlaku untuk blockchain dengan cara yang sama, hanya saja tugas utama yang diselesaikan oleh komputer adalah pemrosesan dan pelaksanaan transaksi, atau transfer nilai dari kontrak pintar A ke kontrak pintar B, oleh karena itu istilah eksekusi paralel.

Pelaksanaan paralel berarti bahwa alih-alih memproses transaksi secara serial, blockchain dapat memproses beberapa transaksi non-konflik secara bersamaan. Hal ini dapat meningkatkan throughput jaringan blockchain secara signifikan, membuatnya lebih dapat diskalakan dan efisien untuk menangani beban aktivitas dan permintaan ruang blok yang lebih tinggi.

Untuk analogi yang lebih sederhana, pertimbangkan efisiensi toko kelontong dengan beberapa jalur untuk pembeli check out, dibandingkan dengan hanya satu untuk semua orang.

Mengapa Pelaksanaan Paralel Penting?

Eksekusi paralel dalam blockchain dirancang untuk membuka efisiensi dalam kecepatan dan kinerja jaringan, terutama saat jaringan melihat lonjakan lalu lintas dan permintaan sumber daya yang lebih tinggi. Dalam konteks ekosistem kripto, eksekusi paralel berarti bahwa jika Bob ingin mencetak koleksi NFT populer terbaru, dan Alice ingin membeli memecoin favoritnya, jaringan akan melayani kedua pengguna tanpa mengorbankan kualitas dalam kinerja dan oleh karena itu pengalaman pengguna.

Sementara ini mungkin terdengar sebagai fitur kualitas hidup yang intuitif, pembukaan kinerja jaringan yang dimungkinkan oleh eksekusi paralel memberikan jalan bagi pengembangan kasus penggunaan dan aplikasi baru dan inovatif yang dapat memanfaatkan latensi rendah dan volume tinggi, yang pada dasarnya membentuk dasar untuk memasukkan kohort massa pengguna berikutnya ke dalam ekosistem kripto.

Bagaimana Cara Kerja Eksekusi Paralel?

Meskipun premis pelaksanaan paralel relatif mudah dipahami, nuansa dalam desain blockchain yang mendasar memengaruhi bagaimana proses pelaksanaan paralel itu sendiri berjalan. Fitur paling relevan dalam merancang blockchain dengan pelaksanaan paralel adalah kemampuan transaksi untuk mengakses status jaringan yang mendasarinya, termasuk saldo akun, penyimpanan, dan kontrak pintar.

Eksekusi paralel pada blockchain dapat dikategorikan sebagai deterministik atau optimis. Eksekusi paralel deterministik, digunakan oleh blockchain seperti Solana, secara inheren memerlukan transaksi untuk mendeklarasikan semua ketergantungan memori di depan, yaitu bagian dari status global yang ingin mereka akses di depan. Meskipun langkah ini menciptakan overhead tambahan bagi pengembang, secara lebih luas ini memungkinkan jaringan untuk mengurutkan dan mengidentifikasi transaksi yang tidak bertentangan sebelum eksekusi, menciptakan sistem yang dioptimalkan yang dapat diprediksi dan efisien. Sebaliknya, eksekusi paralel optimis terstruktur untuk memproses semua transaksi secara paralel, beroperasi dengan asumsi inheren bahwa tidak ada konflik. Hal ini memungkinkan blockchain yang mendasarinya untuk memberikan eksekusi transaksi yang lebih cepat, meskipun dengan biaya re-eksekusi potensial setelahnya dalam kasus konflik. Jika dua transaksi yang bertentangan ditemukan telah diajukan, sistem kemudian dapat memproses dan mengeksekusinya kembali baik secara paralel maupun secara berurutan.

Untuk lebih memahami implikasi dari kerumitan desain ini, dapat membantu menganalisis eksekusi paralel melalui sudut pandang tim yang mendorong batas eksekusi paralel saat ini.

Keadaan Eksekusi Paralel Hari Ini

Untuk lebih memahami dampak dari kerumitan desain ini, dapat membantu menganalisis eksekusi paralel melalui sudut pandang tim yang mendorong batas eksekusi paralel saat ini.

3.1 Mesin Virtual Solana (SVM)

Solana adalah jaringan blockchain pertama yang dirancang sekitar eksekusi paralel, terinspirasi oleh pengalaman sebelumnya pendiri Anatoly Yakovenko di industri telekomunikasi. Solana bertujuan untuk menyediakan platform pengembang yang berjalan secepat fisika memungkinkan, oleh karena itu kecepatan dan efisiensi yang terbuka oleh komputasi paralel adalah pilihan desain yang sederhana dan intuitif.

Dalam lingkungan berbasis SM, Sealevel menggunakan arsitektur multi-threaded, yang berarti dapat memproses beberapa transaksi secara bersamaan sampai pada kapasitas inti validator.

Kunci untuk memungkinkan eksekusi paralel Solana adalah ketika sebuah transaksi diaktifkan, jaringan akan menetapkan daftar instruksi untuk transaksi tersebut dieksekusi, khususnya akun dan status mana yang akan diakses dan perubahan apa yang akan dilakukan - ini kunci untuk menentukan transaksi mana yang tidak konflik dan dapat dieksekusi secara bersamaan, serta memungkinkan transaksi yang mencoba mengakses status yang sama untuk melakukannya secara bersamaan.

Pertimbangkan efisiensi yang diberikan oleh label pada sistem bagasi yang diperiksa di bandara.

Solana juga menggunakan Cloudbreak, akunDB kustomnya sendiri, untuk menyimpan dan mengelola data status guna memungkinkan pembacaan dan penulisan transaksi secara bersamaan. Cloudbreak, dioptimalkan untuk eksekusi paralel, dapat meluas secara horizontal untuk mendistribusikan dan mengelola data status di berbagai node.

Berkat arsitektur paralelnya, Solana dapat menangani sejumlah besar transaksi dan masih menjalankan dengan cepat, memberikan finalitas hampir instan pada transaksi. Solana menangani antara 2.000 dan 10.000 transaksi per detik (TPS) rata-rata saat ini. Selain itu, kasus penggunaan untuk SVM secara perlahan namun pasti berkembang, seperti tim seperti Eclipse yang meluncurkan infrastruktur Layer 2 yang bertujuan untuk memanfaatkan SVM sebagai lingkungan eksekusi.

3.2 Parallel EVM

EVM Paralel menggambarkan lingkungan eksekusi baru untuk blockchain yang bertujuan untuk menghadirkan "yang terbaik dari kedua dunia" dari desain Solana dan Ethereum, dengan kecepatan dan kinerja Solana, serta keamanan dan likuiditas Ethereum. Dengan memproses transaksi secara paralel dan bukan berurutan sesuai desain EVM tradisional, EVM paralel memungkinkan pengembang untuk membangun aplikasi pada jaringan berkinerja tinggi sambil dapat memanfaatkan koneksi ke likuiditas EVM dan perkakas pengembang.

3.2.1 Jaringan Sei

Sei Network adalah blockchain Layer 1 sumber terbuka yang kompatibel dengan EVM dan menjadi tuan rumah berbagai aplikasi terdesentralisasi yang dibangun sekitar kinerja tinggi. Sei dibangun untuk memberikan kecepatan tinggi dengan biaya rendah bagi pengguna dan pengembang, dan eksekusi paralel adalah komponen kunci dalam memungkinkan kinerja dan UX ini. Saat ini, Sei memberikan waktu konfirmasi blok 390ms dan telah memproses lebih dari 1,9 miliar transaksi di mainnet pacific-nya.

Pada awalnya, Sei menggunakan model eksekusi paralel deterministik, di mana kontrak pintar menyatakan akses keadaan yang dibutuhkan mereka sebelum waktunya agar sistem dapat menjalankan transaksi non-konflik secara bersamaan. Dengan dimulainya upgrade V2 mereka, Sei beralih ke model paralel optimis, yang berarti semua transaksi akan diproses secara paralel setelah dikirimkan ke jaringan (tahap eksekusi), dan kemudian akan ditinjau untuk informasi konflik dengan transaksi sebelumnya (tahap validasi). Jika terdapat dua atau lebih transaksi yang konflik, yaitu transaksi yang mencoba mengakses keadaan jaringan yang sama, Sei mengidentifikasi titik konflik ini dan kemudian mengeksekusi ulang transaksi secara paralel atau berurutan tergantung pada sifat konflik tersebut.

Untuk menyimpan dan memelihara data transaksi, Sei juga akan memperkenalkan SeiDB, sebuah database kustom yang bertujuan untuk meningkatkan kekurangan dalam v1 dengan mengoptimalkan untuk eksekusi paralel. SeiDB bertujuan untuk mengurangi beban data yang redundan dan memelihara penggunaan disk yang efisien untuk performa jaringan yang lebih baik. V2 mengurangi jumlah metadata yang diperlukan untuk pelacakan dan penyimpanan, serta memungkinkan log tulis-terlebih-dahulu untuk membantu pemulihan data dalam kasus kegagalan.

Terakhir, Sei juga baru-baru ini mengumumkan peluncuran Parallel Stack-nya, sebuah kerangka open-source untuk memungkinkan solusi scaling Layer 2, yaitu rollups, untuk menggunakan dan mendapatkan manfaat dari eksekusi paralel.

3.2.2 Monad

Monad adalah blockchain Layer 1 paralel-EVM yang akan datang yang membawa kompatibilitas bytecode dan RPC penuh untuk aplikasi dan infrastruktur Ethereum. Melalui sejumlah implementasi teknis inovatif, Monad bertujuan untuk memberikan pengalaman yang lebih interaktif daripada blockchain yang ada sambil mempertahankan biaya transaksi yang lebih rendah dengan mengoptimalkan kinerja dan portabilitas, dengan waktu blok 1 detik dan finalitas dengan hingga 10.000 TPS.

Monad menerapkan eksekusi paralel dan pipelining superskalar untuk mengoptimalkan kecepatan dan throughput transaksi. Mirip dengan Sei v2, Monad akan menggunakan model eksekusi optimis, artinya jaringan mulai mengeksekusi semua transaksi masuk secara bersamaan, lalu menganalisis dan memvalidasi transaksi untuk mencari konflik dan mengeksekusi ulang sesuai kebutuhan, dengan tujuan akhirnya adalah hasilnya akan identik jika transaksi dieksekusi secara berurutan.

Penting untuk dicatat bahwa dalam mempertahankan sinkronisasi dengan Ethereum, Monad memesan transaksi dalam blok secara berurutan, dengan setiap transaksi diperbarui secara berurutan.

Untuk menjaga dan mengakses data blockchain lebih efisien daripada apa yang ditawarkan klien Ethereum saat ini, Monad menciptakan MonadDB khususnya sendiri, dibangun secara native untuk blockchain. Monad DB memanfaatkan fitur kernel Linux canggih untuk operasi disk asinkronis yang efisien, menghilangkan batasan akses input/output sinkron. MonadDB menawarkan akses input/output asinkron (async I/O), fitur kunci dalam memungkinkan eksekusi paralel, di mana sistem dapat mulai memproses transaksi berikutnya sambil menunggu untuk membaca status transaksi sebelumnya.

Untuk analogi sederhana, pertimbangkan memasak makanan berbagai macam (spaghetti dengan bakso). Langkah-langkah yang terlibat adalah 1) menyiapkan saus, 2) memasak bakso, dan c) memasak pasta. Seorang koki yang efisien akan memulai dengan merebus air untuk pasta, kemudian menyiapkan bahan untuk saus, kemudian memasukkan pasta ke dalam air yang sedang mendidih, kemudian memasak saus, dan akhirnya bakso, daripada melakukan setiap langkah satu per satu, menyelesaikan satu tugas secara keseluruhan sebelum melanjutkan.

3.3 Gerak

Move adalah bahasa pemrograman yang awalnya dikembangkan oleh tim Facebook pada tahun 2019 untuk proyek Diem yang sekarang sudah tidak aktif. Move dirancang untuk menangani kontrak pintar dan data transaksi secara aman, menghilangkan vektor serangan yang ada pada bahasa lain seperti serangan reentrancy.

MoveVM berfungsi sebagai lingkungan eksekusi asli untuk blockchain berbasis Move, memanfaatkan paralelisasi untuk memberikan kecepatan eksekusi transaksi yang lebih cepat dan efisiensi keseluruhan yang lebih besar.

3.3.1 Aptos

Aptos adalah blockchain Layer 1 berbasis Move yang dikembangkan oleh anggota proyek Diem sebelumnya, yang menerapkan eksekusi paralel untuk memberikan lingkungan kinerja tinggi bagi pengembang aplikasi. Aptos menggunakan Block-STM, implementasi modifikasi dari mekanisme kontrol konkurensi Software Transactional Memory (STM).

Block-STM adalah mesin eksekusi paralel berulir multi-threaded yang memungkinkan eksekusi paralel yang optimis. Transaksi diurutkan sebelumnya dan disusun secara strategis di dalam blok, yang merupakan kunci untuk menyelesaikan konflik secara efisien dan mengeksekusi ulang transaksi tersebut. Penelitian yang dilakukan oleh Aptos menemukan bahwa hingga 160K TPS secara teoritis dapat didukung menggunakan paralelisasi Block-STM.

3.3.2 Sui

Sama seperti Aptos, Sui adalah blockchain lapisan 1 yang dikembangkan oleh mantan anggota proyek Diem, yang menggunakan bahasa Move. Namun, Sui menggunakan implementasi khusus dari Move yang mengubah model penyimpanan dan izin aset dari desain Diem asli. Secara khusus, ini memungkinkan Sui untuk menggunakan model penyimpanan keadaan untuk mewakili transaksi independen sebagai objek. Setiap objek memiliki ID unik dalam lingkungan eksekusi Sui, dan dengan demikian, ini memungkinkan sistem untuk dengan mudah mengidentifikasi transaksi yang tidak bertentangan dan memprosesnya secara paralel.

Seperti Solana, Sui menerapkan eksekusi paralel yang deterministik, yang memerlukan transaksi untuk menyatakan akun mana yang perlu mereka akses sebelumnya.

3.3.3 Gerakan Laboratorium

Apa itu Gerakan?

Gerakan sedang membangun rangkaian perangkat pengembang dan layanan infrastruktur blockchain untuk memungkinkan pengembang dengan mudah mengakses manfaat membangun di Move. Beroperasi sebagai penyedia layanan eksekusi-layaknya AWS untuk pengembang Move, Gerakan menerapkan paralelisasi sebagai fitur desain inti untuk memungkinkan throughput yang lebih tinggi dan efisiensi jaringan secara keseluruhan yang lebih besar. MoveVM adalah lingkungan eksekusi modular yang memungkinkan jaringan blockchain untuk memperluas dan menyesuaikan kemampuan pemrosesan transaksi mereka sesuai kebutuhan untuk dapat mendukung volume transaksi yang semakin meningkat, memperkuat kemampuan mereka untuk memproses dan mengeksekusi transaksi secara paralel.

Arsitektur MoveVM

Gerakan juga akan meluncurkan M2, ZK-rollup yang akan interoperable dengan klien EVM dan Move sama. M2 akan mewarisi mesin paralelisasi Block-STM, dan diharapkan dapat memberikan puluhan ribu TPS sebagai hasilnya.

Pikiran Penutup

4.1 Tantangan Untuk Sistem Paralel Hari Ini

Beberapa pertanyaan penting dan pertimbangan yang perlu dipertimbangkan mengenai pengembangan blockchain paralel;

  • Apa tradeoff yang dilakukan jaringan untuk memungkinkan kinerja yang lebih baik melalui eksekusi paralel?
    • Lebih sedikit validator yang mengamankan jaringan memungkinkan kecepatan verifikasi dan eksekusi yang lebih cepat, tetapi apakah ini mengorbankan keamanan blockchain sehingga menjadi lebih mudah bagi validator untuk bersekongkol melawan jaringan?
    • Apakah ada jumlah validator yang signifikan yang ditempatkan bersama? Ini adalah strategi umum untuk meminimalkan laten dalam sistem kripto maupun non-kripto, tetapi apa yang terjadi pada jaringan jika pusat data tersebut dikompromikan?
  • Untuk sistem paralel optimis, apakah proses mengeksekusi ulang transaksi yang tidak valid menciptakan bottleneck saat jaringan berkembang? Bagaimana efisiensi ini diuji dan dievaluasi?

Pada tingkat yang tinggi, blockchain paralel menghadapi risiko inkonsistensi buku besar, yaitu pengeluaran ganda dan perubahan urutan transaksi (memang, ini adalah manfaat utama dari eksekusi sekuensial). Paralelisasi deterministik mengatasi hal ini dengan menciptakan sistem label internal untuk transaksi pada blockchain yang mendasarinya. Blockchain yang menerapkan pemrosesan optimis harus memastikan mekanisme yang mereka gunakan untuk memvalidasi dan mengeksekusi ulang transaksi adalah aman dan fungsional, dan kompromi yang dibuat untuk kinerja dapat diimplementasikan dengan wajar.

4.2 Prospek Masa Depan / Peluang

Sejarah komputer telah mengajarkan kepada kita bahwa sistem paralel cenderung lebih efisien dan dapat diskalakan dari waktu ke waktu daripada sistem sekuensial. Munculnya blockchain paralel pasca-Solana menekankan bahwa gagasan ini berlaku juga untuk infrastruktur kripto. Bahkan Vitalik telah menyebutkan paralelisasisebagai salah satu solusi kunci potensial untuk meningkatkan skalabilitas EVM rollups baru-baru ini. Secara umum, pertumbuhan adopsi kripto/blockchain menuntut sistem yang lebih optimal daripada yang tersedia saat ini, termasuk blockchain paralel. Kesulitan jaringan Solana baru-baru ini telah menyoroti bahwa masih banyak ruang untuk perbaikan dalam pengembangan blockchain paralel. Ketika tim-tim lebih banyak mencari untuk mendorong batas-batas perbatasan onchain dan menerima kohor pengguna dan adopsi berikutnya ke aplikasi dan ekosistem blockchain-native, model eksekusi paralel menyediakan kerangka kerja intuitif untuk membangun sistem yang dapat mengatasi aktivitas jaringan dalam skala yang sesuai dengan perusahaan Web2 dengan mudah.

Bukan saran keuangan atau pajak. Tujuan dari buletin ini murni bersifat edukatif dan seharusnya tidak dianggap sebagai saran investasi, saran hukum, permintaan untuk membeli atau menjual aset apa pun, atau saran untuk membuat keputusan keuangan. Ini bukan pengganti saran pajak. Silakan berkonsultasi dengan akuntan Anda dan lakukan riset sendiri.

Pengungkapan. Semua postingan adalah milik penulis sendiri, bukan pandangan dari majikan mereka. Postingan ini disponsori oleh Yayasan Aster. Meskipun Shoal Research telah menerima pendanaan untuk inisiatif ini, para sponsor tidak mempengaruhi konten analitis. Di Shoal Research, kami bertujuan untuk memastikan bahwa semua konten bersifat objektif dan independen. Proses peninjauan internal kami menjaga standar integritas tertinggi, dan semua potensi konflik kepentingan diungkapkan dan dikelola dengan ketat untuk menjaga kredibilitas dan independensi riset kami.

Penafian:

  1. Artikel ini dicetak ulang dari [Penelitian Shoal]. Semua hak cipta milik penulis asli [PAUL TIMOFEEV, MIKE JIN, DAN GABE TRAMBLE]. Jika ada keberatan terhadap pencetakan ulang ini, silakan hubungi Gate Belajartim, dan mereka akan menanganinya dengan cepat.
  2. Penyangkalan Tanggung Jawab: Pandangan dan opini yang terdapat dalam artikel ini semata-mata milik penulis dan tidak merupakan saran investasi apa pun.
  3. Terjemahan artikel ke bahasa lain dilakukan oleh tim Gate Learn. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel yang diterjemahkan dilarang.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!