Desain GAS pertama MOVE: Menjelajahi metode perhitungan biaya GAS on-chain
Versi sebelumnya dari bahasa MOVE awalnya direncanakan untuk berjalan di lingkungan tanpa GAS, sehingga tidak dirancang untuk GAS. Baru-baru ini, sebuah tim proyek blockchain meluncurkan skema desain GAS pertama untuk rantai mereka yang berbasis bahasa MOVE, yang disebut sebagai upaya "petualangan".
Dalam skema GAS ini, tim telah menjelaskan prinsip, proses, metode perhitungan, dan mekanisme penyesuaian di kemudian hari untuk menetapkan GAS, serta menyatakan bahwa mereka menyambut saran dari komunitas.
Pengukuran GAS adalah konsep dasar dari proyek ini dan banyak blockchain lainnya, yang mendefinisikan jumlah sumber daya komputasi dan penyimpanan yang diperlukan untuk mengeksekusi dan menyimpan transaksi on-chain. Skema GAS menentukan biaya semua eksekusi on-chain, yang digunakan untuk menghitung biaya GAS yang digunakan selama eksekusi transaksi.
proses
Untuk menjalankan dengan efektif, proses di on-chain proyek ini adalah:
Prinsip Definisi
Siapkan kerangka evaluasi, tentukan harga untuk setiap eksekusi
Membangun sistem pengukuran GAS dan aljabar GAS yang aman untuk MOVE
Mengimpor kerangka GAS hulu ke dalam proyek
Membuat kerangka GAS memiliki kesadaran penyimpanan
Memperinci lebih lanjut rencana GAS
Prinsip
Prinsip yang didefinisikan meliputi:
Biaya operasional harus terkait langsung dengan sumber daya yang tersedia di jaringan dan menurun seiring dengan kemajuan teknologi.
GAS harus diatur oleh pemerintahan on-chain, dapat dikonfigurasi dengan fleksibel
GAS dapat mencegah serangan DoS, dan dapat menyesuaikan dengan cepat berdasarkan kondisi jaringan.
Harga GAS mencerminkan visi yayasan proyek dalam mempromosikan pertumbuhan dan menjaga aksesibilitas blockchain.
Mendorong untuk membuat pilihan yang baik dalam desain, seperti fokus pada keamanan, modularitas, dan lain-lain.
menghitung GAS
Pengguna harus menentukan dua jumlah saat mengajukan transaksi:
Jumlah GAS maksimum: Jumlah unit GAS maksimum yang bersedia dibayar pengguna untuk mengeksekusi transaksi
Harga GAS: dihitung dalam basis delapan per unit GAS, 1 basis delapan = 0,00000001 token asli
Selama proses eksekusi, transaksi akan dikenakan biaya:
Biaya tetap
Biaya Eksekusi
Membaca biaya
Biaya penulisan
Biaya transaksi akhir = Total GAS yang digunakan × Harga per GAS
Misalnya, jika sebuah transaksi menghabiskan 670 unit GAS, harga GAS yang ditentukan pengguna adalah 100 Octa per unit, maka biaya transaksi akhir adalah 670 × 100 = 67000 Octa = 0.00067 token asli.
Jika selama proses eksekusi transaksi kehabisan GAS, pengirim akan dikenakan biaya sesuai dengan jumlah GAS maksimum, dan semua perubahan yang dilakukan oleh transaksi akan dibatalkan.
membangun tabel rencana GAS
Konfigurasi Dasar
Rencana GAS mencakup beberapa komponen yang tidak terkait dengan operasi tunggal, seperti ukuran transaksi dan maksimum unit GAS.
Skala Transaksi
Sebagian besar ukuran transaksi berada pada tingkat kilobyte, tetapi modul MOVE dapat dirilis hingga beberapa kilobyte, dan kerangka proyek sekitar 100 KB. Ukuran transaksi awal ditetapkan pada 32KB, kemudian disesuaikan menjadi 64KB berdasarkan permintaan komunitas, untuk menyederhanakan pengembangan aplikasi.
Unit GAS maksimum
Definisi maksimum unit GAS dalam rencana GAS menentukan jumlah maksimum operasi yang dapat dieksekusi dalam satu transaksi. Penetapan yang terlalu tinggi dapat berdampak negatif pada kinerja blockchain. Saat ini ditetapkan pada 1.000.000, bahkan setelah peningkatan kerangka maksimum tidak melebihi 90%.
Eksekusi
Melalui kerangka acuan dan alat analisis untuk mengevaluasi biaya eksekusi, memperkirakan biaya relatif dari semua instruksi MOVE dan fungsi asli. Mengingat ketahanan dan keamanan sistem, menghasilkan jumlah instruksi mesin yang dieksekusi akhir, dan mempertimbangkan penyimpanan serta unit GAS maksimum.
Penyimpanan
Rencana penyimpanan GAS mempertimbangkan kelangkaan akses data yang bersifat sementara dan biaya penggunaan disk permanen. Akses dan penyimpanan item status menimbulkan biaya terkait dengan verifikasi status seluruh blockchain. Biaya penyimpanan GAS = biaya proyek + biaya ( byte × jumlah byte )
Baca, buat, dan tulis
Akses item status dibagi menjadi tiga jenis: baca, buat, dan tulis, masing-masing memiliki cara perhitungan biaya yang berbeda. Operasi baca adalah yang paling umum, operasi buat memiliki biaya tertinggi, dan operasi tulis berada di antara keduanya.
Berdasarkan pertimbangan ini, didefinisikan 6 parameter GAS:
per_item_read
per_byte_read
per_item_create
per_byte_create
per_item_write
per_byte_write
biaya unit GAS yang stabil
Setiap operasi dan transaksi itu sendiri memerlukan biaya unit tetap relatif terhadap biaya penyimpanan dan eksekusi, yang membantu menjaga stabilitas rencana GAS. Tim proyek menyatakan unit GAS dengan akurasi sekitar 3 digit, sehingga biaya transaksi transfer sekitar 700 unit GAS.
partisipasi komunitas
Sebagai proyek komunitas, anggota dapat:
Menunjukkan ketidakwajaran dalam rencana GAS
Mengungkapkan kekhawatiran tentang rencana GAS dan berpartisipasi dalam diskusi
Melakukan voting pada proposal tata kelola yang terkait dengan GAS
Bagaimana cara mengatur biaya GAS?
Rencana GAS sebagai penyimpanan konfigurasi on-chain dapat diubah melalui proposal pemerintahan, dan dapat menambahkan instruksi baru atau fungsi asli secara mulus. Parameter GAS dapat disesuaikan seiring waktu untuk menyesuaikan perkembangan proyek dan komunitas.
Perubahan rumus GAS yang kompleks mungkin memerlukan pembaruan perangkat lunak node dan dibedakan melalui fitur baru tanda GAS. Ini memerlukan operator node untuk secara luas mengadopsi perangkat lunak baru dan menyetujui penggunaan versi baru melalui proposal tata kelola.
Pekerjaan Masa Depan
Sebagai kerangka GAS yang layak pertama untuk bahasa Move, proyek ini membuka jalan untuk pekerjaan di masa depan:
Mengurangi biaya eksekusi
Mewujudkan perhitungan GAS multidimensi, memungkinkan pengguna untuk menetapkan anggaran terpisah untuk eksekusi dan penyimpanan.
Mengurangi keadaan bengkak, menjelajahi konsep TTL setiap proyek, menghapus item status yang tidak diakses saat TTL kedaluwarsa.
GAS ini dirancang untuk memberikan dasar yang penting bagi pengembangan ekosistem bahasa MOVE, dan masih ada banyak ruang untuk optimasi dan perbaikan di masa depan.
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Desain GAS pertama kali dalam bahasa MOVE: Analisis lengkap tentang perhitungan biaya on-chain
Desain GAS pertama MOVE: Menjelajahi metode perhitungan biaya GAS on-chain
Versi sebelumnya dari bahasa MOVE awalnya direncanakan untuk berjalan di lingkungan tanpa GAS, sehingga tidak dirancang untuk GAS. Baru-baru ini, sebuah tim proyek blockchain meluncurkan skema desain GAS pertama untuk rantai mereka yang berbasis bahasa MOVE, yang disebut sebagai upaya "petualangan".
Dalam skema GAS ini, tim telah menjelaskan prinsip, proses, metode perhitungan, dan mekanisme penyesuaian di kemudian hari untuk menetapkan GAS, serta menyatakan bahwa mereka menyambut saran dari komunitas.
Pengukuran GAS adalah konsep dasar dari proyek ini dan banyak blockchain lainnya, yang mendefinisikan jumlah sumber daya komputasi dan penyimpanan yang diperlukan untuk mengeksekusi dan menyimpan transaksi on-chain. Skema GAS menentukan biaya semua eksekusi on-chain, yang digunakan untuk menghitung biaya GAS yang digunakan selama eksekusi transaksi.
proses
Untuk menjalankan dengan efektif, proses di on-chain proyek ini adalah:
Prinsip
Prinsip yang didefinisikan meliputi:
menghitung GAS
Pengguna harus menentukan dua jumlah saat mengajukan transaksi:
Selama proses eksekusi, transaksi akan dikenakan biaya:
Biaya transaksi akhir = Total GAS yang digunakan × Harga per GAS
Misalnya, jika sebuah transaksi menghabiskan 670 unit GAS, harga GAS yang ditentukan pengguna adalah 100 Octa per unit, maka biaya transaksi akhir adalah 670 × 100 = 67000 Octa = 0.00067 token asli.
Jika selama proses eksekusi transaksi kehabisan GAS, pengirim akan dikenakan biaya sesuai dengan jumlah GAS maksimum, dan semua perubahan yang dilakukan oleh transaksi akan dibatalkan.
membangun tabel rencana GAS
Rencana GAS mencakup beberapa komponen yang tidak terkait dengan operasi tunggal, seperti ukuran transaksi dan maksimum unit GAS.
Sebagian besar ukuran transaksi berada pada tingkat kilobyte, tetapi modul MOVE dapat dirilis hingga beberapa kilobyte, dan kerangka proyek sekitar 100 KB. Ukuran transaksi awal ditetapkan pada 32KB, kemudian disesuaikan menjadi 64KB berdasarkan permintaan komunitas, untuk menyederhanakan pengembangan aplikasi.
Definisi maksimum unit GAS dalam rencana GAS menentukan jumlah maksimum operasi yang dapat dieksekusi dalam satu transaksi. Penetapan yang terlalu tinggi dapat berdampak negatif pada kinerja blockchain. Saat ini ditetapkan pada 1.000.000, bahkan setelah peningkatan kerangka maksimum tidak melebihi 90%.
Melalui kerangka acuan dan alat analisis untuk mengevaluasi biaya eksekusi, memperkirakan biaya relatif dari semua instruksi MOVE dan fungsi asli. Mengingat ketahanan dan keamanan sistem, menghasilkan jumlah instruksi mesin yang dieksekusi akhir, dan mempertimbangkan penyimpanan serta unit GAS maksimum.
Rencana penyimpanan GAS mempertimbangkan kelangkaan akses data yang bersifat sementara dan biaya penggunaan disk permanen. Akses dan penyimpanan item status menimbulkan biaya terkait dengan verifikasi status seluruh blockchain. Biaya penyimpanan GAS = biaya proyek + biaya ( byte × jumlah byte )
Baca, buat, dan tulis
Akses item status dibagi menjadi tiga jenis: baca, buat, dan tulis, masing-masing memiliki cara perhitungan biaya yang berbeda. Operasi baca adalah yang paling umum, operasi buat memiliki biaya tertinggi, dan operasi tulis berada di antara keduanya.
Berdasarkan pertimbangan ini, didefinisikan 6 parameter GAS:
biaya unit GAS yang stabil
Setiap operasi dan transaksi itu sendiri memerlukan biaya unit tetap relatif terhadap biaya penyimpanan dan eksekusi, yang membantu menjaga stabilitas rencana GAS. Tim proyek menyatakan unit GAS dengan akurasi sekitar 3 digit, sehingga biaya transaksi transfer sekitar 700 unit GAS.
partisipasi komunitas
Sebagai proyek komunitas, anggota dapat:
Bagaimana cara mengatur biaya GAS?
Rencana GAS sebagai penyimpanan konfigurasi on-chain dapat diubah melalui proposal pemerintahan, dan dapat menambahkan instruksi baru atau fungsi asli secara mulus. Parameter GAS dapat disesuaikan seiring waktu untuk menyesuaikan perkembangan proyek dan komunitas.
Perubahan rumus GAS yang kompleks mungkin memerlukan pembaruan perangkat lunak node dan dibedakan melalui fitur baru tanda GAS. Ini memerlukan operator node untuk secara luas mengadopsi perangkat lunak baru dan menyetujui penggunaan versi baru melalui proposal tata kelola.
Pekerjaan Masa Depan
Sebagai kerangka GAS yang layak pertama untuk bahasa Move, proyek ini membuka jalan untuk pekerjaan di masa depan:
GAS ini dirancang untuk memberikan dasar yang penting bagi pengembangan ekosistem bahasa MOVE, dan masih ada banyak ruang untuk optimasi dan perbaikan di masa depan.