Sei telah merilis buku putih baru yang memperkenalkan upgrade Giga terbaru. Sebagian besar pembaca merasa bahwa konten teknis mendalam sepanjang 17 halaman sulit dibaca. Oleh karena itu, artikel ini akan menjelaskan tentang pembaruan ini dan bagaimana meningkatkan kinerja blockchain di berbagai tingkat.
Tentang generasi blok yang dieksekusi secara asinkron
Giga memiliki pemikiran dan dasar utama sebagai berikut:
"Jika daftar transaksi kami teratur dan status awal blockchain konsisten, dan semua node yang jujur memproses transaksi ini dalam urutan yang sama, maka node-node tersebut akan mencapai status akhir yang sama."
Dalam situasi ini, hasilnya hanya tergantung pada keadaan awal dan urutan transaksi. Ini berarti konsensus hanya perlu mencapai kesepakatan tentang urutan transaksi dalam blok, dan setiap node dapat menghitung keadaan akhir secara independen.
Dalam model ini, konsensus dipisahkan dari eksekusi, memungkinkan blok dieksekusi secara asinkron.
Setelah blok final dikonfirmasi, node akan memprosesnya dan menyerahkan statusnya di blok-blok berikutnya.
Kemudian memvalidasi blok tersebut melalui konsensus status untuk memastikan semua node telah menghitung status akhir yang benar.
Salah satu detail penting di sini adalah bahwa eksekusi dan konsensus (generasi) dilakukan secara paralel. Node menerima blok-blok lain saat melakukan perhitungan blok.
Oleh karena itu, blok sebenarnya dieksekusi dalam urutan total (bukan secara paralel), sementara proses pembuatan blok itu sendiri memang terjadi secara paralel dengan konsensus. Namun, untuk blok tertentu, proses-proses ini sepenuhnya asinkron.
Jelas bahwa tampaknya tidak mungkin untuk melakukan konsensus dan eksekusi pada blok yang sama secara bersamaan. Oleh karena itu, saat mengeksekusi blok n, node akan menerima blok n+1 untuk langkah berikutnya.
Jika terjadi penyimpangan konsensus (misalnya, sepertiga node di jaringan bertindak jahat), rantai akan terhenti, mirip dengan protokol BFT standar.
Transaksi yang gagal dieksekusi dalam blok tidak akan membuat blok tersebut menjadi tidak valid, hanya tetap dalam keadaan gagal, karena pembuatan dan eksekusi blok adalah terpisah, dan status akhir blok saat ini akan diserahkan dalam blok-blok selanjutnya.
Bagaimana model multi-pemohon diimplementasikan dan apa itu Autobahn?
Protokol konsensus itu sendiri disebut "Autobahn" (seperti jalan tol Jerman tanpa batas kecepatan). Autobahn memisahkan ketersediaan data dan pengurutan transaksi, dengan model yang menarik di baliknya.
Seperti jalur di jalan raya mana pun, terdapat beberapa jalur, dan setiap node memiliki salurannya sendiri. Node menggunakan saluran ini untuk mengajukan proposal tentang urutan transaksi. Proposal hanyalah kumpulan transaksi yang teratur.
Autobahn terkadang akan melakukan operasi "tipcut", yaitu menggabungkan beberapa proposal untuk menentukan urutan transaksi secara final.
Seperti yang telah disebutkan sebelumnya, setiap validator memiliki saluran mereka sendiri untuk mengusulkan batch transaksi.
Ketika sebuah node menerima proposal yang valid, akan mengirimkan suara untuk mengkonfirmasi bahwa proposal tersebut telah diterima.
Setelah proposal dikumpulkan untuk pemungutan suara, akan terbentuk bukti keandalan (PoA), memastikan bahwa data telah diterima oleh setidaknya satu node jujur dalam jaringan.
Waktu terjadinya Tipcut diukur dalam milidetik, dan akhirnya beberapa proposal dari Autobahn akan "cut.".
Pemberi proposal memiliki motivasi untuk menunggu penerbitan blok dan, jika memungkinkan, menerbitkan satu blok, tetapi batas waktu eksekusi untuk setiap blok (mirip dengan batas Gas) sedikit akan mengubah dinamika ini.
Sebuah proposal di satu saluran biasanya setara dengan satu blok, yang berarti bahwa ketika Tipcut terjadi, beberapa blok akan diputuskan secara bersamaan.
Setelah itu, pemimpin slot tersebut akan mengirim Tipcut ke node lain untuk menyelesaikan pengurutan. Node sebenarnya sudah bersiap untuk Tipcut berikutnya sambil memberikan suara pada satu Tipcut.
Node yang melewatkan batch dapat mengambil secara asinkron dari validator yang terdaftar di PoA: inilah alasan mendasar mengapa diperlukan ketersediaan data.
Dalam kondisi sinkron, jika pemimpin benar, Autobahn akan menyelesaikan konfirmasi proposal dalam dua putaran komunikasi. Jika pemimpin gagal, mekanisme tersebut akan memilih pemimpin baru untuk mempertahankan proses.
Usulan tip-cut berikutnya sebenarnya dapat dimulai pada tahap pengiriman tip-cut saat ini, sehingga mengurangi keterlambatan, karena pelaksanaan dilakukan secara paralel dengan pembuatan.
Sebenarnya, seluruh model adalah model multi-pemohon, di mana banyak node dapat secara bersamaan mengajukan proposal untuk pengurutan blok mereka. Setiap validator mengusulkan bloknya sendiri dan menerima bukti kepemilikan blok-blok tersebut dari jaringan (PoA), yang membantu meningkatkan throughput jaringan dan efisiensi keseluruhan.
Eksekusi paralel dan situasi penerapannya
Seperti yang telah disebutkan sebelumnya, proses eksekusi blok dan konsensus terjadi secara paralel, meskipun blok itu sendiri sebenarnya dieksekusi secara berurutan. Anda mungkin bertanya-tanya apakah ini merupakan eksekusi paralel yang sebenarnya.
Jawabannya adalah ya dan tidak.
Meskipun blok dieksekusi secara berurutan, transaksi di dalam blok sebenarnya dapat dieksekusi secara paralel. Jika transaksi tidak mengubah (menulis) status yang sama, dan hasil dari satu transaksi tidak mempengaruhi transaksi lainnya, maka transaksi tersebut dapat dieksekusi secara paralel.
Singkatnya, jalur eksekusinya tidak seharusnya saling bergantung. Giga tidak memiliki mempool, transaksi akan segera dimasukkan oleh node.
Giga mengasumsikan bahwa sebagian besar transaksi tidak ada konflik, dan memproses transaksi ini secara bersamaan di beberapa inti prosesor.
Setiap perubahan transaksi akan disimpan sementara di dalam buffer privat dan tidak akan langsung diterapkan ke blockchain.
Setelah proses selesai, sistem akan memeriksa apakah transaksi ini bertentangan dengan transaksi sebelumnya.
Jika terjadi konflik, transaksi tersebut akan diproses ulang. Jika tidak ada konflik, perubahan tersebut akan diterapkan pada blockchain dan ditetapkan secara final.
Juga mungkin ada situasi konflik frekuensi tinggi, dalam hal ini, sistem akan beralih untuk memproses satu transaksi pada satu waktu, untuk memastikan transaksi dapat dilanjutkan.
Secara sederhana, eksekusi paralel membagi transaksi ke beberapa inti, sehingga transaksi yang tidak bertentangan dapat berjalan secara bersamaan.
Masalah penyimpanan dan optimasi
Karena volume transaksi yang besar, data perlu disimpan dengan cara yang aman dan mudah diakses, sehingga metode penyimpanannya harus sedikit berbeda dari penyimpanan blockchain tradisional. Giga menyimpan data dalam format kunci-nilai (key-value) yang sederhana, yang merupakan struktur yang relatif datar dan membantu mengurangi banyak pembaruan atau pemeriksaan yang diperlukan saat data berubah.
Selain itu, Giga juga menggunakan metode penyimpanan berlapis: data terbaru disimpan di SSD (cepat), sementara data yang kurang sering digunakan dipindahkan ke sistem penyimpanan yang lebih lambat dan lebih hemat biaya.
Jika suatu node mengalami kegagalan, ia dapat memutar ulang log untuk memulihkan status yang benar, dan menerapkan pembaruan ke RocksDB (sebuah database khusus) untuk mengorganisir data.
Sistem penyimpanan ini menggunakan akumulator kriptografi (Cryptographic Accumulator), yang dapat membuktikan keakuratan data tanpa perlu melakukan perhitungan yang berat. Akumulator diperbarui dengan cara pemrosesan batch, sehingga validator dan node ringan dapat dengan cepat mencapai konsensus tentang kondisi terkini dari blockchain.
Apa artinya menjadi blockchain EVM L1 dengan banyak pengusul?
Infrastruktur L1 dapat melakukan berbagai perbaikan, dan berbagai L1 juga menghadapi berbagai tantangan teknis, mulai dari masalah ekonomi seperti MEV hingga masalah teknis seperti manajemen status.
Sebagai L1 chain pertama yang mendukung banyak proposal, ini cukup menantang, terutama untuk EVM L1, karena desain awal EVM tidak mendukung sistem banyak proposal.
Namun, Sei sedang mencoba berbagai cara untuk mempertahankan EVM serta banyak alat yang biasa digunakan oleh pengembang.
Eksekusi transaksi paralel, konsensus selama eksekusi, dan operasi paralel oleh beberapa pengusul semuanya berkontribusi pada peningkatan kinerja, menghasilkan throughput eksekusi sekitar 50x lebih tinggi. Namun, perbaikan ini mungkin juga tunduk pada beberapa risiko yang disebutkan di atas.
Ini adalah pembaruan besar kedua Sei, sebelumnya Sei bertransformasi dari rantai Cosmos ke rantai EVM, kini Sei telah meluncurkan klien eksekusi yang dioptimalkan untuk kecepatan.
Perkembangan selanjutnya serta efek lanjutan dari langkah-langkah optimasi ini patut diperhatikan.
Konten ini hanya untuk referensi, bukan ajakan atau tawaran. Tidak ada nasihat investasi, pajak, atau hukum yang diberikan. Lihat Penafian untuk pengungkapan risiko lebih lanjut.
Interpretasi White Paper Sei: Inovasi teknologi apa yang diperkenalkan oleh upgrade Giga?
Penulis: Pavel Paramonov, Pendiri Hazeflow
Kompilasi: PANews
Sei telah merilis buku putih baru yang memperkenalkan upgrade Giga terbaru. Sebagian besar pembaca merasa bahwa konten teknis mendalam sepanjang 17 halaman sulit dibaca. Oleh karena itu, artikel ini akan menjelaskan tentang pembaruan ini dan bagaimana meningkatkan kinerja blockchain di berbagai tingkat.
Tentang generasi blok yang dieksekusi secara asinkron
Giga memiliki pemikiran dan dasar utama sebagai berikut:
"Jika daftar transaksi kami teratur dan status awal blockchain konsisten, dan semua node yang jujur memproses transaksi ini dalam urutan yang sama, maka node-node tersebut akan mencapai status akhir yang sama."
Dalam situasi ini, hasilnya hanya tergantung pada keadaan awal dan urutan transaksi. Ini berarti konsensus hanya perlu mencapai kesepakatan tentang urutan transaksi dalam blok, dan setiap node dapat menghitung keadaan akhir secara independen.
Dalam model ini, konsensus dipisahkan dari eksekusi, memungkinkan blok dieksekusi secara asinkron.
Setelah blok final dikonfirmasi, node akan memprosesnya dan menyerahkan statusnya di blok-blok berikutnya.
Kemudian memvalidasi blok tersebut melalui konsensus status untuk memastikan semua node telah menghitung status akhir yang benar.
Salah satu detail penting di sini adalah bahwa eksekusi dan konsensus (generasi) dilakukan secara paralel. Node menerima blok-blok lain saat melakukan perhitungan blok.
Oleh karena itu, blok sebenarnya dieksekusi dalam urutan total (bukan secara paralel), sementara proses pembuatan blok itu sendiri memang terjadi secara paralel dengan konsensus. Namun, untuk blok tertentu, proses-proses ini sepenuhnya asinkron.
Jelas bahwa tampaknya tidak mungkin untuk melakukan konsensus dan eksekusi pada blok yang sama secara bersamaan. Oleh karena itu, saat mengeksekusi blok n, node akan menerima blok n+1 untuk langkah berikutnya.
Jika terjadi penyimpangan konsensus (misalnya, sepertiga node di jaringan bertindak jahat), rantai akan terhenti, mirip dengan protokol BFT standar.
Transaksi yang gagal dieksekusi dalam blok tidak akan membuat blok tersebut menjadi tidak valid, hanya tetap dalam keadaan gagal, karena pembuatan dan eksekusi blok adalah terpisah, dan status akhir blok saat ini akan diserahkan dalam blok-blok selanjutnya.
Bagaimana model multi-pemohon diimplementasikan dan apa itu Autobahn?
Protokol konsensus itu sendiri disebut "Autobahn" (seperti jalan tol Jerman tanpa batas kecepatan). Autobahn memisahkan ketersediaan data dan pengurutan transaksi, dengan model yang menarik di baliknya.
Seperti jalur di jalan raya mana pun, terdapat beberapa jalur, dan setiap node memiliki salurannya sendiri. Node menggunakan saluran ini untuk mengajukan proposal tentang urutan transaksi. Proposal hanyalah kumpulan transaksi yang teratur.
Autobahn terkadang akan melakukan operasi "tipcut", yaitu menggabungkan beberapa proposal untuk menentukan urutan transaksi secara final.
Seperti yang telah disebutkan sebelumnya, setiap validator memiliki saluran mereka sendiri untuk mengusulkan batch transaksi.
Ketika sebuah node menerima proposal yang valid, akan mengirimkan suara untuk mengkonfirmasi bahwa proposal tersebut telah diterima.
Setelah proposal dikumpulkan untuk pemungutan suara, akan terbentuk bukti keandalan (PoA), memastikan bahwa data telah diterima oleh setidaknya satu node jujur dalam jaringan.
Waktu terjadinya Tipcut diukur dalam milidetik, dan akhirnya beberapa proposal dari Autobahn akan "cut.".
Pemberi proposal memiliki motivasi untuk menunggu penerbitan blok dan, jika memungkinkan, menerbitkan satu blok, tetapi batas waktu eksekusi untuk setiap blok (mirip dengan batas Gas) sedikit akan mengubah dinamika ini.
Sebuah proposal di satu saluran biasanya setara dengan satu blok, yang berarti bahwa ketika Tipcut terjadi, beberapa blok akan diputuskan secara bersamaan.
Setelah itu, pemimpin slot tersebut akan mengirim Tipcut ke node lain untuk menyelesaikan pengurutan. Node sebenarnya sudah bersiap untuk Tipcut berikutnya sambil memberikan suara pada satu Tipcut.
Node yang melewatkan batch dapat mengambil secara asinkron dari validator yang terdaftar di PoA: inilah alasan mendasar mengapa diperlukan ketersediaan data.
Dalam kondisi sinkron, jika pemimpin benar, Autobahn akan menyelesaikan konfirmasi proposal dalam dua putaran komunikasi. Jika pemimpin gagal, mekanisme tersebut akan memilih pemimpin baru untuk mempertahankan proses.
Usulan tip-cut berikutnya sebenarnya dapat dimulai pada tahap pengiriman tip-cut saat ini, sehingga mengurangi keterlambatan, karena pelaksanaan dilakukan secara paralel dengan pembuatan.
Sebenarnya, seluruh model adalah model multi-pemohon, di mana banyak node dapat secara bersamaan mengajukan proposal untuk pengurutan blok mereka. Setiap validator mengusulkan bloknya sendiri dan menerima bukti kepemilikan blok-blok tersebut dari jaringan (PoA), yang membantu meningkatkan throughput jaringan dan efisiensi keseluruhan.
Eksekusi paralel dan situasi penerapannya
Seperti yang telah disebutkan sebelumnya, proses eksekusi blok dan konsensus terjadi secara paralel, meskipun blok itu sendiri sebenarnya dieksekusi secara berurutan. Anda mungkin bertanya-tanya apakah ini merupakan eksekusi paralel yang sebenarnya.
Jawabannya adalah ya dan tidak.
Meskipun blok dieksekusi secara berurutan, transaksi di dalam blok sebenarnya dapat dieksekusi secara paralel. Jika transaksi tidak mengubah (menulis) status yang sama, dan hasil dari satu transaksi tidak mempengaruhi transaksi lainnya, maka transaksi tersebut dapat dieksekusi secara paralel.
Singkatnya, jalur eksekusinya tidak seharusnya saling bergantung. Giga tidak memiliki mempool, transaksi akan segera dimasukkan oleh node.
Giga mengasumsikan bahwa sebagian besar transaksi tidak ada konflik, dan memproses transaksi ini secara bersamaan di beberapa inti prosesor.
Setiap perubahan transaksi akan disimpan sementara di dalam buffer privat dan tidak akan langsung diterapkan ke blockchain.
Setelah proses selesai, sistem akan memeriksa apakah transaksi ini bertentangan dengan transaksi sebelumnya.
Jika terjadi konflik, transaksi tersebut akan diproses ulang. Jika tidak ada konflik, perubahan tersebut akan diterapkan pada blockchain dan ditetapkan secara final.
Juga mungkin ada situasi konflik frekuensi tinggi, dalam hal ini, sistem akan beralih untuk memproses satu transaksi pada satu waktu, untuk memastikan transaksi dapat dilanjutkan.
Secara sederhana, eksekusi paralel membagi transaksi ke beberapa inti, sehingga transaksi yang tidak bertentangan dapat berjalan secara bersamaan.
Masalah penyimpanan dan optimasi
Karena volume transaksi yang besar, data perlu disimpan dengan cara yang aman dan mudah diakses, sehingga metode penyimpanannya harus sedikit berbeda dari penyimpanan blockchain tradisional. Giga menyimpan data dalam format kunci-nilai (key-value) yang sederhana, yang merupakan struktur yang relatif datar dan membantu mengurangi banyak pembaruan atau pemeriksaan yang diperlukan saat data berubah.
Selain itu, Giga juga menggunakan metode penyimpanan berlapis: data terbaru disimpan di SSD (cepat), sementara data yang kurang sering digunakan dipindahkan ke sistem penyimpanan yang lebih lambat dan lebih hemat biaya.
Jika suatu node mengalami kegagalan, ia dapat memutar ulang log untuk memulihkan status yang benar, dan menerapkan pembaruan ke RocksDB (sebuah database khusus) untuk mengorganisir data.
Sistem penyimpanan ini menggunakan akumulator kriptografi (Cryptographic Accumulator), yang dapat membuktikan keakuratan data tanpa perlu melakukan perhitungan yang berat. Akumulator diperbarui dengan cara pemrosesan batch, sehingga validator dan node ringan dapat dengan cepat mencapai konsensus tentang kondisi terkini dari blockchain.
Apa artinya menjadi blockchain EVM L1 dengan banyak pengusul?
Infrastruktur L1 dapat melakukan berbagai perbaikan, dan berbagai L1 juga menghadapi berbagai tantangan teknis, mulai dari masalah ekonomi seperti MEV hingga masalah teknis seperti manajemen status.
Sebagai L1 chain pertama yang mendukung banyak proposal, ini cukup menantang, terutama untuk EVM L1, karena desain awal EVM tidak mendukung sistem banyak proposal.
Namun, Sei sedang mencoba berbagai cara untuk mempertahankan EVM serta banyak alat yang biasa digunakan oleh pengembang.
Eksekusi transaksi paralel, konsensus selama eksekusi, dan operasi paralel oleh beberapa pengusul semuanya berkontribusi pada peningkatan kinerja, menghasilkan throughput eksekusi sekitar 50x lebih tinggi. Namun, perbaikan ini mungkin juga tunduk pada beberapa risiko yang disebutkan di atas.
Ini adalah pembaruan besar kedua Sei, sebelumnya Sei bertransformasi dari rantai Cosmos ke rantai EVM, kini Sei telah meluncurkan klien eksekusi yang dioptimalkan untuk kecepatan.
Perkembangan selanjutnya serta efek lanjutan dari langkah-langkah optimasi ini patut diperhatikan.