Inovasi bahasa MOVE: Menganalisis metode perhitungan konsumsi Gas pada rantai Aptos

robot
Pembuatan abstrak sedang berlangsung

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:

  1. Prinsip Definisi
  2. Siapkan kerangka evaluasi, tentukan harga untuk setiap eksekusi
  3. Membangun sistem pengukuran Gas dan aljabar Gas yang aman untuk MOVE
  4. Mengimpor kerangka Gas hulu ke Aptos
  5. Membuat kerangka Gas memiliki kesadaran penyimpanan
  6. Memperinci rencana Gas lebih lanjut

Prinsip

Prinsip yang didefinisikan termasuk:

  1. Biaya operasional harus terkait langsung dengan sumber daya jaringan yang tersedia. Setelah perbaikan teknologi dan proses, biaya Gas yang diperlukan harus menurun.
  2. Gas harus diatur oleh pemerintahan on-chain, dan dapat dikonfigurasi secara seamless.
  3. Gas dapat mencegah serangan DoS terhadap kumpulan sumber daya tetap jaringan, mungkin perlu disesuaikan dengan cepat melalui saran tata kelola tergantung pada kondisi jaringan.
  4. Harga Gas Aptos mencerminkan keinginan untuk pertumbuhan yang cepat dan mempertahankan popularitas blockchain.
  5. 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:

  1. Biaya tetap: basis tetap ditambah biaya tambahan untuk transaksi besar
  2. Biaya eksekusi: digunakan untuk mengeksekusi instruksi MOVE
  3. Biaya pembacaan: digunakan untuk membaca data dari penyimpanan permanen
  4. 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:

  1. Temukan ketidakberesan dalam rencana Gas
  2. Menyampaikan kekhawatiran tentang rencana Gas, berpartisipasi dalam diskusi komunitas
  3. 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:

  1. Mengurangi biaya eksekusi: Meningkatkan efisiensi kompiler dan mesin virtual
  2. Perhitungan Gas Multidimensi: Mengizinkan pengguna untuk menetapkan anggaran terpisah untuk eksekusi dan penyimpanan
  3. Mengurangi status bengkak: menjelajahi konsep TTL setiap proyek, menghapus item status yang tidak diakses saat TTL kedaluwarsa.
MOVE0.08%
APT-1.2%
GAS-4.28%
Lihat Asli
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.
  • Hadiah
  • 10
  • Posting ulang
  • Bagikan
Komentar
0/400
FlashLoanKingvip
· 07-15 09:55
Arbitrase off-chain juga bagus ya
Lihat AsliBalas0
FloorPriceWatchervip
· 07-15 04:26
gas masih lebih baik naik ke langit.
Lihat AsliBalas0
SandwichDetectorvip
· 07-14 16:16
Ada sedikit masalah, kita akan melihat lagi setelah optimasi bulan depan.
Lihat AsliBalas0
DancingCandlesvip
· 07-12 16:24
Saya tidak merasakan ada yang istimewa dari move~
Lihat AsliBalas0
BlockDetectivevip
· 07-12 16:22
move adalah raja popularitas
Lihat AsliBalas0
VitaliksTwinvip
· 07-12 16:21
move gulungnya sudah berantakan
Lihat AsliBalas0
CryptoComedianvip
· 07-12 16:16
Sekali lagi akan terjadi pengeluaran besar-besaran, biaya gas masih ingin bermain trik, ya?
Lihat AsliBalas0
CryptoPunstervip
· 07-12 16:07
又一个play people for suckers的新借口
Lihat AsliBalas0
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)