Ethereum (ETH) geliştiricileri, Glamsterdam yükseltmesindeki gas tarifesi değişikliklerinin eski akıllı sözleşmelerde çağrıların başarısız olmasına yol açma riskini azaltmak için iki düzeltme taslağı önerdi. Taslaklardan biri mevcut sözleşmelere eski tarifeyi uyguluyor, diğeri ise sözleşmenin çalıştırılmasında kullanılan gas ile kullanıcının ödediği ücreti ayrı hesaplıyor.
ChainNews ABMedia'nın haberine göre Leo Glisic, EIP-8488'i önerdi; Giulio Rebuffo da ayrı bir çift ölçüm taslağı sundu. Her iki taslak da öneri aşamasında ve uygulama için bir hedef tarih belirlenmiş değil.
Tartışmanın arka planında Glamsterdam'a dahil edilen EIP-8037 ve EIP-8038 bulunuyor. Bu öneriler, yeni durum verisi oluşturma veya mevcut durum verisine erişme maliyetlerini değiştiriyor. Amaç, durum verilerindeki artışı sınırlamak ve ileride blok gas limitinin güvenli biçimde artırılmasını mümkün kılmak.
EIP-8037'ye göre yeni hesap oluşturma maliyeti 25.000 gas'ten 183.600 gas'e çıkarılıyor. Sözleşme dağıtımının temel maliyeti de 32.000 gas'ten 183.600 gas'e yükseliyor; kodun saklanması ve çalıştırılması için gereken maliyetler ayrı hesaplanıyor.
Bazı akıllı sözleşmeler, başka bir sözleşmeyi çağırmak için gereken gas miktarını kodlarına sabitliyor. Yeni tarifede önceden belirlenen miktar yetersiz kalırsa çağrı başarısız olabilir. Önceden dağıtılmış sözleşmeleri değiştirmek de zor olabilir. Ancak etkilenme, kodun sabit bir gas varsayımına dayanıp dayanmadığına bağlı; dolayısıyla tüm eski sözleşmeler risk altında değil.
Ethereum Vakfı (Ethereum Foundation), 6 Kasım'da geliştiricilerden ve denetçilerden EIP-8037 ile EIP-8038 kapsamındaki sekiz gas işleme varsayımını incelemelerini istedi. Vakıf, iki önerinin bazı işlemlerin gas maliyetini ve durum verilerinin maliyetlendirilme biçimini değiştirdiğini açıkladı.
ChainSecurity'nin Ekim ayında risklere dikkat çekmesinin ardından vakıf, 26 Ekim için planlanan Hoodi test ağı yükseltmesini erteledi. Yeni takvim henüz belirlenmedi.
EIP-8488, Ethereum Sanal Makinesi'nin (EVM) komut setini eski sürüm ve V2 olarak ikiye ayırıyor. Yükseltmeden sonra dağıtılacak yeni sözleşmeler V2 komut setini kullanacak ve EIP-8037 ile EIP-8038'in yeni tarifelerine tabi olacak. Mevcut sözleşmeler ise eski tarifeyi kullanmayı sürdürecek.
V2, sözleşmelerin kalan gas miktarını okumasına imkân veren GAS ve GASLIMIT gibi komutları da kapsam dışı bırakıyor. Böylece yeni sözleşmelerin eski ücret varsayımlarını kodlarına sabitlemesinin önüne geçilmesi amaçlanıyor. Taslağa göre yükseltilebilir protokoller, uygulama sözleşmesini değiştirerek yeni kurallara geçebilecek.
Rebuffo'nun taslağı her işlem için iki gas ölçer kullanıyor. Mevcut yöntemdeki ölçer, sözleşmenin çalışma sırasında görebileceği ve tahsis edebileceği gas miktarını hesaplıyor. Yeni yöntemdeki ölçer ise kullanıcının ödeyebileceği gerçek ücreti hesaplıyor.
Yeni tarife ölçerindeki gas yetersiz kalırsa işlem bütünüyle durduruluyor ve sözleşme bu hatayı kendi içinde işleyemiyor. Taslakta ayrıntılı ücret tarifesi, iade kuralları ve blok hesaplama yöntemi henüz belirlenmiş değil.
İki öneri, tarife değişikliğini farklı biçimlerde uyguluyor. EIP-8488 tarifeleri sözleşme sürümüne göre ayırırken Rebuffo'nun taslağı, sözleşmenin görebildiği gas miktarıyla gerçek ücretlendirme ölçütünü birbirinden ayırıyor.
Rebuffo'nun taslağına henüz bir EIP numarası verilmedi; yürütme katmanı istemcilerinde uygulanmadı ve mutabakat testleri yapılmadı. Her iki taslak da tartışma aşamasında bulunuyor ve ne zaman uygulanacakları henüz belli değil.
Comment 0