Kısa bir ERC-4337 özeti
ERC-4337, hesap soyutlaması için Ethereum standardıdır — akıllı sözleşme hesaplarına, harici sahipli hesapların (EOA) her zaman sahip olduğu, eylem başlatma ve bunları ödeme konusundaki aynı birinci sınıf yeteneği, temel protokolde herhangi bir değişiklik yapmadan verme yoludur. ERC-4337, uzlaşma katmanını değiştirmek yerine, sonuçta sıradan Ethereum işlemleriyle sonuçlanan, daha üst düzey nesneler ve zincir dışı altyapıdan oluşan paralel bir sistem getirir. Önce en temel sürümünü istersen, hesap soyutlaması nedir açıklayıcımız motivasyonu ele alır ve ERC-4337 nedir tüm standardı haritalar. Bu yazı mekanizmaya yakınlaşır: sistemden geçen nesneler ve onları işleyen aktörler. ERC-4337'nin bir EVM standardı olduğunu unutmayın — Ethereum ve EVM uyumlu zincirler için geçerlidir, Solana veya TON gibi EVM-dışı zincirler için değil.
Bir UserOperation gerçekte nedir
ERC-4337'deki merkezi nesne UserOperation'dır. Yüzeysel olarak bir işleme benzer, ancak imzalanmış bir niyet beyanı olarak anlaşılması daha doğrudur: "hesabımın yapılmasını istediği şey burada ve bunu doğrulama ile ödeme parametreleri de bunlar." Bir UserOperation, gönderen hesap, bir nonce, yürütülecek calldata, gaz limitleri, ücret parametreleri, isteğe bağlı bir paymasterAndData alanı ve bir imza gibi alanlar taşır.
Normal bir işlemden temel farkı, onu kimin ve neyin imzaladığıdır. Geleneksel bir Ethereum işlemi, sabit bir ECDSA şeması kullanan bir EOA'nın özel anahtarıyla imzalanmalıdır ve gazı yine o hesap öder. Bir UserOperation ise, göndericinin kendi akıllı sözleşme hesabı mantığı tarafından doğrulanır — bu mantık, hesabın tanımladığı herhangi bir imza şemasını, çok anahtarlı kuralı veya yetkilendirme politikasını uygulayabilir — ve kendini yerel gazla ödemek zorunda değildir. Bütün mesele bu esnekliktir: geçerli bir eylemin nasıl göründüğüne protokol değil, hesap karar verir.
Yaşadıkları alternatif mempool
UserOperation'lar, henüz işlem olmadıkları için normal Ethereum işlem mempool'una girmezler. Bunun yerine ayrı bir alternatif mempool'a (çoğunlukla alt-mempool denir) yayınlanırlar — ERC-4337 nesnelerine ayrılmış bir eşten eşe (peer-to-peer) ağ. Cüzdanlar ve dApp'ler UserOperation'ları buraya gönderir ve onları tüketen altyapı, temel katman mempool'unu değil, bu ağı dinler. Bu ayrım, hesap soyutlama trafiğini gerçek bir işleme paketlendiği ana kadar uzlaşma açısından kritik yoldan uzak tutar.
Bundler'ın rolü
Bir bundler, niyetleri zincir üstü gerçekliğe dönüştüren zincir dışı aktördür. İşinin dört parçası vardır. Birincisi, alternatif mempool'dan UserOperation'ları toplar. İkincisi, her birini simüle eder ve doğrular — hesabın doğrulama mantığını simüle edilmiş bir bağlamda çalıştırarak imzanın geçerli, nonce'un doğru ve hesabın (veya paymaster'ının) maliyeti karşılayabildiğini teyit ederken — işlemlerin ödeyemeyecekleri kaynakları tüketmesini durduran kuralları uygular. Üçüncüsü, bir veya daha fazla geçerli UserOperation'ı tek bir sıradan Ethereum işlemine paketler. Dördüncüsü, bu işlemi kendi EOA'sından ağa gönderir, temel katman gazını peşinen öder ve zincir üstünde geri ödeme bekler.
Bundler gazı peşinen ödediği ve dahil edilme karşılığında ücret kazandığı için, hesap soyutlama trafiği için özelleşmiş bir blok inşacısı (block builder) gibi davranır. Onu koruyan şey, simülasyon-ve-doğrulama adımıdır: kendisini geri ödemede başarısız olacak bir işlemi paketlemez.
EntryPoint sözleşmesi
Her şey EntryPoint adı verilen tek, kanonik bir akıllı sözleşmede birleşir. Bundler'ın işlemi, bir UserOperation dizisiyle EntryPoint'e yapılan bir çağrıdır. EntryPoint ardından katı bir iki aşamalı döngü çalıştırır. Doğrulama aşamasında, her işlem için gönderen hesabın doğrulama fonksiyonunu (ve belirtilmişse paymaster'ınkini) çağırarak imzayı, nonce'u ve ödeme düzenlemesini zincir üstünde yeniden denetler. Ancak partideki tüm işlemler doğrulandıktan sonra yürütme aşamasına geçer; burada her işlemin calldata'sını hesabına göndererek transfer, takas ya da diğer eylemi gerçekten gerçekleştirir.
Bu ayrım önemlidir: doğrulama ve yürütme birbirinden ayrılır, böylece durumu değiştiren herhangi bir iş çalışmadan önce partinin ödeme garantileri kurulur ve EntryPoint gazı birçok işlem genelinde bir kerede tam olarak hesaplayabilir.
Paymaster'ın oturduğu yer
Bir paymaster, bir UserOperation için hesap adına ödeme yapmayı kabul eden isteğe bağlı bir sözleşmedir. Bir UserOperation paymaster verisi içerdiğinde, EntryPoint doğrulama aşamasında o paymaster'a, işlemi sponsorlayıp sponsorlamayacağını ve hangi koşullarla sponsorlayacağını sorar. Paymaster koşulsuz kabul edebilir (gerçek gassız sponsorluk) ya da değer karşılığında kabul edebilir — en kullanışlı olanı, kullanıcıdan yerel gaz yerine bir ERC-20 token cinsinden ücret almaktır. Bu bileşene daha derin bir bakış için paymaster nedir yazısına bakın. Paymaster, akıştaki, "kullanıcının neyle ödediği"ni "ağın neyle ödendiği"nden ayıran kancadır.
Gaz ve hatalar nasıl ele alınır
ERC-4337'de gaz katmanlıdır. Bundler, dış işlem için gerçek ETH öder; EntryPoint her UserOperation'ın doğrulama ve yürütme gazını beyan ettiği limitlere göre ölçer; ve borçlu olan taraf — hesap ya da paymaster'ı — faturayı karşılamaya yetecek kadar stake ya da depozito yatırmış olmalıdır ki EntryPoint bunu sonunda kapatsın. Hatalar, önce-doğrulama tasarımıyla sınırlandırılır. Bir işlem zincir üstü doğrulama sırasında başarısız olursa, basitçe dışlanır ve yere inemez; bundler'ın zincir dışı simülasyonu ise bunu göndermeden önce yakalamayı amaçlar. Bir işlem doğrulamayı geçer ama yürütmesi geri alınırsa (revert), yürütme etkileri geri sarılır; halihazırda harcanan gaz ise yine hesaplanır ve ödenir — böylece bir bundler dürüst iş için ödemesiz kalmaz. Bundler'ların bu kadar dikkatli simüle etmesinin nedeni budur: kötüye kullanıma (griefing) karşı korumaları, kendilerini geri ödemeyecek hiçbir şeyi dahil etmeyi reddetmektir.
WATS bunu nasıl kullanıyor
EVM zincirlerinde WATS bu akışın tam olarak tek bir parçasına dayanır: bir ERC-4337 paymaster. WATS Hot Wallet içinde bir transfer, takas ya da stake yaptığında, ücretinin zincirin yerel gazı yerine ATS cinsinden alınmasını sağlayan şey paymaster'dır — işlem yapmak için ETH, BNB veya başka herhangi bir gaz token'ı tutmana asla gerek yoktur. ATS bir LayerZero OFT olduğu için, tek bir ATS bakiyesi EVM, Solana ve TON genelinde ücretleri karşılar (EVM-dışı zincirlerde paymaster'ın rolünü eşdeğer bir ödeyen oynar) ve tahsil edilen ATS 100.000.000'den 30.000.000 tabanına doğru yakılır. WATS tamamen saklamasız kalır — kendi anahtarlarını sen tutarsın — ve ERC-4337 + OFT tek-token ücretlerini, yerel gaz yerine tahsil edilecek şekilde, bu yakımla birleştiren ilk ve tek cüzdandır. Tüm tabloyu görmek için ATS ücret modelinin nasıl çalıştığına bakın.
Sıkça sorulan sorular
Bir UserOperation ile normal bir Ethereum işlemi arasındaki fark nedir?
Normal bir işlem, sabit ECDSA kullanan harici sahipli bir hesap tarafından imzalanır ve gazını zincirin yerel token'ı cinsinden kendisi öder. Bir UserOperation, göndericinin kendi akıllı sözleşme hesabı mantığı tarafından doğrulanan daha üst düzey bir niyet nesnesidir; bu mantık özel kurallar kullanabilir ve kendini yerel gazla ödemek zorunda değildir — ücreti bir paymaster karşılayabilir. UserOperation'lar ayrıca standart işlem mempool'u yerine ayrı bir alternatif mempool üzerinden ilerler.
Bir ERC-4337 bundler'ı gerçekte ne yapar?
Bir bundler, alternatif mempool'dan UserOperation'ları toplar, imzaları, nonce'ları ve ödemenin karşılanabileceğini teyit etmek için her birini simüle edip doğrular, ardından geçerli olanları EntryPoint sözleşmesini çağıran tek bir sıradan Ethereum işlemine paketler. Bu işlemi kendi hesabından gönderir, temel katman gazını peşinen öder ve zincir üstünde geri ödeme bekler. Bundler'ı, kendisini geri ödemeyecek işlemleri dahil etmekten koruyan şey dikkatli simülasyondur.
ERC-4337, gaz ücretlerini ETH dışında bir token cinsinden ödememe izin verir mi?
Evet, bir paymaster kullanıldığında. Paymaster, bir UserOperation'ı sponsorlayabilen ve yerel gaz almak yerine bir ERC-20 token cinsinden ödeme kabul edip gerçek ağ ücretini ayrıca kapatabilen isteğe bağlı bir sözleşmedir. Bir cüzdanın, zincirin yerel gaz token'ını tutmadan işlem yapmana izin vermesinin yolu budur. ERC-4337 ve paymaster'ları yalnızca EVM'e özgüdür; Solana ve TON gibi EVM-dışı zincirler benzer bir sonuca eşdeğer bir ödeyen (fee-payer) ya da relayer ile ulaşır.

