Desain Gas pertama MOVE: Metode perhitungan konsumsi Gas di rantai Aptos
Pengukuran Gas adalah konsep dasar dari Aptos dan banyak blockchain lainnya, yang mendefinisikan jumlah sumber daya komputasi dan penyimpanan yang diperlukan untuk mengeksekusi dan menyimpan transaksi on-chain. Rencana Gas menentukan biaya semua eksekusi on-chain, yang digunakan untuk menghitung pengeluaran Gas yang digunakan selama eksekusi transaksi.
Proses
Untuk menjalankan dengan efektif, proses di dalam Aptos on-chain mencakup:
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 Aptos
Membuat kerangka Gas memiliki kesadaran penyimpanan
Memperinci rencana Gas lebih lanjut
Prinsip
Prinsip yang didefinisikan termasuk:
Biaya operasional harus terkait langsung dengan sumber daya jaringan yang tersedia. Setelah perbaikan teknologi dan proses, biaya Gas yang diperlukan harus menurun.
Gas harus diatur oleh pemerintahan on-chain, dan dapat dikonfigurasi secara seamless.
Gas dapat mencegah serangan DoS terhadap kumpulan sumber daya tetap jaringan, mungkin perlu disesuaikan dengan cepat melalui saran tata kelola tergantung pada kondisi jaringan.
Harga Gas Aptos mencerminkan keinginan untuk pertumbuhan yang cepat dan mempertahankan popularitas blockchain.
Mendorong untuk membuat pilihan yang baik dalam desain, seperti memprioritaskan keamanan, modularitas, pernyataan, dll.
Perhitungan Gas
Saat pengguna mengajukan transaksi, perlu menentukan dua jumlah:
Jumlah Gas maksimum: diukur dalam unit Gas, jumlah maksimum unit Gas yang bersedia dibayar pengguna untuk mengeksekusi transaksi.
Harga Gas: dihitung dalam oktal per unit Gas, 1 oktal = 0.00000001 APT.
Selama proses eksekusi, transaksi akan dikenakan:
Biaya tetap: basis tetap ditambah biaya tambahan untuk transaksi besar
Biaya eksekusi: digunakan untuk mengeksekusi instruksi MOVE
Biaya pembacaan: digunakan untuk membaca data dari penyimpanan permanen
Biaya penulisan: digunakan untuk menulis data ke penyimpanan permanen
Biaya transaksi akhir dapat dihitung dengan mengalikan total jumlah Gas yang digunakan dengan harga Gas per unit. Misalnya, jika sebuah transaksi menghabiskan 670 unit Gas, dan harga Gas yang ditentukan oleh pengguna adalah 100 Octa per unit, maka biaya transaksi akhir adalah 670 * 100 = 67000 Octa = 0.00067 APT.
Jika Gas habis saat eksekusi transaksi, pengirim akan dikenakan biaya berdasarkan jumlah Gas maksimum, dan semua perubahan yang dilakukan oleh transaksi tersebut akan dibatalkan.
Pembuatan Rencana Gas
Konfigurasi Dasar
Ada beberapa komponen dalam rencana Gas yang tidak terkait dengan detail operasi tunggal, termasuk ukuran transaksi dan unit Gas maksimum.
skala transaksi
Sebagian besar ukuran transaksi mungkin berada di kisaran kilobyte. Publikasi modul Move mungkin memiliki beberapa ribu byte, kerangka Aptos sekitar 100 KB. Ukuran modul pengguna biasanya berkisar antara 4KB hingga 40KB. Ukuran transaksi awal ditetapkan pada 32KB, kemudian disesuaikan menjadi 64KB berdasarkan respons komunitas.
Transaksi berskala sangat besar dapat menyebabkan peningkatan biaya bandwidth jaringan, yang mungkin berdampak negatif pada kinerja. Memori pool akan didorong untuk mengabaikan transaksi yang lebih besar, sehingga perlu mencapai keseimbangan antara ukuran transaksi maksimum dan aksesibilitas.
unit Gas maksimum
Unit Gas maksimum yang didefinisikan dalam rencana Gas menentukan berapa banyak operasi yang dapat dilakukan dalam satu transaksi. Ini berbeda dengan jumlah Gas maksimum yang ditentukan oleh pengguna dalam transaksi. Menetapkan terlalu tinggi dapat berdampak negatif terhadap kinerja blockchain. Bahkan dengan peningkatan kerangka maksimum, tidak ada yang mencapai 90% dari unit Gas maksimum rencana Gas ( yang ditetapkan menjadi 1.000.000).
Eksekusi
Untuk menilai biaya eksekusi, kerangka acuan telah dibangun dan analisis Move VM dilakukan menggunakan Valgrind. Outputnya adalah sekumpulan kode sumber yang diberi komentar, menunjukkan jumlah instruksi mesin yang dihasilkan oleh setiap baris kode.
Berdasarkan hasil analisis, semua instruksi MOVE dan biaya relatif fungsi asli diperkirakan. Diketahui ada beberapa masalah dengan fungsi inline, yang diatasi dengan menjumlahkan angka.
Pertimbangkan contoh pengkodean yang meningkatkan ketahanan dan keamanan sistem, dan hitung jumlah instruksi mesin yang dieksekusi pada akhirnya. Angka ini dipertimbangkan bersama dengan penyimpanan dan unit Gas maksimum untuk menentukan nilai saat ini dalam rencana Gas.
penyimpanan
Saat node Aptos mengakses item status buku besar atau data yang disimpan dalam penyimpanan permanen, ia akan mengeluarkan pembacaan atau penulisan ke perangkat penyimpanan. Total akses data per detik tergantung pada bandwidth dan kapasitas IOPS perangkat penyimpanan. Akses data adalah kelangkaan instan yang bersaing melalui pasar biaya oleh pengguna saat beban sistem. Biaya penggunaan disk untuk menulis data adalah permanen di on-chain.
Mengakses dan menyimpan item status mana pun akan menghasilkan biaya yang terkait dengan struktur data ( pohon Merkle jellyfish ) yang memverifikasi seluruh status blockchain. Biaya ini berkaitan dengan kardinalitas item status yang berbeda. Ada juga biaya yang sebanding dengan ukuran setiap item.
Biaya Gas penyimpanan = item_fee + (byte_fee * bytes)
baca, buat, dan tulis
Akses terhadap item status dibagi menjadi tiga jenis: baca, buat, atau tulis. Akses dikenakan biaya berdasarkan biaya item dan biaya byte.
Operasi baca adalah yang paling umum, hanya dibatasi oleh kekurangan sumber daya sesaat. Biaya pembacaan dikalibrasi berdasarkan IOPS disk dan kapasitas bandwidth dari spesifikasi perangkat keras referensi.
Pembuatan adalah menambahkan item baru dalam penyimpanan status, meningkatkan struktur data autentikasi, dengan biaya tertinggi. Biaya pembuatan disesuaikan berdasarkan ruang disk referensi yang dimiliki jaringan.
Operasi tulis memperbarui item yang ada dalam penyimpanan status, tanpa menghasilkan overhead tambahan dalam struktur data otentikasi. Biaya untuk byte dalam item yang diperbarui dikenakan sama seperti saat dibuat.
Biaya terkait penyimpanan dievaluasi berdasarkan setiap transaksi: meskipun sumber daya yang sama dibaca/tulis beberapa kali, hanya perlu membayar biaya sekali.
Berdasarkan pertimbangan di atas, enam parameter Gas didefinisikan:
per_item_read: disesuaikan berdasarkan IOPs
per_byte_read: mengkalibrasi berdasarkan bandwidth aktual
per_item_create:kalibrasi berdasarkan total proyek yang ditargetkan
per_byte_create: mengkalibrasi berdasarkan ukuran total yang diinginkan
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 memerlukan biaya unit tetap yang relatif terhadap biaya penyimpanan dan eksekusi. Biaya unit Gas tetap membantu menjaga rencana Gas tetap tidak berubah, terlepas dari nilai pasar bebas APT. Tim Aptos menyatakan unit Gas dengan ketelitian sekitar 3 digit. Biaya transaksi transfer sekitar 700 unit Gas.
Partisipasi Komunitas
Anggota komunitas Aptos dapat:
Temukan ketidakberesan dalam rencana Gas
Menyampaikan kekhawatiran tentang rencana Gas, berpartisipasi dalam diskusi komunitas
Melakukan pemungutan suara untuk proposal tata kelola terkait Gas di Aptos
Penyesuaian Biaya Gas
Rencana Gas sebagai penyimpanan konfigurasi on-chain, dapat diubah melalui proposal tata kelola Aptos, dan dapat dengan mulus menambahkan instruksi baru atau fitur asli. Rencana Gas dirancang untuk dapat diskalakan, memungkinkan peningkatan melalui proposal tata kelola. Seiring dengan perbaikan Aptos dan komunitas dalam Move VM dan mengakomodasi umpan balik pengguna, parameter Gas dapat disesuaikan seiring waktu.
Perubahan rumus Gas yang kompleks memerlukan pembaruan perangkat lunak node, dan dibedakan dengan tanda karakteristik Gas yang berbeda. Perangkat lunak node perlu diterbitkan dan diadopsi secara luas, dan akhirnya mengeluarkan dan menyetujui proposal tata kelola untuk menggunakan versi Gas yang baru.
Pekerjaan Masa Depan
Sebagai kerangka Gas yang dapat digunakan pertama untuk MOVE, arah kerja di masa depan meliputi:
Mengurangi biaya eksekusi: Meningkatkan efisiensi kompiler dan mesin virtual
Perhitungan Gas Multidimensi: Mengizinkan pengguna untuk menetapkan anggaran terpisah untuk eksekusi dan penyimpanan
Mengurangi status bengkak: 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.
20 Suka
Hadiah
20
10
Posting ulang
Bagikan
Komentar
0/400
FlashLoanKing
· 07-15 09:55
Arbitrase off-chain juga bagus ya
Lihat AsliBalas0
FloorPriceWatcher
· 07-15 04:26
gas masih lebih baik naik ke langit.
Lihat AsliBalas0
SandwichDetector
· 07-14 16:16
Ada sedikit masalah, kita akan melihat lagi setelah optimasi bulan depan.
Lihat AsliBalas0
DancingCandles
· 07-12 16:24
Saya tidak merasakan ada yang istimewa dari move~
Lihat AsliBalas0
BlockDetective
· 07-12 16:22
move adalah raja popularitas
Lihat AsliBalas0
VitaliksTwin
· 07-12 16:21
move gulungnya sudah berantakan
Lihat AsliBalas0
CryptoComedian
· 07-12 16:16
Sekali lagi akan terjadi pengeluaran besar-besaran, biaya gas masih ingin bermain trik, ya?
Inovasi bahasa MOVE: Menganalisis metode perhitungan konsumsi Gas pada rantai Aptos
Desain Gas pertama MOVE: Metode perhitungan konsumsi Gas di rantai Aptos
Pengukuran Gas adalah konsep dasar dari Aptos dan banyak blockchain lainnya, yang mendefinisikan jumlah sumber daya komputasi dan penyimpanan yang diperlukan untuk mengeksekusi dan menyimpan transaksi on-chain. Rencana Gas menentukan biaya semua eksekusi on-chain, yang digunakan untuk menghitung pengeluaran Gas yang digunakan selama eksekusi transaksi.
Proses
Untuk menjalankan dengan efektif, proses di dalam Aptos on-chain mencakup:
Prinsip
Prinsip yang didefinisikan termasuk:
Perhitungan Gas
Saat pengguna mengajukan transaksi, perlu menentukan dua jumlah:
Selama proses eksekusi, transaksi akan dikenakan:
Biaya transaksi akhir dapat dihitung dengan mengalikan total jumlah Gas yang digunakan dengan harga Gas per unit. Misalnya, jika sebuah transaksi menghabiskan 670 unit Gas, dan harga Gas yang ditentukan oleh pengguna adalah 100 Octa per unit, maka biaya transaksi akhir adalah 670 * 100 = 67000 Octa = 0.00067 APT.
Jika Gas habis saat eksekusi transaksi, pengirim akan dikenakan biaya berdasarkan jumlah Gas maksimum, dan semua perubahan yang dilakukan oleh transaksi tersebut akan dibatalkan.
Pembuatan Rencana Gas
Konfigurasi Dasar
Ada beberapa komponen dalam rencana Gas yang tidak terkait dengan detail operasi tunggal, termasuk ukuran transaksi dan unit Gas maksimum.
skala transaksi
Sebagian besar ukuran transaksi mungkin berada di kisaran kilobyte. Publikasi modul Move mungkin memiliki beberapa ribu byte, kerangka Aptos sekitar 100 KB. Ukuran modul pengguna biasanya berkisar antara 4KB hingga 40KB. Ukuran transaksi awal ditetapkan pada 32KB, kemudian disesuaikan menjadi 64KB berdasarkan respons komunitas.
Transaksi berskala sangat besar dapat menyebabkan peningkatan biaya bandwidth jaringan, yang mungkin berdampak negatif pada kinerja. Memori pool akan didorong untuk mengabaikan transaksi yang lebih besar, sehingga perlu mencapai keseimbangan antara ukuran transaksi maksimum dan aksesibilitas.
unit Gas maksimum
Unit Gas maksimum yang didefinisikan dalam rencana Gas menentukan berapa banyak operasi yang dapat dilakukan dalam satu transaksi. Ini berbeda dengan jumlah Gas maksimum yang ditentukan oleh pengguna dalam transaksi. Menetapkan terlalu tinggi dapat berdampak negatif terhadap kinerja blockchain. Bahkan dengan peningkatan kerangka maksimum, tidak ada yang mencapai 90% dari unit Gas maksimum rencana Gas ( yang ditetapkan menjadi 1.000.000).
Eksekusi
Untuk menilai biaya eksekusi, kerangka acuan telah dibangun dan analisis Move VM dilakukan menggunakan Valgrind. Outputnya adalah sekumpulan kode sumber yang diberi komentar, menunjukkan jumlah instruksi mesin yang dihasilkan oleh setiap baris kode.
Berdasarkan hasil analisis, semua instruksi MOVE dan biaya relatif fungsi asli diperkirakan. Diketahui ada beberapa masalah dengan fungsi inline, yang diatasi dengan menjumlahkan angka.
Pertimbangkan contoh pengkodean yang meningkatkan ketahanan dan keamanan sistem, dan hitung jumlah instruksi mesin yang dieksekusi pada akhirnya. Angka ini dipertimbangkan bersama dengan penyimpanan dan unit Gas maksimum untuk menentukan nilai saat ini dalam rencana Gas.
penyimpanan
Saat node Aptos mengakses item status buku besar atau data yang disimpan dalam penyimpanan permanen, ia akan mengeluarkan pembacaan atau penulisan ke perangkat penyimpanan. Total akses data per detik tergantung pada bandwidth dan kapasitas IOPS perangkat penyimpanan. Akses data adalah kelangkaan instan yang bersaing melalui pasar biaya oleh pengguna saat beban sistem. Biaya penggunaan disk untuk menulis data adalah permanen di on-chain.
Mengakses dan menyimpan item status mana pun akan menghasilkan biaya yang terkait dengan struktur data ( pohon Merkle jellyfish ) yang memverifikasi seluruh status blockchain. Biaya ini berkaitan dengan kardinalitas item status yang berbeda. Ada juga biaya yang sebanding dengan ukuran setiap item.
Biaya Gas penyimpanan = item_fee + (byte_fee * bytes)
baca, buat, dan tulis
Akses terhadap item status dibagi menjadi tiga jenis: baca, buat, atau tulis. Akses dikenakan biaya berdasarkan biaya item dan biaya byte.
Operasi baca adalah yang paling umum, hanya dibatasi oleh kekurangan sumber daya sesaat. Biaya pembacaan dikalibrasi berdasarkan IOPS disk dan kapasitas bandwidth dari spesifikasi perangkat keras referensi.
Pembuatan adalah menambahkan item baru dalam penyimpanan status, meningkatkan struktur data autentikasi, dengan biaya tertinggi. Biaya pembuatan disesuaikan berdasarkan ruang disk referensi yang dimiliki jaringan.
Operasi tulis memperbarui item yang ada dalam penyimpanan status, tanpa menghasilkan overhead tambahan dalam struktur data otentikasi. Biaya untuk byte dalam item yang diperbarui dikenakan sama seperti saat dibuat.
Biaya terkait penyimpanan dievaluasi berdasarkan setiap transaksi: meskipun sumber daya yang sama dibaca/tulis beberapa kali, hanya perlu membayar biaya sekali.
Berdasarkan pertimbangan di atas, enam parameter Gas didefinisikan:
Biaya unit Gas yang stabil
Setiap operasi dan transaksi itu sendiri memerlukan biaya unit tetap yang relatif terhadap biaya penyimpanan dan eksekusi. Biaya unit Gas tetap membantu menjaga rencana Gas tetap tidak berubah, terlepas dari nilai pasar bebas APT. Tim Aptos menyatakan unit Gas dengan ketelitian sekitar 3 digit. Biaya transaksi transfer sekitar 700 unit Gas.
Partisipasi Komunitas
Anggota komunitas Aptos dapat:
Penyesuaian Biaya Gas
Rencana Gas sebagai penyimpanan konfigurasi on-chain, dapat diubah melalui proposal tata kelola Aptos, dan dapat dengan mulus menambahkan instruksi baru atau fitur asli. Rencana Gas dirancang untuk dapat diskalakan, memungkinkan peningkatan melalui proposal tata kelola. Seiring dengan perbaikan Aptos dan komunitas dalam Move VM dan mengakomodasi umpan balik pengguna, parameter Gas dapat disesuaikan seiring waktu.
Perubahan rumus Gas yang kompleks memerlukan pembaruan perangkat lunak node, dan dibedakan dengan tanda karakteristik Gas yang berbeda. Perangkat lunak node perlu diterbitkan dan diadopsi secara luas, dan akhirnya mengeluarkan dan menyetujui proposal tata kelola untuk menggunakan versi Gas yang baru.
Pekerjaan Masa Depan
Sebagai kerangka Gas yang dapat digunakan pertama untuk MOVE, arah kerja di masa depan meliputi: