Zelcore

ERC-4337 Mimarisi: EntryPoint, Bundler’lar ve Zahmetsiz Paymaster’lar

8 dk okuma
ERC-4337 Mimarisi: EntryPoint, Bundler’lar ve Zahmetsiz Paymaster’lar

Ethereum üzerindeki hesap soyutlamasında ezberlemeye değer iki kanonik adres vardır. EntryPoint v0.6, 0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789 adresinde bulunur. 2024'ün başlarında dağıtılan EntryPoint v0.7 ise 0x0000000071727De22E5E9d8BAf0edAc6f37da032 adresindedir. Ana ağda, Arbitrum, Optimism, Base, Polygon ve diğer EVM zincirlerinin çoğunda gerçekleşen her ERC-4337 işlemi bu iki tekil sözleşmeden biri üzerinden yönlendirilir. Bu sözleşmelerin ne yaptığını ve çevrelerindeki diğer beş rolü anlarsanız ERC-4337'ü de anlarsınız.

Bu, Akıllı Hesaplar serimizin 2. bölümü. 1. bölümde EOA'ların neden varsayılan olarak kötü bir tercih olduğunu ele aldık. Bu bölümde işin iç yüzüne bakıyoruz: altı rol, UserOperation yapısı, akıllı hesaptan token takası yaptığınızda gerçekte neler olduğu, v0.6'dan v0.7'ye değişiklikler, paymaster'lar, herkese açık alternatif bellek havuzları ile özel bundler'lar ve beklemeniz gereken ek maliyet.

Altı rol, tek diyagramda

ERC-4337, bir EOA'nın tek adımda yaptıklarını birlikte çalışan altı aktöre böler. Bunların hiçbiri Ethereum'da hard fork gerektirmedi; sistemin tamamı sözleşmelerden ve zincir dışı altyapıdan oluşur.

Bu rolleri aklınızda tutun. Makalenin geri kalanı bu altı rolün birbiriyle iletişiminden ibaret.

UserOperation yapısı

UserOperation, imzalandıktan sonra L1'e henüz işlem göndermeden niyeti ifade eden, JSON-RPC ile kullanılabilen alanlardan oluşan bir pakettir. v0.7 düzeninde 11 mantıksal alan bulunur:

İmza şemasını cüzdan belirler. secp256k1 üzerinde ECDSA yaygındır; ancak P-256/passkey doğrulaması, çoklu imza, sosyal kurtarma eşikleri ve oturum anahtarı imzacıları da aynı arayüzün arkasında çalışır. Esnekliğin tüm amacı budur.

Baştan sona: Akıllı hesap USDC'yi ETH ile takas ettiğinde neler olur?

Rollerin sırayla devreye girdiği gerçek bir takası izleyelim.

  1. Kullanıcı cüzdan arayüzünde “Takas” düğmesine dokunur. Cüzdan, Uniswap'i hedefleyen bir UserOperation oluşturur: sender = 0xUserSafe, callData = swapUSDCforETH(amount).
  2. Gas tahmini. Cüzdan, bundler RPC'sinde eth_estimateUserOperationGas çağrısını yapar. Bundler, işlemi EntryPoint'e göre simüle eder ve üç gas limitini döndürür.
  3. Kullanıcı imzalar. Cüzdan, UserOp'un hash'ini EntryPoint adresi ve zincir kimliğiyle birlikte hesaplar, kullanıcıdan imza ister (passkey, donanım anahtarı veya başka bir yöntemle) ve imzayı ekler.
  4. Gönderim. İmzalı UserOp, eth_sendUserOperation aracılığıyla bir veya daha fazla bundler'a gönderilir. Ethereum'un normal işlem bellek havuzundan ayrı bir P2P ağı olan alternatif bellek havuzuna girer.
  5. Bundler simülasyonu. Bundler, eth_call ile simulateValidation üzerinde yeniden simülasyon yapar. ERC-7562 depolama erişimi kurallarını denetler: Doğrulama sırasında UserOp yalnızca kendi depolama alanına erişebilir. Aksi durumda bundler, kötüye kullanılarak zarara uğrama riski taşır.
  6. Pakete ekleme. Bundler, bu UserOp'u en fazla ~10 başka UserOp ile birlikte tek bir handleOps([...userOps], beneficiary) çağrısında EntryPoint'e gönderilmek üzere paketler.
  7. Zincir üstünde yürütme. EntryPoint, her işlemi sırayla ele alır: gönderen üzerinde validateUserOp çağrısını yapar, ön ödemeyi düşer ve ardından callData işlemini yürütür. Uniswap takası akıllı hesaptan gerçekleşir.
  8. İade. EntryPoint, kullanılmayan gas ücretini gönderene (veya paymaster'a) iade eder ve bundler'ın alıcı adresine ödeme yapar.

Eğer 5. adım başarısız olursa bundler işlemi düşürür ve kullanıcı bir AAxx hata kodu görür. En yaygın olanlar şunlardır: AA21 (ön ödemeyi yapmadı), AA23 (imza hatası), AA25 (nonce geçersiz), AA33 (paymaster işlemi geri aldı) ve AA40 (doğrulama gas limiti aşıldı). Bu tabloyu aklınızda tutun; bu hatalarla karşılaşacaksınız.

EntryPoint v0.6 ve v0.7 karşılaştırması

v0.6, Mart 2023'te 0x5FF1…2789 adresinde kullanıma sunuldu. Çalışıyordu ancak can sıkan üç sorunu vardı: üç gas boyutunu tek bir paymasterAndData içinde birleştiriyordu, initCode paketlemesi zahmetliydi ve gas hesabı gönderenlerden fazla ücret alıyordu. v0.7 bu üç sorunu da çözdü.

v0.7'de bilmeniz gereken başlıca değişiklikler:

v0.6 hâlâ yayında ve kullanılıyor; birçok cüzdan v0.7 uyumlu modülü ancak 2024'ün ilerleyen dönemlerinde kullanıma sundu. Çoğu zincir, iki EntryPoint'i de yıllarca paralel olarak çalıştırır.

Paymaster'lar: gas ücretini kim öder?

Paymaster, EntryPoint'te ETH stake'i tutan ve politikasına uyan UserOp'ların gas ücretlerini karşılamayı kabul eden bir sözleşmedir. Üç tür öne çıkar:

Paymaster'ın validatePaymasterUserOp işlevi, EntryPoint'in doğrulama aşamasında çalışır. İşlem geri alınırsa AA33 hatası alırsınız. Stake'i tükenirse EntryPoint stake'ini keser ve zararı bundler üstlenir; bundler'ların paymaster itibar listeleri tutmasının nedeni budur. ERC-7562, bundler bellek havuzunun spam'e dayanıklı kalması için bu itibar kurallarını standartlaştırır. Aynı temel ilkeler, DeFi onaylarının ve çoklu imza güvenliğinin neden 4337 dünyasına kolayca aktarıldığını açıklar: tehditler aynı, sarmalayıcı farklı.

Herkese açık alt-mempool ve özel bundler

UserOp’ı zincire göndermenin iki yolu vardır.

Herkese açık alt-mempool: ERC-7562 uyumlu bundler’lar, UserOp’ları libp2p ağı üzerinden birbirlerine duyurur. Pimlico, Stackup, Alchemy, Etherspot veya Voltaire düğümü çalıştıran herkes sizin UserOp’ınızı alabilir. Bu yöntem izinsiz ve sansüre dayanıklıdır; ancak normal Ethereum işlemlerindeki MEV risklerine de açıktır: arama yapanlar, işleminizi zincire eklenmeden önce görebilir.

Özel bundler: eth_sendUserOperation doğrudan bir sağlayıcının RPC’sine gönderirsiniz. Sağlayıcı işlemi simüle eder, bir pakete ekler ve özel olarak gönderir (çoğu zaman Flashbots üzerinden). Bu yöntem daha hızlıdır ve MEV’e karşı koruma sağlar; ancak bundler’ın işleminizi sansürlemeyeceğine veya önden işlem yapmayacağına güvenirsiniz. 2026’da tüketici cüzdanlarının çoğu varsayılan olarak özel bundler kullanır.

Bu tercih, normal işlemlerdeki herkese açık mempool ile Flashbots Protect arasındaki tercihe benzer. L1 döneminden beri altta yatan işlem yaşam döngüsünü incelemediyseniz, bundler devreye girdiğinde nelerin değiştiğini bu giriş yazısı açıklıyor.

Aggregator’lar, benimsenme ve tüm bunların maliyeti

Aggregator’lar, işlem gruplarını tek bir imza kontrolüyle doğrulayan sözleşmelerdir. Bunun temel kullanım alanı BLS’tir: BLS ile imzalanmış 50 UserOp toplar, imzaları tek bir eşleştirme kontrolünde birleştirir ve imza gas ücretinden yaklaşık %95 tasarruf edersiniz. BLS imzalayan cüzdanlar geliştirmek zor olduğundan ve gas tasarrufu ancak yüksek hacimlerde sağlandığından, benimsenme yavaş ilerlemiştir. 2026 ortası itibarıyla ana ağdaki UserOp’ların %1’inden azı aggregator kullanıyor.

Benimsenme verileri (bundlebear.com’un 2026’nın ilk çeyreğine ait verileri): Tüm zincirlerde toplam yaklaşık 380 milyon UserOp gerçekleştirilmiştir; çoğunluğu Base, Polygon ve Arbitrum oluşturur. Ana ağın payı yaklaşık %6–8’dir; hacim bakımından en küçük, aktarılan değer bakımından ise en büyük paya sahiptir. Tüketici işlemlerinde Coinbase Smart Wallet, Farcaster ve Argent öne çıkar.

Ek maliyet: v0.7 UserOp, eşdeğer EOA işleminden yaklaşık 30.000–40.000 gas daha fazla tutar. Bu fark, EntryPoint döngüsü, doğrulama ve paket yönetimi masraflarından kaynaklanır. Ana ağda 20 gwei üzerinden hesaplandığında, işlem başına bir doların küçük bir bölümüne denk gelir. factoryData ile hesabı ilk kez dağıtmak buna yaklaşık 250.000 gas daha ekler. Calldata’nın başlıca maliyet kalemi olduğu L2’lerde ek yük oranı tek hanelidir. Sponsorlu UserOp’larda bu maliyeti dApp üstlenir; bu nedenle tüketici uygulamalarında işlemler ücretsizken ciddi DeFi uygulamalarında ücretsiz değildir. Daha kapsamlı işlem ücretleri rehberi, bu ek yükün farklı ücret piyasalarına nasıl yansıdığını açıklar.

Özetle: ERC-4337; altı rol (gönderen, UserOp, bundler, EntryPoint, paymaster, aggregator), tek bir yapı, ezberlemeniz gereken iki EntryPoint adresi ve gelişigüzel imza şemaları, gas sponsorluğu, gruplama ve paralel nonce’lar karşılığında yaklaşık 30–40 bin gas ek yük demektir. Bu serinin 3. bölümünde EIP-7702’ye geçiyoruz. Pectra’nın bu paralel yolu, mevcut EOA’nızın adresini değiştirmeden aynı mekanizmalardan yararlanmasını sağlar.


Daha Fazla Okuma

Cüzdanlar, Gas ve Onaylar: Her DeFi Kullanıcısının Anlaması Gereken Üç Konu

Cüzdanlar, Gas ve Onaylar: Her DeFi Kullanıcısının Anlaması Gereken Üç Konu

Herhangi bir takas yapmadan, borç vermeden veya getiri çiftçiliğine başlamadan önce, her DeFi etkileşiminin dayandığı üç temel unsuru anlamanız gerekir: cüzdanınız, gas ve token onayları.

6 dk okuma
Hesaplar, Sözleşmeler ve EVM: Ethereum işlemleri gerçekte nasıl yürütür?

Hesaplar, Sözleşmeler ve EVM: Ethereum İşlemleri Gerçekte Nasıl Yürütür?

Ethereum, Bitcoin’in UTXO cüzdanını devasa bir hesap tablosu ve gas ölçümlü bir yığın makinesiyle değiştirir. Durumun, işlem kodlarının ve bir ERC-20 transferinin nasıl çalıştığını burada bulabilirsiniz.

9 dk okuma
Ethereum Gas Mekanikleri: EIP-1559, Öncelik Ücretleri ve Dencun Sonrası Blob Ücretleri

Ethereum Gas Mekanikleri: EIP-1559, Öncelik Ücretleri ve Dencun Sonrası Blob Ücretleri

2026'da Ethereum gas ücretleri nasıl işler? EIP-1559 taban ücret açık artırması, öncelik ücreti bahşişleri ve Dencun'da ortaya çıkan, Pectra ile ölçeği artırılan bağımsız blob piyasası.

8 dk okuma

Bültenimize Katılın

Ayda bir kez sizinle samimi bir güncelleme paylaşıyoruz. Spam yok, yalnızca Zelcore'dan en son haberler.

Bültenimize Katılın