Desain GAS pertama MOVE: Analisis metode perhitungan biaya GAS on-chain
Versi awal bahasa MOVE awalnya direncanakan untuk berjalan di lingkungan tanpa GAS, sehingga tidak dipersiapkan untuk mekanisme GAS. Baru-baru ini, sebuah tim dari publik blockchain merancang solusi GAS pertama untuk bahasa MOVE, yang disebut sebagai percobaan "petualangan".
Dalam skema GAS ini, tim yang ditetapkan menjelaskan prinsip desain, proses implementasi, metode perhitungan GAS, mekanisme penyesuaian selanjutnya, dan menyatakan bahwa mereka menyambut saran dari komunitas.
Pengukuran GAS adalah konsep dasar dari banyak blockchain, yang secara abstrak mendefinisikan jumlah sumber daya komputasi dan penyimpanan yang diperlukan untuk menjalankan dan menyimpan transaksi on-chain. Skema GAS menentukan biaya dari semua operasi eksekusi on-chain, yang digunakan untuk menghitung pengeluaran GAS selama eksekusi transaksi.
Proses Implementasi
Untuk melaksanakan dengan efektif, proses di on-chain ini mencakup:
Menentukan Prinsip Desain
Siapkan kerangka evaluasi, tentukan harga untuk setiap operasi yang dilakukan
Membangun sistem pengukuran GAS dan algebra GAS yang aman untuk MOVE
Mengimpor kerangka GAS hulu ke on-chain
Membuat kerangka GAS memiliki kemampuan untuk menyimpan kesadaran
Mengoptimalkan skema GAS lebih lanjut
Prinsip Desain
Biaya operasional harus terkait langsung dengan sumber daya yang tersedia di jaringan (seperti CPU, memori, jaringan, penyimpanan I/O, dan penggunaan ruang, dll). Seiring dengan perbaikan teknologi dan proses, biaya GAS harus menurun sesuai.
GAS harus diatur oleh on-chain governance dan dapat dikonfigurasi tanpa gangguan.
GAS dapat mencegah serangan DoS terhadap sumber daya tetap jaringan, dan dapat disesuaikan dengan cepat melalui tata kelola berdasarkan kondisi jaringan.
Harga GAS harus mencerminkan visi untuk pertumbuhan yang dipercepat dan menjaga popularitas blockchain.
Mendorong untuk membuat pilihan yang baik dalam desain, seperti memprioritaskan keamanan, modularitas, dan pernyataan.
metode perhitungan GAS
Pengguna harus menentukan dua nilai saat mengajukan transaksi:
Jumlah GAS maksimum: Jumlah unit GAS maksimum yang bersedia dibayar pengguna untuk mengeksekusi transaksi.
Harga unit GAS: dihitung dalam oktal per unit GAS, 1 oktal = 0,00000001 token asli.
Biaya akan dikenakan selama proses eksekusi transaksi:
Biaya tetap: Biaya dasar ditambah biaya tambahan untuk transaksi besar
Biaya eksekusi: digunakan untuk mengeksekusi instruksi MOVE
Biaya pembacaan: biaya untuk membaca data dari penyimpanan permanen
Biaya penulisan: Biaya untuk menulis data ke penyimpanan permanen
Biaya transaksi akhir = Total GAS yang digunakan × Harga per GAS
Misalnya, sebuah transaksi menghabiskan 670 unit GAS, harga GAS yang ditentukan pengguna adalah 100 Octa/unit, maka biaya akhirnya adalah 670 × 100 = 67000 Octa = 0.00067 token asli.
Jika GAS habis selama eksekusi transaksi, pengirim akan dikenakan biaya sesuai dengan jumlah GAS maksimum, dan semua perubahan akan dibatalkan.
Penjelasan Rencana GAS
Konfigurasi Dasar
Rencana GAS mencakup beberapa komponen yang tidak terkait dengan operasi tunggal, seperti ukuran transaksi dan unit GAS maksimum.
Skala transaksi
Sebagian besar ukuran transaksi berada pada tingkat kilobyte. Publikasi modul MOVE dapat mencapai beberapa ribu byte, sedangkan kerangka tertentu sekitar 100KB. Modul pengguna biasanya berada di antara 4KB hingga 40KB. Ukuran transaksi awal ditetapkan pada 32KB, kemudian disesuaikan menjadi 64KB berdasarkan umpan balik komunitas untuk menyederhanakan pengembangan aplikasi.
Transaksi yang terlalu besar akan meningkatkan biaya bandwidth jaringan dan mungkin mempengaruhi kinerja. Untuk menyeimbangkan skala dan aksesibilitas, mempool mungkin akan mengabaikan transaksi yang terlalu besar.
Unit GAS maksimum
Definisi unit GAS maksimum dalam skema GAS menentukan jumlah maksimum operasi yang dapat dieksekusi dalam satu transaksi. Ini berbeda dengan jumlah GAS maksimum yang ditentukan oleh pengguna. Mengatur terlalu tinggi dapat menyebabkan masalah kinerja, seperti loop tak terbatas. Saat ini, bahkan dengan peningkatan kerangka kerja dalam skala maksimum, hanya kurang dari 90% dari unit GAS maksimum (ditetapkan pada 1.000.000) yang digunakan.
Evaluasi Biaya Eksekusi
Tim menggunakan kerangka acuan dan alat analisis Valgrind untuk mengevaluasi biaya eksekusi, dan menghasilkan biaya relatif dari instruksi MOVE dan fungsi asli. Dengan mempertimbangkan contoh pengkodean yang meningkatkan ketahanan dan keamanan sistem, jumlah instruksi mesin yang dieksekusi akhirnya ditentukan.
Biaya penyimpanan
Rencana penyimpanan GAS mempertimbangkan bandwidth akses data, kapasitas IOPS, dan biaya penyimpanan permanen. Mengakses item status mana pun melibatkan biaya yang terkait dengan verifikasi status blockchain. Rumus perhitungan biaya penyimpanan GAS adalah:
Biaya penyimpanan GAS = Biaya proyek + ( biaya byte × Jumlah byte )
Operasi membaca, membuat, dan menulis
Membaca: Operasi yang paling umum, menyesuaikan biaya berdasarkan IOPS dan kapasitas bandwidth disk.
Membuat: Menambahkan item baru ke dalam penyimpanan status, biaya tertinggi, disesuaikan dengan ruang disk jaringan.
Tulis: Memperbarui item yang ada, biaya byte sama dengan pembuatan.
Biaya terkait penyimpanan dievaluasi berdasarkan setiap transaksi, bahkan jika membaca/menulis sumber yang sama beberapa kali, hanya dikenakan biaya sekali.
partisipasi komunitas
Sebagai proyek komunitas, anggota dapat:
Menunjukkan ketidakrasionalan dalam rencana GAS
Mengajukan kekhawatiran dan berpartisipasi dalam diskusi
Melakukan voting terhadap proposal tata kelola yang relevan
penyesuaian biaya GAS
GAS plan sebagai penyimpanan konfigurasi on-chain, dapat diubah melalui proposal tata kelola. Ini dirancang untuk dapat diskalakan, memungkinkan peningkatan melalui tata kelola. Seiring dengan kemajuan teknologi dan umpan balik pengguna, parameter GAS dapat disesuaikan seiring berjalannya waktu.
Perubahan rumus GAS yang kompleks mungkin memerlukan pembaruan perangkat lunak node, dan membedakan melalui fitur tanda GAS baru. Ini memerlukan operator node untuk mengadopsi versi baru secara luas dan menyetujui penggunaan melalui proposal tata kelola.
Pekerjaan Masa Depan
Sebagai kerangka GAS pertama untuk bahasa MOVE, desain ini meletakkan dasar untuk pekerjaan di masa depan:
Mengurangi biaya eksekusi: dengan meningkatkan efisiensi compiler dan mesin virtual.
Perhitungan GAS Multi-Dimensi: Memungkinkan pengguna untuk menetapkan anggaran terpisah untuk eksekusi dan penyimpanan, sehingga mencapai definisi harga GAS maksimum yang lebih rinci.
Mengurangi pembengkakan status: Menjelajahi konsep TTL setiap proyek, secara otomatis menghapus item status yang tidak terakses saat TTL kedaluwarsa, untuk mendorong pengembang membersihkan data on-chain.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
14 Suka
Hadiah
14
5
Bagikan
Komentar
0/400
GateUser-3824aa38
· 07-06 09:00
Hemat gas sudah cukup.
Lihat AsliBalas0
CascadingDipBuyer
· 07-06 08:56
Bull, akhirnya ada yang mengurus gas.
Lihat AsliBalas0
GigaBrainAnon
· 07-06 08:54
Gas ini terlalu berat, harganya membuatku lemas.
Lihat AsliBalas0
ZkSnarker
· 07-06 08:53
secara teknis model gas ini hanyalah zkvm dengan langkah tambahan
Mekanisme GAS yang diperkenalkan oleh bahasa MOVE: Analisis lengkap tentang skema penagihan sumber daya on-chain
Desain GAS pertama MOVE: Analisis metode perhitungan biaya GAS on-chain
Versi awal bahasa MOVE awalnya direncanakan untuk berjalan di lingkungan tanpa GAS, sehingga tidak dipersiapkan untuk mekanisme GAS. Baru-baru ini, sebuah tim dari publik blockchain merancang solusi GAS pertama untuk bahasa MOVE, yang disebut sebagai percobaan "petualangan".
Dalam skema GAS ini, tim yang ditetapkan menjelaskan prinsip desain, proses implementasi, metode perhitungan GAS, mekanisme penyesuaian selanjutnya, dan menyatakan bahwa mereka menyambut saran dari komunitas.
Pengukuran GAS adalah konsep dasar dari banyak blockchain, yang secara abstrak mendefinisikan jumlah sumber daya komputasi dan penyimpanan yang diperlukan untuk menjalankan dan menyimpan transaksi on-chain. Skema GAS menentukan biaya dari semua operasi eksekusi on-chain, yang digunakan untuk menghitung pengeluaran GAS selama eksekusi transaksi.
Proses Implementasi
Untuk melaksanakan dengan efektif, proses di on-chain ini mencakup:
Prinsip Desain
Biaya operasional harus terkait langsung dengan sumber daya yang tersedia di jaringan (seperti CPU, memori, jaringan, penyimpanan I/O, dan penggunaan ruang, dll). Seiring dengan perbaikan teknologi dan proses, biaya GAS harus menurun sesuai.
GAS harus diatur oleh on-chain governance dan dapat dikonfigurasi tanpa gangguan.
GAS dapat mencegah serangan DoS terhadap sumber daya tetap jaringan, dan dapat disesuaikan dengan cepat melalui tata kelola berdasarkan kondisi jaringan.
Harga GAS harus mencerminkan visi untuk pertumbuhan yang dipercepat dan menjaga popularitas blockchain.
Mendorong untuk membuat pilihan yang baik dalam desain, seperti memprioritaskan keamanan, modularitas, dan pernyataan.
metode perhitungan GAS
Pengguna harus menentukan dua nilai saat mengajukan transaksi:
Biaya akan dikenakan selama proses eksekusi transaksi:
Biaya transaksi akhir = Total GAS yang digunakan × Harga per GAS
Misalnya, sebuah transaksi menghabiskan 670 unit GAS, harga GAS yang ditentukan pengguna adalah 100 Octa/unit, maka biaya akhirnya adalah 670 × 100 = 67000 Octa = 0.00067 token asli.
Jika GAS habis selama eksekusi transaksi, pengirim akan dikenakan biaya sesuai dengan jumlah GAS maksimum, dan semua perubahan akan dibatalkan.
Penjelasan Rencana GAS
Rencana GAS mencakup beberapa komponen yang tidak terkait dengan operasi tunggal, seperti ukuran transaksi dan unit GAS maksimum.
Sebagian besar ukuran transaksi berada pada tingkat kilobyte. Publikasi modul MOVE dapat mencapai beberapa ribu byte, sedangkan kerangka tertentu sekitar 100KB. Modul pengguna biasanya berada di antara 4KB hingga 40KB. Ukuran transaksi awal ditetapkan pada 32KB, kemudian disesuaikan menjadi 64KB berdasarkan umpan balik komunitas untuk menyederhanakan pengembangan aplikasi.
Transaksi yang terlalu besar akan meningkatkan biaya bandwidth jaringan dan mungkin mempengaruhi kinerja. Untuk menyeimbangkan skala dan aksesibilitas, mempool mungkin akan mengabaikan transaksi yang terlalu besar.
Definisi unit GAS maksimum dalam skema GAS menentukan jumlah maksimum operasi yang dapat dieksekusi dalam satu transaksi. Ini berbeda dengan jumlah GAS maksimum yang ditentukan oleh pengguna. Mengatur terlalu tinggi dapat menyebabkan masalah kinerja, seperti loop tak terbatas. Saat ini, bahkan dengan peningkatan kerangka kerja dalam skala maksimum, hanya kurang dari 90% dari unit GAS maksimum (ditetapkan pada 1.000.000) yang digunakan.
Tim menggunakan kerangka acuan dan alat analisis Valgrind untuk mengevaluasi biaya eksekusi, dan menghasilkan biaya relatif dari instruksi MOVE dan fungsi asli. Dengan mempertimbangkan contoh pengkodean yang meningkatkan ketahanan dan keamanan sistem, jumlah instruksi mesin yang dieksekusi akhirnya ditentukan.
Rencana penyimpanan GAS mempertimbangkan bandwidth akses data, kapasitas IOPS, dan biaya penyimpanan permanen. Mengakses item status mana pun melibatkan biaya yang terkait dengan verifikasi status blockchain. Rumus perhitungan biaya penyimpanan GAS adalah:
Biaya penyimpanan GAS = Biaya proyek + ( biaya byte × Jumlah byte )
Biaya terkait penyimpanan dievaluasi berdasarkan setiap transaksi, bahkan jika membaca/menulis sumber yang sama beberapa kali, hanya dikenakan biaya sekali.
partisipasi komunitas
Sebagai proyek komunitas, anggota dapat:
penyesuaian biaya GAS
GAS plan sebagai penyimpanan konfigurasi on-chain, dapat diubah melalui proposal tata kelola. Ini dirancang untuk dapat diskalakan, memungkinkan peningkatan melalui tata kelola. Seiring dengan kemajuan teknologi dan umpan balik pengguna, parameter GAS dapat disesuaikan seiring berjalannya waktu.
Perubahan rumus GAS yang kompleks mungkin memerlukan pembaruan perangkat lunak node, dan membedakan melalui fitur tanda GAS baru. Ini memerlukan operator node untuk mengadopsi versi baru secara luas dan menyetujui penggunaan melalui proposal tata kelola.
Pekerjaan Masa Depan
Sebagai kerangka GAS pertama untuk bahasa MOVE, desain ini meletakkan dasar untuk pekerjaan di masa depan:
Mengurangi biaya eksekusi: dengan meningkatkan efisiensi compiler dan mesin virtual.
Perhitungan GAS Multi-Dimensi: Memungkinkan pengguna untuk menetapkan anggaran terpisah untuk eksekusi dan penyimpanan, sehingga mencapai definisi harga GAS maksimum yang lebih rinci.
Mengurangi pembengkakan status: Menjelajahi konsep TTL setiap proyek, secara otomatis menghapus item status yang tidak terakses saat TTL kedaluwarsa, untuk mendorong pengembang membersihkan data on-chain.