Skip to content
Tüm opsiyon ve vadeli işlem rehberleri
Ethereum hesap delegasyonu9 dk okuma

EIP-7702: EOA Kod Delegasyonu ve Riskleri

EIP-7702’nin bir EOA’yı dağıtılmış koda nasıl yönlendirdiğini, type-4 yetkilendirmesinin neyi imzaladığını ve hangi yetki ile risklerin inceleneceğini öğrenin.

Bu rehberdeEIP-7702 hesabın yolunu değiştirir, anahtarını değil

Kısa özet

EIP-7702, mevcut bir dışarıdan sahip olunan hesabın (EOA) dağıtılmış koda işaret eden bir gösterge ayarlamasını sağlar. Adres ve anahtar aynı kalır; ancak hesaba gelen çağrılar, hesap yetkisiyle bu kodu çalıştırabilir. Standart sınırlı izin veya güvenlik garantisi vermez. İmzalamadan önce hedef kodu ve onu kimin kontrol ettiğini inceleyin.

EIP-7702 hesabın yolunu değiştirir, anahtarını değil

Sıradan bir EOA işlemleri özel anahtarla imzalar ve kendi adresinde çalıştırılabilir kod bulundurmaz. EIP-7702, hesabın başka bir adreste dağıtılmış koda işaret etmesine ve bu kodun hesap bağlamında çalışmasına izin verir. Kod başka adrestedir; bakiye, adres ve depolama bağlamı delegasyonu yapan hesaba aittir. Bu, yeni bir sözleşme adresine geçiş veya anahtar değişimi değildir.

EIP-7702 belirtimi, type-4 set-code işlemini ve yetkilendirme listesini tanımlar. Ethereum.org Pectra kılavuzu bunu dağıtılmış koda işaretçi olarak açıklar. Cüzdandaki “akıllı hesap” etiketi gerçek doğrulama kurallarını, kurtarma yöntemini veya kullanılan kodu göstermez. Kodu kimin değiştirebileceğini ve varlıklarla depolama üzerinde ne yapabileceğini kontrol edin.

Type-4 işlem ayrı imzalanan bir yetkilendirme listesi taşır

Set-code işlemi 0x04 tür baytıyla tanımlanır. Her yetkilendirme girdisi zincir kimliği, kod adresi, yetki veren hesabın nonce değeri ve imzasını içerir. Yetki sahibi girdiyi, gönderen ise dış işlemi ayrı imzalar; bunlar farklı hesaplar olabilir.

Zincir kimliği genellikle yetkiyi tek zincirle sınırlar. 0 değeri, EIP-7702’yi destekleyen zincirlerde daha geniş kapsam sağlar; ancak başarı garantisi vermez. Nonce ve hesap durumu yine eşleşmelidir. İmza ekranındaki ağ, hesap ve tam hedef adresi güvenilir bir blok gezginiyle karşılaştırın. Ethereum.org işlem belgeleri type-4 yetkilendirme listesini açıklar. Bu mekanizma, akıllı hesap kılavuzundaki ERC-4337 UserOperation ve paymaster’lardan farklıdır.

Delegasyon göstergesi kodu içermez, ona işaret eder

EOA koduna 0xef0100 öneki ve hedef adresinden oluşan gösterge yazılır. İstemci çağrı sırasında bu adresin kodunu yükler; hesap adresi ve çalışan kod adresi farklıdır. Kod mevcut zincirden alınır. Aynı adres başka bir zincirde farklı koda ya da hiç koda sahip olmayabilir.

Delegasyon kodu hesabın yürütme bağlamında çalışır ve depolamasını kullanabilir. Mantığına göre ETH veya token gönderebilir, dış sözleşmeleri çağırabilir ya da depolanan değerleri değiştirebilir. EIP-7702 kendiliğinden “yalnızca bu token” gibi bir sınır koymaz. Hedef bir proxy ise yöneticiyi ve yükseltme yetkisini kontrol edin.

Delegasyon kodu geniş hesap yetkileri kullanabilir

Hatalı doğrulama varlık transferi, token onayı, keyfî dış çağrı veya depolama değişikliğine izin verebilir. EIP güvenlik değerlendirmeleri, tekrar saldırısı korumasını ve hedef, calldata, ETH değeri ile gas koşullarının imzaya bağlanmasını vurgular. Bunlar yoksa sponsor farklı bir çağrı gönderebilir veya işlemin başarısız olmasına yol açabilir.

Hesabın çağırabildiği sözleşmeleri, imza doğrulamasını, acil durum ve yükseltme yetkilerini ve kodun doğrulanmış kaynakla eşleşmesini inceleyin. Denetim rozeti, istekteki tam adres ve sürümün denetlendiğini kanıtlamaz. Birleştirilmiş token onayı ve takas gibi işlemlerde iki çağrıyı da okuyun ve onayı gereken miktarla sınırlayın.

Dış işlemin başarısız olması delegasyonu bırakabilir

EIP-7702, dış işlemin yürütülmesinden önce yetkilendirmeleri işler. Belirtim, yürütme sonradan başarısız olsa veya revert etse bile işlenmiş delegasyon göstergelerinin geri alınmadığını söyler. Bu nedenle başarısız işlem makbuzu, hesabın başlangıç durumuna döndüğü anlamına gelmez. Makbuzu ve hesabın mevcut kodunu ayrı kontrol edin.

Yetkilendirme uygulanıp daha sonraki başlatma çağrısı başarısız olabilir; böylece kurulum tamamlanmadan delegasyon aktif kalır. Yeniden denemeden önce işlem hash’ini, yetki hesabını, nonce değerini ve kod işaretçisini kontrol edin. Nonce değişmişse önceki imza geçersiz olabilir.

Delegasyonu silmek diğer durumları temizlemez

Yeni bir yetkilendirme başka kodu gösterebilir. Null adrese yetkilendirme, delegasyon göstergesini silip hesap kodunu boşaltır. Ancak hesap depolamasını, ERC-20 sözleşmesindeki allowance’ı, tamamlanan transferleri veya dış sözleşme değişikliklerini silmez. Token izinlerini ayrıca kontrol edip iptal edin.

Yeni kod eski depolamayı farklı yorumlayabilir. Değiştirmeden önce depolama düzenini ve geçiş planını inceleyin. Token izinleri için onay ve allowance kılavuzunu okuyun. Anahtar veya kurtarma ifadesi açığa çıktıysa kodu silmek anahtarı kurtarmaz; cüzdan kurtarma kılavuzuna bakın.

İmzalamadan önce zinciri, hedefi ve hata sonrası durumu kontrol edin

Resmî cüzdan belgelerinde seçilen ağ için EIP-7702 desteğini doğrulayın. Zincir kimliğini, hesabı, hedef adresi, doğrulanmış kodu ve proxy yöneticisini kontrol edin. Yetkilendirme imzasını dış işlemin göndericisi ve ücret ödeyeninden ayırın; sponsorluk kodu güvenli yapmaz.

Delegasyon etkinse yalnızca işlem durumuna bakmayın; mevcut göstergeyi ve kod adresini inceleyin. Beklediğinizden farklıysa yeni çağrıları ve onayları durdurun. Gas için Ethereum ücret kılavuzuna, nonce ve bekleyen işlemler için bekleyen işlem kılavuzuna bakın.

Protokol özelliklerini cüzdan vaatlerinden ayırın

EIP-7702, EOA’yı dağıtılmış koda bağlayan işlem biçimini standartlaştırır. Çağrı gruplama, ücret sponsorluğu, oturum izinleri ve kurtarma belirli kod ve hizmetlere bağlıdır. Ethereum Foundation Pectra ana ağ duyurusu, yetkilendirmenin değiştirilebileceğini veya iptal edilebileceğini anlatır; ERC-4337 UserOperation ve paymaster başka bir mekanizmadır.

“Akıllı hesap” etiketi anahtarın kimde olduğunu, kodu kimin yükseltebildiğini veya kurtarmayı kimin değiştirdiğini söylemez. Varlık bulunan hesabı değiştirmeden önce uygulamayı, ayarları ve cüzdan desteğini kontrol edin. Bu rehber mekanikleri açıklar; belirli bir cüzdan veya delegasyonu önermez.

Sık sorulan sorular

Q1EIP-7702 EOA’yı sıradan bir akıllı sözleşme cüzdanına dönüştürür mü?

Hayır. EOA’nın kod çağrılarını devretmesini sağlar; cüzdan politikası, kurtarma veya özel izinler otomatik eklenmez.

Q2Yetkilendirme imzası ile type-4 işlem imzası aynı mıdır?

Hayır. Yetki hesabı hedefi, zincir kimliğini ve nonce’u; gönderici ise dış işlemi ayrı imzalar.

Q3Delegasyonu silmek token onaylarını iptal eder mi?

Hayır. Token sözleşmesi allowance’ı ayrı saklar. Onayları token sözleşmesi veya güvenilir bir cüzdan akışı üzerinden kontrol edip iptal edin.

Q4Delegasyon hedefinde neyi kontrol etmeliyim?

Mevcut zincirdeki tam adresi ve kodu, doğrulanmış kaynağı, yükseltme yöneticisini ve varlıklar ile hesap depolaması üzerindeki izinleri kontrol edin.

Kaynaklar ve daha fazla okuma

Sorun bildir

Bu makalenin bağlantısını içeren bir e-posta hazırlayacağız. Mark bildirimi yalnızca gönderdiğinizde alır

Hızlı kontrol

Rehberi okudunuz mu? 3 soruyla kendinizi kontrol edin

Soru 1 / 3

Soru 01

Geçerli yetkilendirme işlendikten sonra dış yürütme başarısız olursa ne olabilir?

Açıklamayı görmek için bir yanıt seçin

Opsiyon sözlüğü