MOVE dilinin ilk GAS tasarımı: on-chain GAS harcama hesaplama yöntemini tartışmak
MOVE dilinin bir önceki versiyonu, GAS ortamı olmadan çalışması amacıyla tasarlandığı için GAS planına hazırlık yapmamıştır. Son zamanlarda, belirli bir kamu blok zinciri için oluşturulan GAS planı "bir macera" olarak adlandırılıyor, bu da MOVE dilinin ilk GAS tasarımı.
Bu GAS planı, GAS'ın oluşturulmasına ilişkin ilkeleri, süreçleri, hesaplama yöntemlerini ve sonraki ayarlama mekanizmasını açıklamaktadır. GAS ölçümü, birçok blok zincirinin temel bir kavramıdır; bu, zincir üzerinde işlemleri yürütmek ve depolamak için gereken hesaplama ve depolama kaynaklarının soyut hesaplamasını tanımlar. GAS planı, zincir üzerinde gerçekleştirilen tüm işlemlerin tüketim maliyetlerini belirleyecek ve işlem yürütme süresindeki GAS harcamasını hesaplamak için kullanılacaktır.
süreç
Etkin bir icra sağlamak için, bu kamu blok zinciri aşağıdaki süreci benimsemektedir:
Tanım İlkeleri
Değerlendirme çerçevesini hazırlayın, her bir uygulamanın fiyatını belirleyin.
MOVE için bir GAS ölçüm sistemi ve güvenli GAS cebir sistemi kurmak
Üst akış GAS çerçevesini içe aktar
GAS çerçevesinin depolama bilincine sahip olmasını sağlamak
GAS planını daha da ayrıntılandırmak
ilke
Tanımlanan ilkeler şunlardır:
İşlem maliyeti ile ağın kullanılabilir kaynakları doğrudan ilişkilidir, teknolojik iyileştirmeler sonrasında GAS maliyetinin buna göre düşmesi beklenmektedir.
GAS, on-chain yönetişim tarafından ayarlanır, sorunsuz bir şekilde yapılandırılabilir.
GAS, DoS saldırılarını önleyebilir ve ağ durumuna göre hızlı bir şekilde ayarlanabilir.
GAS fiyatı, hızlandırılmış büyüme ve blockchain'in yaygınlığını koruma vizyonunu yansıtır.
Güvenlik, modülerlik gibi unsurları tasarımda öncelikli olarak dikkate almaya teşvik edin.
GAS hesaplama
Kullanıcı işlem gönderirken iki miktar belirtmelidir:
Maksimum GAS Miktarı: GAS birimi cinsinden, kullanıcıların ödemeye istekli olduğu maksimum GAS birimi sayısı.
GAS birimi: Her birim GAS'ın sekizli sistemde hesaplanması, 1 sekizli=0.00000001 APT.
İşlem gerçekleştirme sürecinde alınacak:
Sabit maliyet: Sabit temel artı büyük işlem için ek ücret
Uygulama Maliyeti: Move talimatını uygulamak için
Okuma maliyeti: Kalıcı depolamadan veri okumak için kullanılır.
Yazma maliyeti: Verilerin kalıcı depolama alanına yazılması için kullanılır.
Son işlem ücreti = Tüketilen GAS toplamı × GAS birim fiyatı. Örneğin, eğer işlem 670 GAS birimi tüketiyorsa, kullanıcının belirlediği birim fiyatı 100 Octa/birim ise, son ücret 670 × 100 = 67000 Octa = 0.00067 APT.
Eğer işlem GAS tüketirse, gönderen maksimum GAS miktarına göre ücretlendirilecektir, borsa yapılan değişiklikleri geri alacaktır.
GAS plan tablosu oluşturuldu
1. Temel Ayarlar
GAS planı, işlem boyutu ve maksimum GAS birimi gibi tek bir işlemin dışında kalan bileşenleri içerir.
2. İşlem Ölçeği
Çoğu işlem boyutu binlerce bayt seviyesindedir, MOVE modülü yayınlandığında birkaç bin bayta ulaşabilir. İlk işlem boyutu 32KB olarak belirlenmişti, daha sonra topluluk geri bildirimine göre 64KB olarak ayarlandı, uygulama geliştirmeyi basitleştirmek için.
Büyük ölçekli işlemler ağ bant genişliği maliyetlerini artırabilir ve performansı etkileyebilir. Bellek havuzu, çok büyük ölçekli işlemleri göz ardı edebilir, bu nedenle maksimum ölçek ile erişilebilirlik arasında bir denge sağlanmalıdır.
3. Maksimum GAS birimi
GAS planındaki maksimum GAS birimi, tek bir işlemin gerçekleştirebileceği maksimum işlem sayısını tanımlar. Çok yüksek ayarlanması, blockchain performansı üzerinde olumsuz etki yaratabilir. Şu anda 1,000,000 olarak belirlenmiştir, maksimum çerçeve yükseltmesi yapılsa bile %90'ı geçmez.
4. Uygulama
Move VM'yi analiz etmek için bir referans çerçevesi oluşturarak ve Valgrind kullanarak, tüm Move komutları ve yerel işlevlerin göreli maliyetlerini tahmin edin. Sistem dayanıklılığını ve güvenliğini artıran kodlama örneklerini dikkate alarak, nihai yürütülen makine talimatı sayısını belirleyin ve depolama ile maksimum GAS birimleri arasında bir denge kurarak GAS planındaki mevcut değeri belirleyin.
5. Depolama
Kalıcı depolamadaki defter durum öğelerine veya verilere erişirken, düğüm depolama cihazına okuma/yazma talepleri gönderir. Veri erişim sayısı, depolama cihazının bant genişliği ve IOPS kapasitesine bağlıdır. Ekip, bu maliyetleri dikkate alarak depolama GAS planını tasarladı.
Herhangi bir durum öğesine erişim ve depolama, tüm blok zinciri durumunu doğrulayan veri yapılarıyla ilgili maliyetler oluşturur. Bu maliyet, farklı durum öğelerinin temel sayısı ile ilgilidir. Ayrıca, her öğenin boyutu ile orantılı bir maliyet vardır.
GAS Ücretleri = Proje Ücreti + ( Bayt Ücreti × Bayt Sayısı )
oku, oluştur ve yaz
Durum öğesi erişimi, okuma, oluşturma ve yazma olmak üzere üç türden oluşur:
Okuma işlemleri en yaygın olanıdır, yalnızca anlık kaynak kıtlığı sınırlıdır.
Oluşturma işlemi, durum deposuna yeni bir öğe ekler, maliyet en yüksektir.
Yazma işlemleri mevcut öğeleri günceller, ek kimlik doğrulama veri yapısı maliyeti yaratmaz.
Yukarıda belirtilen hususlara dayanarak, 6 adet GAS parametresi tanımlanmıştır:
per_item_read: IOP'lere göre ayar
per_byte_read: Gerçek bant genişliğine göre kalibre
per_item_create: Hedef toplam proje kalibrasyonuna göre
per_byte_create: Hedef toplam boyuta göre kalibre etme
per_item_write: per_item_read ile aynı
per_byte_write: per_byte_create ile aynıdır
stabil GAS birim maliyeti
Her işlem ve ticaret, depolama ve yürütme maliyetlerine göre sabit bir birim maliyet gerektirir. Sabit GAS birim maliyeti, GAS planının sabit kalmasına yardımcı olur ve token piyasa değerinden ayrılır. Ekip, GAS birimlerini yaklaşık 3 haneli hassasiyetle ifade eder, transfer işlemi maliyeti yaklaşık 700 GAS birimidir.
topluluk katılımı
Topluluk üyeleri şunları yapabilir:
GAS planındaki mantıksız noktaları bulmak
Endişeleri dile getirip tartışmalara katılın
İlgili yönetim önerileri için oylama yapın
GAS maliyet ayarlaması
GAS planı, on-chain yapılandırma depolaması olarak yönetim teklifleri ile değiştirilebilir ve yeni komutlar veya yerel işlevler sorunsuz bir şekilde eklenebilir. Zamanla, GAS parametreleri kullanıcı geri bildirimlerine göre ayarlanabilir.
Karmaşık GAS formülü değişiklikleri, düğüm yazılımının güncellenmesini gerektirir ve yeni GAS özellik işaretleri ile ayrılmalıdır. Düğüm operatörleri yeni yazılımı kullandıktan sonra, yeni versiyonu kullanmak için yönetim önerisi yayınlamalı ve onaylatmalıdır.
Gelecek İş
MOVE'un ilk uygulanabilir GAS çerçevesi olarak, gelecekteki çalışma yönleri şunları içermektedir:
Uygulama maliyetlerini düşürmek
Çok boyutlu GAS hesaplaması gerçekleştirin, kullanıcıların yürütme ve depolama için ayrı bütçeler belirlemesine izin verin.
Şişkin durumu hafifletmek, her proje için TTL kavramını keşfetmek, TTL süresi dolduğunda ziyaret edilmeyen durum projelerini silmek
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.
MOVE dilinin ilk GAS çözümü tanıtıldı, on-chain kaynak ücretlendirme yeni modeli tartışılıyor.
MOVE dilinin ilk GAS tasarımı: on-chain GAS harcama hesaplama yöntemini tartışmak
MOVE dilinin bir önceki versiyonu, GAS ortamı olmadan çalışması amacıyla tasarlandığı için GAS planına hazırlık yapmamıştır. Son zamanlarda, belirli bir kamu blok zinciri için oluşturulan GAS planı "bir macera" olarak adlandırılıyor, bu da MOVE dilinin ilk GAS tasarımı.
Bu GAS planı, GAS'ın oluşturulmasına ilişkin ilkeleri, süreçleri, hesaplama yöntemlerini ve sonraki ayarlama mekanizmasını açıklamaktadır. GAS ölçümü, birçok blok zincirinin temel bir kavramıdır; bu, zincir üzerinde işlemleri yürütmek ve depolamak için gereken hesaplama ve depolama kaynaklarının soyut hesaplamasını tanımlar. GAS planı, zincir üzerinde gerçekleştirilen tüm işlemlerin tüketim maliyetlerini belirleyecek ve işlem yürütme süresindeki GAS harcamasını hesaplamak için kullanılacaktır.
süreç
Etkin bir icra sağlamak için, bu kamu blok zinciri aşağıdaki süreci benimsemektedir:
ilke
Tanımlanan ilkeler şunlardır:
GAS hesaplama
Kullanıcı işlem gönderirken iki miktar belirtmelidir:
Maksimum GAS Miktarı: GAS birimi cinsinden, kullanıcıların ödemeye istekli olduğu maksimum GAS birimi sayısı.
GAS birimi: Her birim GAS'ın sekizli sistemde hesaplanması, 1 sekizli=0.00000001 APT.
İşlem gerçekleştirme sürecinde alınacak:
Son işlem ücreti = Tüketilen GAS toplamı × GAS birim fiyatı. Örneğin, eğer işlem 670 GAS birimi tüketiyorsa, kullanıcının belirlediği birim fiyatı 100 Octa/birim ise, son ücret 670 × 100 = 67000 Octa = 0.00067 APT.
Eğer işlem GAS tüketirse, gönderen maksimum GAS miktarına göre ücretlendirilecektir, borsa yapılan değişiklikleri geri alacaktır.
GAS plan tablosu oluşturuldu
1. Temel Ayarlar
GAS planı, işlem boyutu ve maksimum GAS birimi gibi tek bir işlemin dışında kalan bileşenleri içerir.
2. İşlem Ölçeği
Çoğu işlem boyutu binlerce bayt seviyesindedir, MOVE modülü yayınlandığında birkaç bin bayta ulaşabilir. İlk işlem boyutu 32KB olarak belirlenmişti, daha sonra topluluk geri bildirimine göre 64KB olarak ayarlandı, uygulama geliştirmeyi basitleştirmek için.
Büyük ölçekli işlemler ağ bant genişliği maliyetlerini artırabilir ve performansı etkileyebilir. Bellek havuzu, çok büyük ölçekli işlemleri göz ardı edebilir, bu nedenle maksimum ölçek ile erişilebilirlik arasında bir denge sağlanmalıdır.
3. Maksimum GAS birimi
GAS planındaki maksimum GAS birimi, tek bir işlemin gerçekleştirebileceği maksimum işlem sayısını tanımlar. Çok yüksek ayarlanması, blockchain performansı üzerinde olumsuz etki yaratabilir. Şu anda 1,000,000 olarak belirlenmiştir, maksimum çerçeve yükseltmesi yapılsa bile %90'ı geçmez.
4. Uygulama
Move VM'yi analiz etmek için bir referans çerçevesi oluşturarak ve Valgrind kullanarak, tüm Move komutları ve yerel işlevlerin göreli maliyetlerini tahmin edin. Sistem dayanıklılığını ve güvenliğini artıran kodlama örneklerini dikkate alarak, nihai yürütülen makine talimatı sayısını belirleyin ve depolama ile maksimum GAS birimleri arasında bir denge kurarak GAS planındaki mevcut değeri belirleyin.
5. Depolama
Kalıcı depolamadaki defter durum öğelerine veya verilere erişirken, düğüm depolama cihazına okuma/yazma talepleri gönderir. Veri erişim sayısı, depolama cihazının bant genişliği ve IOPS kapasitesine bağlıdır. Ekip, bu maliyetleri dikkate alarak depolama GAS planını tasarladı.
Herhangi bir durum öğesine erişim ve depolama, tüm blok zinciri durumunu doğrulayan veri yapılarıyla ilgili maliyetler oluşturur. Bu maliyet, farklı durum öğelerinin temel sayısı ile ilgilidir. Ayrıca, her öğenin boyutu ile orantılı bir maliyet vardır.
GAS Ücretleri = Proje Ücreti + ( Bayt Ücreti × Bayt Sayısı )
oku, oluştur ve yaz
Durum öğesi erişimi, okuma, oluşturma ve yazma olmak üzere üç türden oluşur:
Yukarıda belirtilen hususlara dayanarak, 6 adet GAS parametresi tanımlanmıştır:
stabil GAS birim maliyeti
Her işlem ve ticaret, depolama ve yürütme maliyetlerine göre sabit bir birim maliyet gerektirir. Sabit GAS birim maliyeti, GAS planının sabit kalmasına yardımcı olur ve token piyasa değerinden ayrılır. Ekip, GAS birimlerini yaklaşık 3 haneli hassasiyetle ifade eder, transfer işlemi maliyeti yaklaşık 700 GAS birimidir.
topluluk katılımı
Topluluk üyeleri şunları yapabilir:
GAS maliyet ayarlaması
GAS planı, on-chain yapılandırma depolaması olarak yönetim teklifleri ile değiştirilebilir ve yeni komutlar veya yerel işlevler sorunsuz bir şekilde eklenebilir. Zamanla, GAS parametreleri kullanıcı geri bildirimlerine göre ayarlanabilir.
Karmaşık GAS formülü değişiklikleri, düğüm yazılımının güncellenmesini gerektirir ve yeni GAS özellik işaretleri ile ayrılmalıdır. Düğüm operatörleri yeni yazılımı kullandıktan sonra, yeni versiyonu kullanmak için yönetim önerisi yayınlamalı ve onaylatmalıdır.
Gelecek İş
MOVE'un ilk uygulanabilir GAS çerçevesi olarak, gelecekteki çalışma yönleri şunları içermektedir: