MOVE dilinin en son versiyonu başlangıçta GAS olmadan çalışacak şekilde planlanmıştı, bu nedenle GAS mekanizmasına hazırlanmadı. Yakın zamanda bir blok zinciri projesi, MOVE diline özel bir GAS planı tasarladı ve bu yenilikçi bir deneme olarak değerlendiriliyor. Proje ekibi, GAS oluşturma ilkelerini, süreçlerini, hesaplama yöntemlerini ve sonradan yapılacak ayarlamalar için planlarını açıkladı ve topluluk önerilerini memnuniyetle karşıladıklarını belirtti.
GAS ölçümü, birçok blok zincirinin temel kavramıdır ve zincir üzerindeki işlemlerin gerçekleştirilmesi ve depolanması için gereken hesaplama ve depolama kaynaklarını nicelendirir. GAS planı, zincir üzerindeki tüm işlemlerin maliyetini belirler ve işlem gerçekleştirme süresince GAS tüketimini hesaplamak için kullanılır.
Tasarım Süreci
Etkili bir uygulama sağlamak için, proje aşağıdaki süreçleri benimsemiştir:
Tanım İlkesi
Değerlendirme çerçevesini hazırlayın, her bir uygulamanın fiyatını belirleyin.
MOVE için GAS ölçüm sistemi ve güvenli GAS cebiri oluşturun
Üst akış GAS çerçevesini projeye aktarın
GAS çerçevesinin depolama algılama yeteneğine sahip olmasını sağlamak
GAS planını daha da geliştirmek
Tasarım İlkeleri
Bu projenin takip ettiği ilkeler şunlardır:
İşlem maliyetleri, ağın mevcut kaynaklarıyla doğrudan ilişkili olmalı ve teknolojik ilerlemelerle birlikte azalmalıdır.
GAS, zincir üzerindeki yönetişim tarafından belirlenmeli ve esnek bir şekilde yapılandırılabilir.
GAS, ağın sabit kaynaklarına yönelik DoS saldırılarını önlemelidir, ağ durumuna göre hızlı bir şekilde ayarlanabilir.
GAS fiyatı, proje sahiplerinin büyümeyi teşvik etme ve blockchain'in yaygınlaşma vizyonunu yansıtmalıdır.
Tasarımda güvenlik, modülerlik gibi mükemmel seçimler yapmaya teşvik edin.
GAS Hesaplama Yöntemi
Kullanıcı işlemi gönderdiğinde iki değer belirtmelidir:
Maksimum GAS miktarı: Kullanıcının işlem gerçekleştirmek için ödemek istediği maksimum GAS birimi sayısı
GAS birimi: Sekizli sistemle hesaplanır, 1 sekizli sistem = 0.00000001 yerel token
İşlem gerçekleştirme sırasında alınacak:
Sabit maliyetler: Temel ücret artı büyük işlem ek ücreti
İcra Maliyeti: MOVE komutunu icra etmek için
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 = Harcanan GAS toplamı × GAS birim fiyatı
Eğer işlem sırasında GAS tükenirse, gönderici maksimum GAS miktarı üzerinden ücretlendirilir, borsa yapılan değişiklikleri geri alacaktır.
GAS Planı Oluşturma
temel yapılandırma
GAS planı, işlem boyutu ve maksimum GAS birimi gibi belirli işlemlerle ilgili olmayan birkaç bileşen içerir.
işlem hacmi
Çoğu işlem boyutu KB seviyesindedir, ancak MOVE modülü yayınlandığında birkaç bin bayta kadar ulaşabilir. Proje çerçevesi yaklaşık 100KB, çoğu kullanıcı modülü 4-40KB arasında. İlk işlem boyutu 32KB olarak belirlenmiş, daha sonra topluluk geri bildirimine göre 64KB'ye ayarlanmıştır.
Büyük ölçekli işlemler ağ bant genişliği maliyetlerini artıracak ve performansı etkileyebilir. Ölçek ve erişilebilirliği dengelemek için, bellek havuzu büyük işlemleri göz ardı edebilir.
maksimum GAS birimi
GAS planındaki maksimum GAS birimi, tek bir işlemin gerçekleştirebileceği maksimum işlem miktarını tanımlar. Çok yüksek ayarlanması, sonsuz döngüler gibi performans sorunlarına yol açabilir. En büyük ölçekli çerçeve güncellemeleri yapılsa bile, maksimum GAS biriminin 1,000,000('inin altında %90'dan az bir kullanım gerçekleşir. ) olarak ayarlanmıştır.
İcra maliyet değerlendirmesi
Referans çerçevesi ve analiz araçları kullanarak yürütme maliyetlerini değerlendirerek MOVE talimatlarının ve yerel fonksiyonların göreli maliyetini tahmin edin. Sistem kararlılığı ve güvenliğini göz önünde bulundurarak, nihai yürütme için makine talimatı sayısını belirleyin ve depolama ile maksimum GAS birimleri arasında bir denge kurarak GAS planındaki mevcut değeri belirleyin.
Depolama maliyeti
Depolama erişimi, cihazın bant genişliği ve IOPS sınırlamaları ile kısıtlıdır. Depolama GAS planı, anlık kıtlık ve kalıcı işgal maliyetlerini dikkate alır. Herhangi bir durum öğesine erişim, tüm blok zinciri durumunu doğrulama ile ilgili maliyetler doğurur.
GAS ücreti = Proje ücreti + ( bayt ücreti × bayt sayısı )
OKUMA, OLUŞTURMA VE YAZMA İŞLEMLERİ
Okuma: En yaygın işlem, disk IOPS ve bant genişliği kapasitesi kalibrasyonu
Oluşturma: En yüksek maliyet, referans disk alanına göre kalibre edilmiş
Yazma: Mevcut öğeyi güncelle, byte ücreti oluşturulanda olduğu gibi
Her işlem için yalnızca bir kez aynı kaynak için okuma/yazma ücreti alınır.
stabil GAS birim maliyeti
Sabit GAS birim maliyeti, GAS planının istikrarını sağlamaya yardımcı olur ve yerel token piyasa değerinden etkilenmez. Yaklaşık 3 basamağa kadar hassasiyetle, normal transfer işlem maliyeti yaklaşık 700 GAS birimidir.
Topluluk Katılımı
Proje topluluk üyelerini teşvik ediyor:
GAS planındaki mantıksızlıkları keşfetmek
Topluluk tartışmalarına katılın, GAS planına ilişkin endişelerinizi ifade edin
GAS ile ilgili yönetim önerilerine oy verme
GAS maliyet ayarlaması
GAS planı, zincir üzerindeki yapılandırma depolama olarak, yönetim önerileri ile değiştirilebilir. Tasarım, öneriler aracılığıyla yükseltmelere izin veren ölçeklenebilirliğe sahiptir. Karmaşık değişiklikler, düğüm yazılımının güncellenmesini ve geniş çapta benimsenmesini gerektirir, en sonunda yeni sürümün onaylanması için yönetim önerisi gereklidir.
Gelecek Çalışma Yönü
MOVE'nin ilk uygulanabilir GAS çerçevesi olarak, bu tasarım gelecekteki çalışmalar için bir temel oluşturur:
İcra maliyetlerini azaltma: Derleyici ve sanal makineyi optimize etme
Çok Boyutlu GAS Hesaplama: Kullanıcıların yürütme ve depolama için ayrı bir bütçe belirlemesine izin verir.
Durum genişlemesini hafifletmek: Zaman aşımına uğramış, ziyaret edilmemiş öğelerin otomatik olarak silinmesi için durum öğesi TTL kavramının getirilmesini keşfetmek
Bu GAS, MOVE dil ekosistemine yeni olanaklar sunmak üzere tasarlandı; gelecekte büyük gelişim ve iyileştirme alanı var.
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 dili, GAS mekanizmasını ilk kez tanıttı: Tasarım ilkeleri ve hesaplama yöntemleri tam analizi
MOVE dilinin ilk GAS tasarımı üzerine tartışma
MOVE dilinin en son versiyonu başlangıçta GAS olmadan çalışacak şekilde planlanmıştı, bu nedenle GAS mekanizmasına hazırlanmadı. Yakın zamanda bir blok zinciri projesi, MOVE diline özel bir GAS planı tasarladı ve bu yenilikçi bir deneme olarak değerlendiriliyor. Proje ekibi, GAS oluşturma ilkelerini, süreçlerini, hesaplama yöntemlerini ve sonradan yapılacak ayarlamalar için planlarını açıkladı ve topluluk önerilerini memnuniyetle karşıladıklarını belirtti.
GAS ölçümü, birçok blok zincirinin temel kavramıdır ve zincir üzerindeki işlemlerin gerçekleştirilmesi ve depolanması için gereken hesaplama ve depolama kaynaklarını nicelendirir. GAS planı, zincir üzerindeki tüm işlemlerin maliyetini belirler ve işlem gerçekleştirme süresince GAS tüketimini hesaplamak için kullanılır.
Tasarım Süreci
Etkili bir uygulama sağlamak için, proje aşağıdaki süreçleri benimsemiştir:
Tasarım İlkeleri
Bu projenin takip ettiği ilkeler şunlardır:
GAS Hesaplama Yöntemi
Kullanıcı işlemi gönderdiğinde iki değer belirtmelidir:
İşlem gerçekleştirme sırasında alınacak:
Son işlem ücreti = Harcanan GAS toplamı × GAS birim fiyatı
Eğer işlem sırasında GAS tükenirse, gönderici maksimum GAS miktarı üzerinden ücretlendirilir, borsa yapılan değişiklikleri geri alacaktır.
GAS Planı Oluşturma
temel yapılandırma
GAS planı, işlem boyutu ve maksimum GAS birimi gibi belirli işlemlerle ilgili olmayan birkaç bileşen içerir.
işlem hacmi
Çoğu işlem boyutu KB seviyesindedir, ancak MOVE modülü yayınlandığında birkaç bin bayta kadar ulaşabilir. Proje çerçevesi yaklaşık 100KB, çoğu kullanıcı modülü 4-40KB arasında. İlk işlem boyutu 32KB olarak belirlenmiş, daha sonra topluluk geri bildirimine göre 64KB'ye ayarlanmıştır.
Büyük ölçekli işlemler ağ bant genişliği maliyetlerini artıracak ve performansı etkileyebilir. Ölçek ve erişilebilirliği dengelemek için, bellek havuzu büyük işlemleri göz ardı edebilir.
maksimum GAS birimi
GAS planındaki maksimum GAS birimi, tek bir işlemin gerçekleştirebileceği maksimum işlem miktarını tanımlar. Çok yüksek ayarlanması, sonsuz döngüler gibi performans sorunlarına yol açabilir. En büyük ölçekli çerçeve güncellemeleri yapılsa bile, maksimum GAS biriminin 1,000,000('inin altında %90'dan az bir kullanım gerçekleşir. ) olarak ayarlanmıştır.
İcra maliyet değerlendirmesi
Referans çerçevesi ve analiz araçları kullanarak yürütme maliyetlerini değerlendirerek MOVE talimatlarının ve yerel fonksiyonların göreli maliyetini tahmin edin. Sistem kararlılığı ve güvenliğini göz önünde bulundurarak, nihai yürütme için makine talimatı sayısını belirleyin ve depolama ile maksimum GAS birimleri arasında bir denge kurarak GAS planındaki mevcut değeri belirleyin.
Depolama maliyeti
Depolama erişimi, cihazın bant genişliği ve IOPS sınırlamaları ile kısıtlıdır. Depolama GAS planı, anlık kıtlık ve kalıcı işgal maliyetlerini dikkate alır. Herhangi bir durum öğesine erişim, tüm blok zinciri durumunu doğrulama ile ilgili maliyetler doğurur.
GAS ücreti = Proje ücreti + ( bayt ücreti × bayt sayısı )
OKUMA, OLUŞTURMA VE YAZMA İŞLEMLERİ
Her işlem için yalnızca bir kez aynı kaynak için okuma/yazma ücreti alınır.
stabil GAS birim maliyeti
Sabit GAS birim maliyeti, GAS planının istikrarını sağlamaya yardımcı olur ve yerel token piyasa değerinden etkilenmez. Yaklaşık 3 basamağa kadar hassasiyetle, normal transfer işlem maliyeti yaklaşık 700 GAS birimidir.
Topluluk Katılımı
Proje topluluk üyelerini teşvik ediyor:
GAS maliyet ayarlaması
GAS planı, zincir üzerindeki yapılandırma depolama olarak, yönetim önerileri ile değiştirilebilir. Tasarım, öneriler aracılığıyla yükseltmelere izin veren ölçeklenebilirliğe sahiptir. Karmaşık değişiklikler, düğüm yazılımının güncellenmesini ve geniş çapta benimsenmesini gerektirir, en sonunda yeni sürümün onaylanması için yönetim önerisi gereklidir.
Gelecek Çalışma Yönü
MOVE'nin ilk uygulanabilir GAS çerçevesi olarak, bu tasarım gelecekteki çalışmalar için bir temel oluşturur:
Bu GAS, MOVE dil ekosistemine yeni olanaklar sunmak üzere tasarlandı; gelecekte büyük gelişim ve iyileştirme alanı var.