MOVE dilinin ilk GAS tasarımı: on-chain GAS ücret hesaplama yönteminin analizi
MOVE dilinin bir önceki versiyonu, GAS olmadan çalışması planlandığı için GAS mekanizmasına hazırlıklı değildi. Son zamanlarda, bir blok zinciri projesi, MOVE diline sahip zinciri için ilk GAS tasarımını tanıttı ve bu resmi olarak "bir macera" olarak adlandırıldı.
Bu projenin GAS planı, GAS'ın belirlenmesi için ilkeleri, süreçleri, hesaplama yöntemlerini, sonradan ayarlama mekanizmasını ve topluluk önerilerini kabul etme tutumunu açıklamaktadır. GAS ölçümü, bu blockchain ve birçok diğer blockchain için temel bir kavramdır; bu, zincir üzerinde işlem gerçekleştirmek ve depolamak için gereken hesaplama ve depolama kaynaklarının miktarının soyut bir hesaplamasını tanımlar. GAS planı, zincir üzerindeki tüm uygulamaların tükettiği maliyetleri belirleyecek ve işlem gerçekleştirilmesi sırasında kullanılan GAS harcamasını hesaplamak için kullanılacaktır.
Süreç
Bu projeyi etkin bir şekilde yürütmek için on-chain süreç şudur:
Tanım İlkeleri
Değerlendirme çerçevesini hazırlayın, her bir icra için fiyatı belirleyin.
MOVE için bir GAS ölçüm sistemi ve güvenli GAS cebirinin kurulması
Yukarı akış GAS çerçevesini içe aktarın
GAS çerçevesine depolama bilinci kazandırmak
GAS planını daha da ayrıntılandırma
İlkeler
Bu projenin belirlediği ilkeler şunlardır:
İşlem maliyeti, ağın mevcut kaynaklarıyla doğrudan ilişkili olmalıdır, örneğin CPU, bellek, ağ, depolama I/O ve alan kullanımı gibi. Teknoloji ve süreç iyileştirmeleri ile birlikte, GAS için gereken maliyetin de azalması beklenmelidir.
GAS, on-chain yönetişim tarafından belirlenmeli ve sorunsuz bir şekilde yapılandırılabilir.
GAS, ağın sabit kaynaklarına karşı DoS saldırılarını önleyebilir, ağ durumuna göre yönetişim önerileri ile hızlı bir şekilde ayarlanması gerekebilir.
GAS fiyatı, hızlanan büyüme ve blok zincirinin yaygınlığını sürdürme vizyonunu yansıtmaktadır.
Güvenlik, modülerlik, beyan gibi kaliteli seçimlerin yapılmasını teşvik edin.
GAS Hesaplama
Kullanıcı işlem gönderdiğinde, işlemde iki miktar belirtmelidir:
Maksimum GAS miktarı: GAS birimi cinsinden ölçülen, kullanıcının işlemi gerçekleştirmek için harcamak istediği maksimum GAS birimi sayısını gösterir.
GAS birim fiyatı: Her birim GAS için sekizli sayı sistemi ile hesaplanır, 1 sekizli = 0.00000001 yerel token.
İşlem sırasında, işlem için alınacak:
Sabit maliyetler: Sabit bir temel ile büyük işlemlerden alınan ek ücretler.
İşlem maliyeti: MOVE talimatlarını yürütmek için kullanılır.
Okuma maliyeti: Kalıcı depolamadan veri okumak için kullanılır.
Yazma maliyeti: Verileri kalıcı depolamaya yazmak için kullanılır.
Son işlem ücreti hesaplama yöntemi: Harcanan toplam GAS miktarı, GAS birim fiyatı ile çarpılır. Örneğin, bir işlem 670 GAS birimi harcıyorsa ve kullanıcının belirlediği GAS birim fiyatı 100 Octa ise, son işlem ücreti 670 * 100 = 67000 Octa = 0.00067 yerel token olur.
Eğer işlem yürütülmesi sırasında GAS tükenirse, gönderici maksimum GAS miktarına göre ücretlendirilecektir ve işlemle yapılan tüm değişiklikler geri alınacaktır.
GAS Planı Oluşturma
1. Temel Konfigürasyon
GAS planı, işlem boyutu ve maksimum GAS birimi gibi, tekil işlem detaylarıyla ilgili olmayan birkaç bileşen içerir.
2. İşlem ölçeği
Çoğu işlem ölçeği kilobyte seviyesindedir. MOVE modülünün yayınlanması birkaç kilobyte'ı bulabilirken, çerçeve yaklaşık 100 KB'dir. Kullanıcı modül boyutu genellikle 4KB ile 40KB arasında değişir. İlk işlem boyutu 32KB olarak ayarlanmış, daha sonra topluluk ihtiyaçlarına göre 64KB'ya ayarlanmıştır, bu da uygulama geliştirmeyi kolaylaştırmaktadır.
Büyük ölçekli işlemler ağ bant genişliği maliyetini artıracak ve performansı etkileyebilir. Maksimum ölçekli işlemlerin boyutu ve erişilebilirliğini dengelemek için, bellek havuzu daha büyük ölçekli işlemleri göz ardı edebilir.
3. En büyük GAS birimi
GAS planındaki maksimum GAS birimi, tek bir işlemin gerçekleştirebileceği maksimum işlem miktarını tanımlar. Aşırı yüksek ayarlamak, blockchain performansı üzerinde olumsuz etki yaratabilir. En büyük çerçeve yükseltmesi gerçekleştirildiğinde bile, GAS planının maksimum GAS biriminin (1.000.000 olarak belirlenmiştir) %90'ından daha az bir oranı kullanılmaktadır.
4. Uygulama
İcra maliyetlerini değerlendirirken, bir referans çerçevesi oluşturuldu ve Move VM'yi analiz etmek için analiz araçları kullanıldı. Tüm Move talimatları ve yerel işlevlerin göreceli maliyet tahminleri çıkarıldı. Sistem sağlamlığını ve güvenliğini artıran kodlama örnekleri göz önünde bulundurulduktan sonra, nihai icra için makine talimatı sayısı belirlendi ve depolama ile maksimum GAS birimi arasında bir denge kurularak GAS planındaki mevcut değer elde edildi.
5. Depolama
Kalıcı depolamada saklanan defter durum öğelerine veya verilere erişirken, düğüm depolama cihazına okuma veya yazma talebinde bulunur. Veri erişim toplam sayısı, depolama cihazının bant genişliği ve IOPS kapasitesine bağlıdır. Depolama GAS planı, bu maliyetleri dikkate alacak şekilde tasarlanmıştır.
Herhangi bir durum öğesine erişmek ve saklamak, tüm blok zinciri durumunu doğrulamakla ilgili veri yapılarıyla bağlantılı maliyetler doğurur. Bu maliyet, farklı durum öğelerinin baz sayısıyla ilgilidir. Ayrıca, her öğenin boyutuyla orantılı bir maliyet de vardır.
GAS ücreti = item_fee + (byte_fee * bytes)
oku, oluştur ve yaz
Durum öğesi erişimi, okuma, oluşturma veya yazma olmak üzere üç türdür. Okuma işlemi en yaygınıdır ve yalnızca geçici kaynak kıtlığı ile sınırlıdır. Oluşturma işlemi, durum deposuna yeni öğeler ekler ve en yüksek maliyete sahiptir. Yazma işlemi, durum deposundaki mevcut öğeleri günceller.
Yukarıdaki düşüncelere dayanarak, 6 GAS parametresi tanımlandı:
per_item_read:IOPs'a göre kalibre edilmiş
per_byte_read: Gerçek bant genişliğine göre kalibre edilmiş
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 işlem, depolama ve yürütme maliyetlerine göre sabit bir birim maliyet gerektirir. Sabit GAS birim maliyeti, GAS planının değişmez kalmasına yardımcı olur ve yerel token'in piyasa değerinden bağımsızlaşır. GAS birimleri yaklaşık 3 haneli hassasiyetle ifade edilir, transfer işlem maliyeti yaklaşık 700 GAS birimidir.
Topluluk Katılımı
Topluluk üyeleri şunları yapabilir:
GAS planının mantıksız yerlerini bul
GAS planına ilişkin endişeleri ifade etme, topluluk tartışmalarına katılma
GAS ile ilgili yönetişim önerilerine oy verme
GAS maliyet ayarlaması
GAS planı, on-chain yapılandırma depolaması olarak, yönetim önerileri ile değiştirilebilir ve yeni talimatlar veya yerel özellikler sorunsuz bir şekilde eklenebilir. GAS planı, yönetim önerileri ile yükseltmeye izin verecek şekilde genişletilebilir olarak tasarlanmıştır. Sürekli iyileştirmeler ve kullanıcı geri bildirimlerinin dahil edilmesiyle, GAS parametreleri zamanla ayarlanabilir.
Karmaşık GAS formülü değişiklikleri, düğüm yazılımının güncellenmesini ve düğüm operatörleri tarafından geniş çapta benimsenmesini gerektirir. Son olarak, yeni GAS sürümünü kullanabilmek için yönetim önerisinin yayınlanması ve onaylanması şarttır.
Gelecek İş
MOVE'un ilk uygulanabilir GAS çerçevesi olarak, bu proje gelecekteki çalışmalar için zemin hazırlamaktadır:
İcra maliyetlerini düşürmek: Derleyici ve sanal makine verimliliğini artırmak
Çok Boyutlu GAS Hesaplama: Kullanıcıların yürütme ve depolama için ayrı bir bütçe belirlemesine izin verir.
Şişkinlik durumunu hafifletmek: Her projenin TTL kavramını keşfetmek, TTL süresi dolduğunda ziyaret edilmemiş 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.
19 Likes
Reward
19
6
Share
Comment
0/400
ShibaMillionairen't
· 07-24 00:05
Ne kadar ücret var, sadece enayiler para ödüyor işte.
View OriginalReply0
SatoshiHeir
· 07-21 20:58
Hmph, MOVE'nin tasarım planı açıkça Ethereum'un sarı kitabının 127. sayfasını kopyalamıştır.
View OriginalReply0
GasWaster
· 07-21 01:29
bir gün daha, bir gaz optimizasyonu daha... şimdi beni öldür
View OriginalReply0
GasGrillMaster
· 07-21 01:26
Mobil ödemeler geldi, hala bunu mu oynuyorsun?
View OriginalReply0
ImpermanentTherapist
· 07-21 01:12
Hem yenilikçi hem de para yakma
View OriginalReply0
CryptoMotivator
· 07-21 01:09
Yine ücret sorununu konuşuyorlar, neyi telaşlandırıyorlar?
MOVE dilinin öncüsü GAS mekanizması: on-chain ücret hesaplaması tam analizi
MOVE dilinin ilk GAS tasarımı: on-chain GAS ücret hesaplama yönteminin analizi
MOVE dilinin bir önceki versiyonu, GAS olmadan çalışması planlandığı için GAS mekanizmasına hazırlıklı değildi. Son zamanlarda, bir blok zinciri projesi, MOVE diline sahip zinciri için ilk GAS tasarımını tanıttı ve bu resmi olarak "bir macera" olarak adlandırıldı.
Bu projenin GAS planı, GAS'ın belirlenmesi için ilkeleri, süreçleri, hesaplama yöntemlerini, sonradan ayarlama mekanizmasını ve topluluk önerilerini kabul etme tutumunu açıklamaktadır. GAS ölçümü, bu blockchain ve birçok diğer blockchain için temel bir kavramdır; bu, zincir üzerinde işlem gerçekleştirmek ve depolamak için gereken hesaplama ve depolama kaynaklarının miktarının soyut bir hesaplamasını tanımlar. GAS planı, zincir üzerindeki tüm uygulamaların tükettiği maliyetleri belirleyecek ve işlem gerçekleştirilmesi sırasında kullanılan GAS harcamasını hesaplamak için kullanılacaktır.
Süreç
Bu projeyi etkin bir şekilde yürütmek için on-chain süreç şudur:
İlkeler
Bu projenin belirlediği ilkeler şunlardır:
GAS Hesaplama
Kullanıcı işlem gönderdiğinde, işlemde iki miktar belirtmelidir:
İşlem sırasında, işlem için alınacak:
Son işlem ücreti hesaplama yöntemi: Harcanan toplam GAS miktarı, GAS birim fiyatı ile çarpılır. Örneğin, bir işlem 670 GAS birimi harcıyorsa ve kullanıcının belirlediği GAS birim fiyatı 100 Octa ise, son işlem ücreti 670 * 100 = 67000 Octa = 0.00067 yerel token olur.
Eğer işlem yürütülmesi sırasında GAS tükenirse, gönderici maksimum GAS miktarına göre ücretlendirilecektir ve işlemle yapılan tüm değişiklikler geri alınacaktır.
GAS Planı Oluşturma
1. Temel Konfigürasyon
GAS planı, işlem boyutu ve maksimum GAS birimi gibi, tekil işlem detaylarıyla ilgili olmayan birkaç bileşen içerir.
2. İşlem ölçeği
Çoğu işlem ölçeği kilobyte seviyesindedir. MOVE modülünün yayınlanması birkaç kilobyte'ı bulabilirken, çerçeve yaklaşık 100 KB'dir. Kullanıcı modül boyutu genellikle 4KB ile 40KB arasında değişir. İlk işlem boyutu 32KB olarak ayarlanmış, daha sonra topluluk ihtiyaçlarına göre 64KB'ya ayarlanmıştır, bu da uygulama geliştirmeyi kolaylaştırmaktadır.
Büyük ölçekli işlemler ağ bant genişliği maliyetini artıracak ve performansı etkileyebilir. Maksimum ölçekli işlemlerin boyutu ve erişilebilirliğini dengelemek için, bellek havuzu daha büyük ölçekli işlemleri göz ardı edebilir.
3. En büyük GAS birimi
GAS planındaki maksimum GAS birimi, tek bir işlemin gerçekleştirebileceği maksimum işlem miktarını tanımlar. Aşırı yüksek ayarlamak, blockchain performansı üzerinde olumsuz etki yaratabilir. En büyük çerçeve yükseltmesi gerçekleştirildiğinde bile, GAS planının maksimum GAS biriminin (1.000.000 olarak belirlenmiştir) %90'ından daha az bir oranı kullanılmaktadır.
4. Uygulama
İcra maliyetlerini değerlendirirken, bir referans çerçevesi oluşturuldu ve Move VM'yi analiz etmek için analiz araçları kullanıldı. Tüm Move talimatları ve yerel işlevlerin göreceli maliyet tahminleri çıkarıldı. Sistem sağlamlığını ve güvenliğini artıran kodlama örnekleri göz önünde bulundurulduktan sonra, nihai icra için makine talimatı sayısı belirlendi ve depolama ile maksimum GAS birimi arasında bir denge kurularak GAS planındaki mevcut değer elde edildi.
5. Depolama
Kalıcı depolamada saklanan defter durum öğelerine veya verilere erişirken, düğüm depolama cihazına okuma veya yazma talebinde bulunur. Veri erişim toplam sayısı, depolama cihazının bant genişliği ve IOPS kapasitesine bağlıdır. Depolama GAS planı, bu maliyetleri dikkate alacak şekilde tasarlanmıştır.
Herhangi bir durum öğesine erişmek ve saklamak, tüm blok zinciri durumunu doğrulamakla ilgili veri yapılarıyla bağlantılı maliyetler doğurur. Bu maliyet, farklı durum öğelerinin baz sayısıyla ilgilidir. Ayrıca, her öğenin boyutuyla orantılı bir maliyet de vardır.
GAS ücreti = item_fee + (byte_fee * bytes)
oku, oluştur ve yaz
Durum öğesi erişimi, okuma, oluşturma veya yazma olmak üzere üç türdür. Okuma işlemi en yaygınıdır ve yalnızca geçici kaynak kıtlığı ile sınırlıdır. Oluşturma işlemi, durum deposuna yeni öğeler ekler ve en yüksek maliyete sahiptir. Yazma işlemi, durum deposundaki mevcut öğeleri günceller.
Yukarıdaki düşüncelere dayanarak, 6 GAS parametresi tanımlandı:
stabil GAS birim maliyeti
Her işlem ve işlem, depolama ve yürütme maliyetlerine göre sabit bir birim maliyet gerektirir. Sabit GAS birim maliyeti, GAS planının değişmez kalmasına yardımcı olur ve yerel token'in piyasa değerinden bağımsızlaşır. GAS birimleri yaklaşık 3 haneli hassasiyetle ifade edilir, transfer işlem 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 önerileri ile değiştirilebilir ve yeni talimatlar veya yerel özellikler sorunsuz bir şekilde eklenebilir. GAS planı, yönetim önerileri ile yükseltmeye izin verecek şekilde genişletilebilir olarak tasarlanmıştır. Sürekli iyileştirmeler ve kullanıcı geri bildirimlerinin dahil edilmesiyle, GAS parametreleri zamanla ayarlanabilir.
Karmaşık GAS formülü değişiklikleri, düğüm yazılımının güncellenmesini ve düğüm operatörleri tarafından geniş çapta benimsenmesini gerektirir. Son olarak, yeni GAS sürümünü kullanabilmek için yönetim önerisinin yayınlanması ve onaylanması şarttır.
Gelecek İş
MOVE'un ilk uygulanabilir GAS çerçevesi olarak, bu proje gelecekteki çalışmalar için zemin hazırlamaktadır: