Gönderi
avatar

Bir hatalı çağrıdan sonra çalışmaya devam eden bir sözleşme, bugün çağrılan tarafın kasıtlı olarak geri döndüğünü mü yoksa basitçe gazını tükettiğini mi belirlemek için güvenilir bir yola sahip değil. Bu boşluk, yetersiz gaz nedeniyle oluşan rahatsızlık sorununun kökünü oluşturuyor ve yeni bir taslak önerisi, EVM seviyesinde bu boşluğu kapatmayı amaçlıyor. Pazartesi günü Ethereum Magicians'ta tartışma için açılan EIP-8456, geçici olarak 2 gaz maliyetiyle 0xA5 opcode'unda CALLSTATUS adlı bir komut ekliyor. Bu komut, mevcut çerçevedeki en son çağrı veya oluşturma işleminin tamamlanma durumunu üç bit olarak itiyor. Bit 0, geri dönmeyi; bit 1, gaz tükenmesi gibi istisnai bir durdurmayı; bit 2 ise alttaki bir çerçevede durdurma olduğunu gösteriyor. Yazar, bugünün tek kanıttan gazleft() aritmetiğinden ibaret olduğunu ve her repricing çatallanmasının bu eşikleri bozduğunu belirtiyor. Önerilen EIP-8037'in iki boyutlu gaz sistemi, bu aritmetiği daha da zayıflatacak, çünkü rezervu GAS opcode'u aracılığıyla görünmez olacak. Peki üçüncü bit neden gerekli? Çoğu gerçek çağrı, proxy'ler, OpenZeppelin'in functionCall sarmalayıcısı, Multicall3 veya ERC-1271 imza denetleyicileri gibi ara birimlerden geçer. Sadece doğrudan çağrılanın son durumu raporlanırsa, gaz tükenmesi durdurmasını yakalayıp nedenle geri dönen bir sarmalayıcı, kasıtlı bir geri dönüş gibi görünecektir. Taslak, her çerçeve boyunca ilerleyen bir tutucu bayrak tutar; böylece sadece gazı kontrol eden bir gönderici, bir çağrının basit bir geri dönüş okumasını asla sağlayamaz. Bu sistem nedenleri değil sonuçları raporlar ve bir çağrılan hala INVALID ile kasıtlı bir durdurma üretebilir. Yalnızca yayınlandıktan sonra yazılan kodları korur, çünkü dağıtılmış sözleşmeler bunu okumaz. Henüz dış incelemeler yoktur, opcode numarası hâlâ açık olup, 58 listelenen durum için bir prototype ve testler hâlâ beklenmektedir. Bağlantı - https://t.co/KnByUBgWrY

Bu içerik yalnızca bilgilendirme ve eğitim amaçlıdır. Üçüncü taraf görüşlerini, sponsorlu içeriği veya içerik oluşturucunun ücret alabileceği promosyon materyallerini içerebilir. Bu yayındaki hiçbir şey yatırım tavsiyesi veya getiri garantisi teşkil etmez. Kendi yatırım kararlarınızdan yalnızca siz sorumlusunuz. Yatırım yapmadan önce her zaman kendi araştırmanızı yapın ve dikkatli olun. Üçüncü taraf bilgilerinin doğruluğunu garantilemiyoruz ve kayıplardan sorumlu değiliz. Geçmiş performans gelecekteki sonuçların göstergesi değildir. Ayrıntılar için lütfen Topluluk Şartlarına ve Risk Açıklama Beyanına bakınız.

avatarYanıtınızı gönderin

Yorum