Desain GAS pertama MOVE: Analisis metode perhitungan biaya GAS on-chain
Versi awal bahasa MOVE tidak mempertimbangkan mekanisme GAS, sehingga rencana GAS yang dirancang untuk proyek blockchain tertentu disebut sebagai "sebuah petualangan". Rencana tersebut menjelaskan prinsip, proses, metode perhitungan, penyesuaian di kemudian hari, dan lain-lain terkait pembuatan GAS, serta menyambut masukan dari komunitas.
Pengukuran GAS adalah konsep dasar di banyak blockchain, digunakan untuk mengukur sumber daya komputasi dan penyimpanan yang diperlukan untuk mengeksekusi dan menyimpan transaksi on-chain. Rencana GAS menentukan biaya semua eksekusi on-chain, digunakan untuk menghitung pengeluaran GAS selama eksekusi transaksi.
alur
Proses implementasi GAS dari proyek blockchain ini mencakup:
Prinsip Definisi
Siapkan kerangka evaluasi, tentukan harga untuk setiap pelaksanaan
Membangun sistem pengukuran GAS dan aljabar GAS yang aman untuk MOVE
Mengimpor kerangka GAS hulu
Membuat kerangka GAS memiliki kesadaran penyimpanan
Memperinci lebih lanjut rencana GAS
Prinsip
Prinsip yang ditetapkan oleh proyek meliputi:
Biaya operasi harus terkait langsung dengan sumber daya yang tersedia di jaringan, dan harus menurun seiring dengan kemajuan teknologi.
GAS diatur oleh pemerintahan on-chain, dapat dikonfigurasi dengan mulus
GAS dapat mencegah serangan DoS, dapat disesuaikan dengan cepat berdasarkan kondisi jaringan.
Harga GAS mencerminkan visi untuk pertumbuhan yang cepat dan menjaga popularitas blockchain.
Mendorong pilihan dalam desain yang menguntungkan keamanan, modulasi, dan lainnya.
menghitung GAS
Pengguna harus menentukan saat mengajukan transaksi:
Jumlah GAS maksimum: jumlah unit GAS maksimum yang bersedia dikeluarkan untuk mengeksekusi transaksi
Harga GAS: dihitung dalam octal, 1 octal = 0.00000001 token asli
Biaya yang dikenakan selama proses eksekusi transaksi:
Biaya tetap
Biaya Eksekusi
Biaya Pembacaan
Biaya Penulisan
Biaya transaksi akhir = Total GAS yang digunakan × Harga GAS per unit
Misalnya, sebuah transaksi menghabiskan 670 unit GAS, pengguna menetapkan harga GAS per unit sebesar 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 berdasarkan jumlah maksimum GAS yang digunakan, semua perubahan yang dilakukan oleh transaksi tersebut akan dibatalkan.
Membuat tabel rencana GAS
1. Konfigurasi Dasar
Rencana GAS mencakup komponen yang tidak terkait dengan satu operasi, seperti ukuran transaksi dan unit GAS maksimum.
2. Skala Transaksi
Sebagian besar ukuran transaksi berada pada tingkat kilobyte, tetapi modul Move yang dirilis dapat mencapai beberapa kilobyte. Awalnya, ukuran transaksi ditetapkan pada 32KB, kemudian disesuaikan menjadi 64KB berdasarkan umpan balik dari komunitas.
Transaksi berskala besar akan meningkatkan biaya bandwidth jaringan dan mungkin mempengaruhi kinerja. Memori pool cenderung mengabaikan transaksi yang lebih besar, sehingga perlu menyeimbangkan antara skala maksimum dan aksesibilitas.
3. Unit GAS Maksimal
Definisi unit GAS maksimum dalam rencana GAS menentukan jumlah maksimum operasi yang dapat dieksekusi dalam transaksi. Menetapkan terlalu tinggi dapat menyebabkan dampak kinerja negatif, seperti loop tak terbatas. Pengujian menunjukkan bahwa bahkan dengan peningkatan kerangka maksimum, tidak mencapai 90% dari unit GAS maksimum yang ditetapkan (1,000,000).
4. Eksekusi
Tim membangun kerangka acuan dan menggunakan alat analisis untuk mengevaluasi biaya eksekusi, memperkirakan secara kasar biaya relatif semua instruksi MOVE dan fungsi bawaan. Dengan mempertimbangkan contoh pengkodean yang meningkatkan ketahanan dan keamanan sistem, jumlah instruksi mesin yang dieksekusi akhirnya diperoleh.
5. Penyimpanan
Saat mengakses item status buku besar atau data, node akan mengeluarkan permintaan baca/tulis ke perangkat penyimpanan. Jumlah akses data dibatasi oleh bandwidth perangkat penyimpanan dan kapasitas IOPS. Tim mempertimbangkan biaya ini saat merancang rencana penyimpanan GAS.
Mengakses dan menyimpan item status akan menimbulkan biaya yang terkait dengan struktur data yang memverifikasi seluruh status blockchain. Rumus perhitungan biaya adalah:
Biaya penyimpanan GAS = Biaya proyek + ( biaya byte × jumlah byte )
Baca, buat, dan tulis
Akses item status dibagi menjadi tiga jenis: baca, buat, dan tulis:
Operasi baca paling umum, hanya dibatasi oleh kelangkaan sumber daya sesaat.
Membuat operasi menambahkan item baru ke dalam penyimpanan status, biaya tertinggi
Operasi tulis memperbarui item yang ada, tidak menghasilkan overhead struktur data verifikasi tambahan
Biaya terkait penyimpanan dievaluasi berdasarkan setiap transaksi, biaya hanya dikenakan sekali untuk beberapa kali baca dan tulis sumber daya yang sama.
Tim telah mendefinisikan 6 parameter GAS yang membentuk total biaya GAS:
per_item_read:kalibrasi berdasarkan IOPs
per_byte_read: disesuaikan berdasarkan bandwidth
per_item_create: sesuai dengan kalibrasi total proyek yang ditargetkan
per_byte_create: menyesuaikan berdasarkan total ukuran target
per_item_write: sama dengan per_item_read
per_byte_write: sama dengan per_byte_create
biaya unit GAS yang stabil
Setiap operasi dan transaksi itu sendiri membutuhkan biaya unit tetap relatif terhadap biaya penyimpanan dan eksekusi. Biaya unit GAS tetap membantu menjaga rencana GAS tetap konsisten dan terlepas dari nilai pasar token asli.
Tim menyatakan unit GAS dengan presisi sekitar 3 digit, seperti biaya transaksi transfer sekitar 700 unit GAS.
partisipasi komunitas
Anggota komunitas dapat:
Temukan ketidakwajaran dalam rencana GAS
Menyampaikan kekhawatiran tentang rencana GAS dan berpartisipasi dalam diskusi
Tentang pemungutan suara untuk proposal tata kelola terkait GAS
Bagaimana cara menyesuaikan biaya GAS?
Rencana GAS sebagai penyimpanan konfigurasi on-chain, dapat diubah melalui proposal tata kelola, dan dapat menambahkan instruksi atau fungsi baru secara seamless.
Desain rencana GAS yang dapat diperluas, memungkinkan peningkatan melalui proposal tata kelola. Seiring dengan perbaikan proyek dan penggabungan umpan balik pengguna, parameter GAS dapat disesuaikan secara bertahap.
Perubahan rumus GAS yang kompleks perlu memperbarui perangkat lunak node, setelah diadopsi secara luas, penggunaan versi baru disetujui melalui proposal tata kelola.
Pekerjaan Masa Depan
Sebagai kerangka GAS yang dapat digunakan pertama kali di MOVE, proyek ini meletakkan dasar untuk pekerjaan di masa depan:
Mengurangi biaya eksekusi: Meningkatkan efisiensi kompilator dan mesin virtual
Perhitungan GAS Multi-Dimensi: memungkinkan pengguna untuk menetapkan anggaran terpisah untuk eksekusi dan penyimpanan.
Mengurangi status yang tidak efisien: menjelajahi konsep TTL setiap proyek, menghapus item status yang tidak diakses saat TTL kedaluwarsa.
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 untuk bahasa MOVE: Analisis lengkap skema penagihan sumber daya on-chain
Desain GAS pertama MOVE: Analisis metode perhitungan biaya GAS on-chain
Versi awal bahasa MOVE tidak mempertimbangkan mekanisme GAS, sehingga rencana GAS yang dirancang untuk proyek blockchain tertentu disebut sebagai "sebuah petualangan". Rencana tersebut menjelaskan prinsip, proses, metode perhitungan, penyesuaian di kemudian hari, dan lain-lain terkait pembuatan GAS, serta menyambut masukan dari komunitas.
Pengukuran GAS adalah konsep dasar di banyak blockchain, digunakan untuk mengukur sumber daya komputasi dan penyimpanan yang diperlukan untuk mengeksekusi dan menyimpan transaksi on-chain. Rencana GAS menentukan biaya semua eksekusi on-chain, digunakan untuk menghitung pengeluaran GAS selama eksekusi transaksi.
alur
Proses implementasi GAS dari proyek blockchain ini mencakup:
Prinsip
Prinsip yang ditetapkan oleh proyek meliputi:
menghitung GAS
Pengguna harus menentukan saat mengajukan transaksi:
Biaya yang dikenakan selama proses eksekusi transaksi:
Biaya transaksi akhir = Total GAS yang digunakan × Harga GAS per unit
Misalnya, sebuah transaksi menghabiskan 670 unit GAS, pengguna menetapkan harga GAS per unit sebesar 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 berdasarkan jumlah maksimum GAS yang digunakan, semua perubahan yang dilakukan oleh transaksi tersebut akan dibatalkan.
Membuat tabel rencana GAS
1. Konfigurasi Dasar
Rencana GAS mencakup komponen yang tidak terkait dengan satu operasi, seperti ukuran transaksi dan unit GAS maksimum.
2. Skala Transaksi
Sebagian besar ukuran transaksi berada pada tingkat kilobyte, tetapi modul Move yang dirilis dapat mencapai beberapa kilobyte. Awalnya, ukuran transaksi ditetapkan pada 32KB, kemudian disesuaikan menjadi 64KB berdasarkan umpan balik dari komunitas.
Transaksi berskala besar akan meningkatkan biaya bandwidth jaringan dan mungkin mempengaruhi kinerja. Memori pool cenderung mengabaikan transaksi yang lebih besar, sehingga perlu menyeimbangkan antara skala maksimum dan aksesibilitas.
3. Unit GAS Maksimal
Definisi unit GAS maksimum dalam rencana GAS menentukan jumlah maksimum operasi yang dapat dieksekusi dalam transaksi. Menetapkan terlalu tinggi dapat menyebabkan dampak kinerja negatif, seperti loop tak terbatas. Pengujian menunjukkan bahwa bahkan dengan peningkatan kerangka maksimum, tidak mencapai 90% dari unit GAS maksimum yang ditetapkan (1,000,000).
4. Eksekusi
Tim membangun kerangka acuan dan menggunakan alat analisis untuk mengevaluasi biaya eksekusi, memperkirakan secara kasar biaya relatif semua instruksi MOVE dan fungsi bawaan. Dengan mempertimbangkan contoh pengkodean yang meningkatkan ketahanan dan keamanan sistem, jumlah instruksi mesin yang dieksekusi akhirnya diperoleh.
5. Penyimpanan
Saat mengakses item status buku besar atau data, node akan mengeluarkan permintaan baca/tulis ke perangkat penyimpanan. Jumlah akses data dibatasi oleh bandwidth perangkat penyimpanan dan kapasitas IOPS. Tim mempertimbangkan biaya ini saat merancang rencana penyimpanan GAS.
Mengakses dan menyimpan item status akan menimbulkan biaya yang terkait dengan struktur data yang memverifikasi seluruh status blockchain. Rumus perhitungan biaya adalah:
Biaya penyimpanan GAS = Biaya proyek + ( biaya byte × jumlah byte )
Baca, buat, dan tulis
Akses item status dibagi menjadi tiga jenis: baca, buat, dan tulis:
Biaya terkait penyimpanan dievaluasi berdasarkan setiap transaksi, biaya hanya dikenakan sekali untuk beberapa kali baca dan tulis sumber daya yang sama.
Tim telah mendefinisikan 6 parameter GAS yang membentuk total biaya GAS:
biaya unit GAS yang stabil
Setiap operasi dan transaksi itu sendiri membutuhkan biaya unit tetap relatif terhadap biaya penyimpanan dan eksekusi. Biaya unit GAS tetap membantu menjaga rencana GAS tetap konsisten dan terlepas dari nilai pasar token asli.
Tim menyatakan unit GAS dengan presisi sekitar 3 digit, seperti biaya transaksi transfer sekitar 700 unit GAS.
partisipasi komunitas
Anggota komunitas dapat:
Bagaimana cara menyesuaikan biaya GAS?
Rencana GAS sebagai penyimpanan konfigurasi on-chain, dapat diubah melalui proposal tata kelola, dan dapat menambahkan instruksi atau fungsi baru secara seamless.
Desain rencana GAS yang dapat diperluas, memungkinkan peningkatan melalui proposal tata kelola. Seiring dengan perbaikan proyek dan penggabungan umpan balik pengguna, parameter GAS dapat disesuaikan secara bertahap.
Perubahan rumus GAS yang kompleks perlu memperbarui perangkat lunak node, setelah diadopsi secara luas, penggunaan versi baru disetujui melalui proposal tata kelola.
Pekerjaan Masa Depan
Sebagai kerangka GAS yang dapat digunakan pertama kali di MOVE, proyek ini meletakkan dasar untuk pekerjaan di masa depan: