İster boğa piyasası ister ayı piyasası olsun, Ethereum ekosistemi sürekli olarak inşa ediliyor ve kendi kendini optimize ediyor. Bunlardan Hesap Soyutlama (AA), son yıllarda önemli bir ilerleme kaydetti ve uygulamalar, altyapı, kullanıcılar ve geliştiriciler dahil olmak üzere Ethereum ekosisteminin tüm bölümlerine nüfuz etti. AA'nın geniş çapta benimsenmesinin bir bütün olarak blockchain kullanım eşiğini düşüreceğini ve web2 kullanıcı deneyimini web3 endüstrisine tanıtacağını öngörebiliriz.
Bu makalede BlockPI ekibi, AA'ya ilişkin anlayışlarını derinlemesine inceleyecek ve bir altyapı hizmet sağlayıcısının bakış açısından düşüncelerini paylaşacaktır.
EOA ve sözleşme cüzdanı
AA kavramı, EOA hesaplarının sınırlamalarından kaynaklanmaktadır. Bir EOA hesabı (harici sahip olunan hesap), Ethereum'da bir genel anahtarla (blok zinciri adresi) temsil edilen ve özel bir anahtarla erişilen bir kullanıcı hesabıdır. Ethereum ekosisteminin önemli bir bileşenidir ve kullanıcıların blok zincirinde para transfer etmesine veya akıllı sözleşmelerle etkileşime girmesine olanak tanır. Bununla birlikte, birçok insan için bir EOA kullanmak başlı başına zorlu bir görev olabilir. Ayrıca, mevcut EOA hesabının kullanımda hala kullanıcı deneyimini etkileyen bazı sakıncaları vardır.
Birincisi benzin ücreti sorunu. Her işlem, gas ücreti olarak kullanıcıya önemli miktarda ETH'ye mal olacaktır (25 Gwei gas fiyatını örnek olarak alırsak, basit bir ETH transferi için gas ücreti yaklaşık 0,5 ABD dolarıdır ve sözleşme etkileşimi için daha pahalı olacaktır. veya gaz fiyatı daha yüksek olduğunda). Bu, özellikle ciddi ağ tıkanıklığı dönemlerinde küçük işlemleri çok pahalı hale getirir. Ayrıca gas sadece ETH ile ödenebiliyor, bu da kullanıcıların cüzdanlarında ETH bulundurmaları gerektiği anlamına geliyor ki bu da birçok kullanıcı için yüksek bir giriş engeli oluşturuyor.
İkinci olarak, kullanıcıların uygulamak istediği bazı karmaşık işlemler için EOA diğer akıllı sözleşmelere güvenmelidir. Örneğin, bir kullanıcı zamanlı bir periyodik transfer ayarlamak istiyorsa, kullanıcının bu işlemi gerçekleştirmek için bu işlevle ETH'yi bir akıllı sözleşmeye aktarması gerekir.
EOA ile ilgili üçüncü sorun, sabit imzalı şifreleme algoritmasıdır. Ethereum ağı, işlemlerin gerçekliğini ve güvenliğini sağlamak için secp256k1 adlı bir dijital imza algoritması kullanır. Bu algoritma sisteme kodlanmıştır ve kullanıcılar diğer şifreleme algoritmalarını kullanmayı seçemezler.
Yukarıdaki üç soruna ek olarak, EOA'nın genel anahtarı ile özel anahtarı arasındaki bağlayıcı ilişki de bir sorundur. Özel anahtar, kullanıcıların EOA'ya erişmesinin tek yoludur. Özel anahtar kaybolursa geri alınmayacaktır. Bu aynı zamanda EOA'daki onunla ilişkili tüm varlıkların geri alınamaz olacağı anlamına gelir.
Aynı zamanda, EOA'nın belirli doğrusal görevleri yerine getirirken sınırlamaları da vardır. Örneğin, bir kullanıcı bir işlemde belirteçleri onaylamak, değiştirmek ve onaylamamak isterse, verimsiz ve zaman alıcı olan üç ayrı işlemin gerçekleştirilmesi gerekir.
İyi haber şu ki, sözleşme cüzdanları yukarıdaki tüm sorunları çözebilir. Bir sözleşme cüzdanı, temel olarak, Ethereum'da bir kullanıcının cüzdanı olarak kullanılabilen AA'yı uygulayan belirli bir akıllı sözleşme hesabı türüdür. Ayrıca kullanıcılara fonları yönetmek için daha esnek ve kişiselleştirilmiş bir yol sağlayabilir. Ethereum akıllı sözleşmesi tarafından gerçekleştirilebilen mantık olduğu sürece, sözleşme cüzdanı karşılık gelen işlevleri gerçekleştirebilir ve sağlayabilir.
Spesifik olarak, birden fazla sözleşme cüzdanı işlemi, zincir üstü bir işlem olarak paketlenebilir ve bu işlemler, bu işlemin Gas maliyetini paylaşabilir. Üçüncü taraf Gas ücretini ödemeye razı olursa, sözleşme cüzdanını kullanan kullanıcılar için Gas ödemeye gerek yoktur. Sözleşme cüzdanları aynı anda birden fazla doğrusal görevi de tamamlayabilir. Ek olarak, sözleşme cüzdanı ayrıca özel imzaların şifreleme algoritmasını destekler ve cüzdan kurtarma vb.
Sözleşme cüzdanlarının avantajları tartışması devam ederken, Ethereum topluluğu aslında sözleşme cüzdanları hakkında uzun vadeli araştırmalar yürütmüştür. Birçok EIP, hesap soyutlamayla ilgili sorunları araştırmış olsa da, 2021 itibarıyla birleşik bir standart oluşturulmamıştır. Aşağıda birkaç temsili EIP bulunmaktadır.
EIP-86
İlk olarak 2017'de Vitalik Buterin tarafından önerildi. Şema, imza doğrulamasını "soyutlamak" ve kontrol etmeme ortak amacı ile bir dizi değişiklik uygular, böylece kullanıcıların keyfi imza/olmama kontrolü gerçekleştiren "hesap sözleşmeleri" oluşturmasına olanak tanır.
EIP-2938
2020'de sunuldu. Bu EIP'nin başlığı Hesap Soyutlamadır. AA kavramı bu EIP'de iyi tanımlanmıştır. Yeni bir işlem türü olan AA işlemini sunar. İşlem, giriş noktası adresi (EntryPoint adresi) tarafından başlatılır ve AA sözleşme cüzdanını çağırır. EIP-2938, birleşik bir özellik sağlar ve resmi olarak AA hesap soyutlamasını Ethereum mutabakatına dahil eder. Spesifik olarak, iki yeni işlem kodu, üç genel değişken ve Ethereum mutabakatına farklı bir yük yapısı getiriyor.
EIP-3074
2020'de sunuldu. Bu EIP, AUTH ve AUTHCALL olmak üzere iki EVM talimatı sunar. AUTH, ortam değişkenini ECDSA imzalama yetkisine göre ayarlar. AUTHCALL aramayı yetkili hesap olarak gönderir. Bu, akıllı sözleşmelerin EOA adına işlem göndermesine izin verir. Ama yine de AA için mükemmel bir çözüm değil. Yetkilendirme işlemi sürecinde, EIP-3074'ün orijinal değerin iletimi konusunda belirli kısıtlamaları vardır. Ve bir kullanıcı EOA'ya erişimini kaybederse, varlıklarını geri almanın bir yolu olmayacaktır. Özel anahtar sızdırılırsa, kullanıcının tüm varlıkları yeni hesaba aktarması gerekir.
Yukarıdaki tekliflerin hiçbiri, mutabakat katmanındaki değişiklik ihtiyacı veya tekliflerin yeterince kapsamlı olmaması nedeniyle resmi olarak Ethereum protokolüne dahil edilmedi. Bu nedenle Ethereum topluluğu, fikir birliğini değiştirmeden AA'yı Ethereum protokolüne nasıl dahil edeceğini keşfetmeye devam etti ve sonunda EIP4337'yi önerdi.
ERC - 4337
EIP-4337 ilk olarak Eylül 2021'de önerildi ve Mart 2023'te ERC-4337 olarak onaylandı. Yazarları arasında Vitalik Buterin, Yoav Weiss, Kristof Gazso, Namra Patel, Dror Tirosh, Shahaf Nacson ve Tjaden Hess yer alıyor.
EIP-4337, Ethereum'un çekirdek protokolünü değiştirmeden AA'yı tanıtabilen yıkıcı bir tekliftir. EIP-4337 sonunda, geliştiricilerin kendi akıllı sözleşme cüzdanlarını uygulamak için kullanabilecekleri ERC-4337 standardı haline geldi. Aynı zamanda standart, "Bundlers" ve "UserOperation mempool" dahil olmak üzere bazı ek altyapılar da sunar. Bu şekilde, blockchain sisteminin üst katmanında benzer işlevlere sahip bir Ethereum mempool'unu fiilen çoğaltır. Kullanıcının gönderdiği artık tek bir işlem değil, bir UserOperation'dır. Çoklu UserOperations, tek bir işlemde paketlenebilir ve Ethereum'a gönderilebilir.
Aşağıda, Ethereum'daki ERC-4337'nin ayrıntılı bir teknik açıklaması [resmi belgeler]( ve bazı yararlı yorumlar yer almaktadır.
ERC-4337'nin temel rolleri ve tanımları
UserOperation — bir kullanıcı adına gönderilen bir işlemin yapısını açıklar. Karışıklığı önlemek için "transaction" olarak adlandırılmaz ve diğer UserOperation'larla birlikte Bundle olarak paketlenmek üzere Bundler'a gönderilir. Paket daha sonra zincir üzerinde tek bir işlem olarak gönderilir.
Gönderen — UserOperation'ı gönderen sözleşme hesabı. M-cüzdan sözleşmesi, IAccount arayüzünü yapılandırmak için ERC-4337 standardına uygun olmalıdır.
EntryPoint — UserOperations paketini yürüten küresel tek sözleşme. Paketleyiciler/Müşteriler beyaz listesi desteklenen Giriş Noktaları. Sözleşme, Infinitism ekibi tarafından dağıtılmak üzere denetlenir ve onaylanır ve tüm Kullanıcı İşlemlerini yürütmekten ve sözleşmeleri Wallet Factory, Aggregator ve Paymaster dahil olmak üzere diğer rollerle bağlamaktan sorumludur. Sözleşme, EVM uyumlu zincirde aynı adrestedir.
Bundler — Bellek havuzundan birden çok UserOperation'ı paketleyen ve EntryPoint.handleOps() işlemini (geçerli blok üreticisi) oluşturan düğüm. Bundler hizmeti, blockchain düğümlerinden bağımsız olarak çalışabilir ve paketlenmiş UserOperations'ı RPC aracılığıyla gönderebilir.
Toplayıcı — Toplu imzaları doğrulamak için hesapların güvendiği yardımcı sözleşme. Paketleyiciler/Müşteriler, desteklenen imza toplayıcıları beyaz listeye ekler. Toplayıcı, IAggregator arayüzünü yapılandırmak için ERC-4337 standardını takip etmelidir.
Paymaster — sizin adınıza Gas ödeyebilen akıllı bir sözleşme. EntryPoint sözleşmesinde yeterli miktarda ETH yatırırsa, Kullanıcı İşlemi için gereken gas ücretini gönderici için ödeyebilir ve Gas soyutlamayı etkin bir şekilde uygulayabilir. Paymaster, Paymaster arayüzünü yapılandırmak için ERC-4337 standardına uymalıdır. Paymaster, Gönderici ile bir anlaşma yapabilir. Örneğin, Gönderici, Paymaster'a USDC öder ve Paymaster, gönderdiği UserOperations'ın Gazını ödemek için ETH kullanır. Aslında Paymaster, ERC-20 jetonları ve hatta diğer zincirlerdeki jetonlar dahil herhangi bir jetonu desteklemeyi seçebilir.
Cüzdan Fabrikası — ERC-4337 kullanıcıları için sözleşme cüzdanları oluşturabilen bir akıllı sözleşme. Wallet Factory'yi dağıtmak izin gerektirmez. Bir zincir üstü akıllı sözleşme olarak, kodu halka açıktır ve herkes tarafından incelenebilir. Yaygın olarak kullanılan bir Cüzdan Fabrikası, profesyoneller tarafından tamamen denetlenmelidir.
Aşağıdaki diyagram, EntryPoint sözleşmesinin diğer aktörlerle nasıl etkileşime girdiğini açıklar.
Paketleyiciler, bir UserOperation'ı girdi olarak kabul eden EntryPoint sözleşmesinin handleOps işlevini çağırır.
handleOps, zincirdeki UserOperation'ı doğrulayacak, belirtilen akıllı sözleşme cüzdan adresi tarafından imzalanıp imzalanmadığını kontrol edecek ve cüzdanın Bundler'ı telafi etmek için yeterli Gas'a sahip olup olmadığını onaylayacaktır.
Doğrulama geçilirse, handleOps, UserOperation'ın çağrı verilerinde tanımlanan işlev ve giriş parametrelerine göre akıllı sözleşme cüzdanı işlevini yürütür.
Öte yandan, Bundler, handleOps işlevini tetiklemek için EOA'yı kullandığında, Gas ücreti tahakkuk edecektir. Akıllı sözleşme cüzdanı, Bundler'lara Gas ücretlerini kendi hesap bakiyesinden ödeyebilir veya Paymaster sözleşmesinden bunun için ödeme yapmasını isteyebilir. UserOperations, zincir dışı doğrulama adımını yeterli Gas olmadan geçemez, yani zincir üzerinde işlemi gerçekleştirmeden önce başarısız olur. Yeterli Gas olsa bile, yürütme sırasında çalışma zamanı hataları gibi nedenlerle UserOperations yine de başarısız olabilir. Bir Kullanıcı İşlemi için, sözleşmenin ifasının başarılı olup olmadığına bakılmaksızın, EntryPoint sözleşmesi, Bundler'a handleOps işlevini tetikleyen Gas ücretini ödeyecektir.
(Resmi belgelerden alıntı:
ERC-4337 yürürlüğe girdikten sonra, kullanıcılar artık iki şekilde blockchain işlemlerini başlatabilir. Biri geleneksel yoldur, yani EOA doğrudan işlemi başlatır. Diğeri, Bundler aracılığıyla UserOperation'ı başlatmak için ERC-4337 standardını kullanmaktır ve ardından Bundler bunu diğer UserOperations ile paketler ve zincire gönderir. Aşağıdaki akış şeması, normal bir EOA gönderme işlemi ile bir ERC-4337 sözleşme cüzdanı gönderme UserOperation arasındaki farkı göstermektedir.
Yol asfaltlandı, ancak henüz çok fazla yaya yok
ERC-4337, kullanıcıların ve geliştiricilerin Ethereum üzerinde AA kullanması ve oluşturması için güçlü bir çerçeve sağlar. Bu çerçeve önemli bir ilerleme olmasına rağmen, hala ele alınması ve çözülmesi gereken bazı zorluklar ve belirsizlikler var.
AA'nın benimsenmesi henüz başlangıç aşamasındadır. Dune ERC-4337 analiz paneline göre (*ERC-4337 Hesap Soyutlama, zincirde yalnızca 65 binden fazla Kullanıcı İşlemi yürütüldü ve bunların %90'ı Poligon'dan geldi. Bu nedenle, şu anda yürütülen Kullanıcı İşlemlerinin sayısı hala çok küçük ve çoğu Bunun bir kısmı geliştiricinin testi ve sadece küçük bir kısmı gerçek kullanıcılardan geliyor. AA'yı entegre eden ürünlerin hala erken aşamada olduğunu fark ettik. Şu anda bunu gözlemleyebiliyoruz. Paketleyiciler bir bütün olarak hala kayıp durumunda ve mevcut kayıp yaklaşık 700'den fazla MATIC. Bunun başlıca nedeni, Poligon'daki bazı Paketleyicilerin gerekli gazı yanlış tahmin etmesi ve bunun sonucunda EntryPoint tarafından döndürülen Gazın tüketilen gazdan daha az olması. gönderilen Paket tarafından. Bu sorunun Bundler müşteri düzeyinde çözülmesi gerekiyor.
Bunun ötesinde, ele alınması gereken birkaç sorun var. Sorunlardan biri, Paketleyicilerin işlem hatalarını nasıl ele aldığıdır.
Birden fazla UserOperation'ı bir arada paketledikten sonra, Paketleyiciler önce işlemi simüle edecek, sözleşme yürütme hatası olup olmayacağını tespit edecek ve Gönderen veya Paymaster tarafından iade edilen Gas ücretinin ödenen Gas ücretinden yüksek olup olmadığını hesaplayacaktır.
Kârlıysa, Bundler bu UserOperations grubunu bir işlem olarak blok düğümüne gönderir. Bununla birlikte, işlemin başarısız olması ve Bundler'ın Gaz ücretini ödemesine, ancak Giriş Noktasından Gaz geri ödemesini almamasına neden olması yine de mümkündür. Örneğin, bir kullanıcı farklı Paketleyicilere eylemler gönderebilir. Bir kar marjı varsa ve simülasyon başarılı olursa, Bundlers bunu zincire taahhüt eder. Bu durumda, aynı anda farklı Paketleyiciler tarafından blok üreten düğüme bir UserOperation gönderilirse, yalnızca bir işlem başarılı olur, bu da, Giriş Noktası tarafından döndürülen Gaz ücretini yalnızca bir Paketleyicinin alacağı ve diğer tüm Paketleyicilerin başarısız olacağı anlamına gelir. zincirleme nedeniyle Ve Gaz kaybedersiniz. Bu davranışın kötü niyetli bir saldırı olarak değerlendirilmesi gerektiği ve Bundler'ın Gönderen adresini yasaklayabileceği ve bu adresten gelecek istekleri reddedebileceği iddia edilse de, kullanıcılar bu eylemi istemeden gerçekleştirebileceği için bu makul bir çözüm değildir. Bu sorunun kodda, belki de geliştirilmekte olan bir genel mempool aracılığıyla düzgün bir şekilde ele alınması gerekir. Ayrıca, Bundler'lar, işlem başarılı bir şekilde gerçekleştirilse ve simülasyon sonuçları kar için yer olduğunu gösterse bile ani gaz dalgalanmaları nedeniyle zarar görebilir.
Diğer bir konu da AA'dan elde edilebilecek maksimum çıkarılabilir değerdir (MEV). Ethereum bağlamında MEV genellikle madencilerin veya diğer işlem işlemcilerinin bir bloktaki işlem sırasını manipüle ederek veya kendi işlemlerini bir bloğa ekleyerek çıkardıkları değeri ifade eder. MEV mantığının AA'ya da uygulanabileceği fark edilebilir. Bunun nedeni, AA'da Bundler'ların UserOps'u serbestçe sıralayabilmesidir, bu da onlara MEV edinme olanağı verir. Ancak, Bundler'ın MEV'yi ayıklayıp çıkaramayacağı, yeterli UserOperation'ın birlikte paketlenip paketlenemeyeceğine bağlıdır. Artık AA pazarının tamamı henüz emekleme aşamasında, bu nedenle Bundler MEV de emekleme aşamasında sayılabilir. AA'nın MEV'sinin iki yönde gelişebileceği görülebilir: biri Flashbots, Ultra Sound ve BloXroute gibi katılımcıların katılımıyla Ethereum ana ağına benzer; diğer yön ise adil sıralamayı uygulamak için bir Bundler konsensüsü oluşturmaktır. Ve ikincisi, AA'da MEV çıkarma olasılığını tamamen ortadan kaldıracaktır.
gelecekteki geliştirme
genel bellek havuzu
AA ekosistemi hâlihazırda çalışır durumda olsa da, hâlâ yapılacak çok sayıda geliştirme çalışması var. AA ekosisteminin tamamına bakıldığında, şu anda en büyük eksik parça genel mempool. Skandha Bundler istemcisinin geliştiricileri olan Etherspot ekibi, şu anda genel mempool içeren bir p2p ağı geliştiriyor. Herkese açık mempool'lardan oluşan bir p2p ağının bu yılın Ağustos ayında piyasaya sürülmesi bekleniyor.
Paket algoritması
Yol boyunca, Ethereum Vakfı birkaç seçkin AA geliştirme ekibini finanse etti. Şimdiye kadar, birkaç Bundler istemcisi geliştirildi ve şu anda kullanılabilir durumdadır. Bunların arasında bazıları çok olgun. Candide (Python ile yazılmış Voltaire Bundler), Pimlico (Type ile yazılmış Alto Bundler), Etherspot (Type ile yazılmış Skandha Bundler), Stackup (Go ile yazılmış Stackup-Bundler), vb.
İşte paketleme stratejisi konusu geliyor. Şu anda az sayıda UserOperation nedeniyle Paketleyiciler, sabit bir zaman aralığı veya her Pakette belirli sayıda UserOperation gibi basit paketleme mantığını benimseyebilirler. Bununla birlikte, UserOperations sayısı arttıkça, özellikle genel mempool'un tanıtılmasından sonra, UserOperations'ı seçme ve paketleme stratejisi daha karmaşık hale gelir. Nedeni basit: AA ekolojisinde blockchain mutabakat protokolüne benzer bir mekanizma yok ve Bundler grubu karanlık bir orman haline geldi.Her Bundler kendi çıkarlarına göre görevlere öncelik veriyor ve birbiriyle rekabet ediyor. Genel mempool'ların aksine, özel mempool'lar daha erken görünebilir. UserOperations'ı genel mempool'dan paketlemek karlı olmadığı için, UserOperations'ı özel mempool'da paketlemek yine de mümkündür. Bu durumda, Bundler paketleme sırasında diğer Bundler'lardan daha rekabetçidir.
Ek olarak, halka açık mempool'un kademeli olarak yaygınlaşmasıyla, içindeki UserOperations, farklı Gas kar beklentileri ve zincir üstü yürütme karmaşıklığı gibi çeşitli özelliklere sahiptir. Paketleyiciler, ilgili paket stratejilerini oluşturmak için çeşitli UserOperations kombinasyonlarının karlılığını değerlendirmek için zincir dışı simülasyonlar yürütecektir. Daha fazla UserOperation paketi, daha yüksek kar elde etme potansiyeline sahiptir, ancak aynı zamanda doğrulama hatası riskini de artırır. Doğrulama geçilse bile zincirde yürütme hatası riski devam eder. Aksine, daha az paketlenmiş UserOperations tam tersini yapar. Paketleyicilerin, blok üreticilerinin bu işlemi gerçekleştirme önceliğini etkileyecek olan kendi işlem gazı parametrelerini ayarlaması gerekir. Farklı tahmini Gaz fiyatı ve Gaz oynaklığı koşulları altında Paketleyiciler farklı paketleme stratejilerine sahip olabilir. Aynı zamanda, bu doğrulama ve politika hesaplamaları için yerel donanım bilgi işlem kaynaklarının ve blockchain düğüm kaynaklarının maliyetini de dikkate almak gerekir. Ek olarak, Bundler'ların kullanıcılara iyi bir kullanıcı deneyimi sağlamak ve UserOperations'ı gönderdikten sonra kullanıcıların aşırı gecikmelerle karşılaşmamasını sağlamak için çok çalışması gerekir.
Bu zorlukların çözümleri hala belirsiz olsa da, AA endüstrisinin gelişmesi ve geliştiricilerin ortak çabalarının sonunda bu sorunları çözeceğini güvenle söyleyebiliriz. Bir altyapı oluşturucu olarak BlockPI, geliştirici olarak veya diğer geliştiriciler için AA dostu altyapı sağlamak için AA endüstrisinin gelişiminde bir sorun çözücü olarak rol oynamayı umuyor.
Altyapı AA'ya uyum sağlamalıdır
AA, kullanıcıların blok zincirini kullanırken daha yüksek bir serbestlik derecesine sahip olması için Gönderen, Paketleyiciler, Gaz ödeyenler, sözleşme cüzdanları ve İmzalayanlar dahil olmak üzere zincir içi işlemlerde yer alan çeşitli rolleri soyutlar. Aynı zamanda, altyapı sağlayıcıları bu hizmetleri pazardaki kendi yargılarına göre bağımsız olarak dağıtabilir.
AA'nın geniş çapta benimsenmesine uyum sağlamak için altyapı sağlayıcılarının öncelikle en az iki temel hizmet sağlaması gerekir: Bundler hizmeti ve Paymaster hizmeti.
Bundler hizmetlerinde, iyi bir kullanıcı deneyimi sağlamak için altyapı sağlayıcılarının Bundler'larla özel mempool'lar geliştirmesi gerekebilir. Özellikle altyapı sağlayıcılarının, Bundler hizmetlerinin kararlılığını sağlamak için birden çok Bundler istemcisini entegre etmesi gerekir. Bu Bundler istemcileri şu anda kullanıcılara ERC-4337 çekirdek geliştirme grubu tarafından sağlanan çeşitli standart JSON RPC yöntemleri sağlamaktadır. Gelecekte daha fazla RPC yönteminin kullanıcılara sunulacağı öngörülebilir. Altyapı hizmet sağlayıcılarının bu süreç boyunca bu yöntemlere yönelik desteği zamanında güncellemeleri gerekir.
Ayrıca, Bundler API'si ile kaynak düğüm istemci RPC'si arasında optimizasyon yapmak çok önemlidir. Mevcut düğüm istemcileri AA için optimize edilmemiştir. Bazı Bundler API yöntemleri, düğümün AA için bir veri dizini sağlamasını gerektirir. Örneğin, geçerli istemci, hash ile UserOperation'ı aradığında, tüm bloklardaki EntryPoint sözleşme günlüklerini taraması gerekir. Veri dizini yoksa, bu tek isteğin donanım kaynak tüketimi oldukça büyük olacak ve isteğin geri dönüş süresi de çok uzun olacaktır.
Ayrıca, kullanıcılara Gazsız bir kullanıcı deneyimi ve çeşitlendirilmiş hizmetler sunmak için, altyapı sağlayıcılarının farklı Paymaster hizmetlerini entegre etmek için farklı Paymaster hizmet sağlayıcılarıyla işbirliği yapması gerekir. Aynı zamanda, pazar talebine göre, altyapı sağlayıcıları da mevcut Paymaster hizmetlerine dayalı daha uygun entegre çözümler tasarlayabilir. Toplu imzalar, cüzdan fabrikaları vb. gibi diğer hizmetler de altyapının gelecekteki gelişimi ve entegrasyonu için potansiyel yönlerdir.
Kısacası, AA'nın geniş ölçekli uygulamasına uyum sağlamak için altyapı sağlayıcılarının hizmetlerini sürekli iyileştirmesi ve genişletmesi gerekir. Bu, Bundler hizmetlerini optimize etmeyi, farklı Paymaster hizmet sağlayıcılarıyla işbirliği yapmayı, çeşitli API arayüzlerini entegre etmeyi ve diğer potansiyel hizmetleri geliştirmeyi içerir. AA endüstrisi gelişmeye devam ettikçe, bu çabalar daha verimli, güvenli ve kullanışlı bir blockchain deneyimi sağlamaya yardımcı olacaktır.
View Original
The content is for reference only, not a solicitation or offer. No investment, tax, or legal advice provided. See Disclaimer for more risks disclosure.
Altyapı, Hesap Soyutlama Yoluyla Milyarlarca Kullanıcıya Nasıl Güç Sağlar?
İster boğa piyasası ister ayı piyasası olsun, Ethereum ekosistemi sürekli olarak inşa ediliyor ve kendi kendini optimize ediyor. Bunlardan Hesap Soyutlama (AA), son yıllarda önemli bir ilerleme kaydetti ve uygulamalar, altyapı, kullanıcılar ve geliştiriciler dahil olmak üzere Ethereum ekosisteminin tüm bölümlerine nüfuz etti. AA'nın geniş çapta benimsenmesinin bir bütün olarak blockchain kullanım eşiğini düşüreceğini ve web2 kullanıcı deneyimini web3 endüstrisine tanıtacağını öngörebiliriz.
Bu makalede BlockPI ekibi, AA'ya ilişkin anlayışlarını derinlemesine inceleyecek ve bir altyapı hizmet sağlayıcısının bakış açısından düşüncelerini paylaşacaktır.
EOA ve sözleşme cüzdanı
AA kavramı, EOA hesaplarının sınırlamalarından kaynaklanmaktadır. Bir EOA hesabı (harici sahip olunan hesap), Ethereum'da bir genel anahtarla (blok zinciri adresi) temsil edilen ve özel bir anahtarla erişilen bir kullanıcı hesabıdır. Ethereum ekosisteminin önemli bir bileşenidir ve kullanıcıların blok zincirinde para transfer etmesine veya akıllı sözleşmelerle etkileşime girmesine olanak tanır. Bununla birlikte, birçok insan için bir EOA kullanmak başlı başına zorlu bir görev olabilir. Ayrıca, mevcut EOA hesabının kullanımda hala kullanıcı deneyimini etkileyen bazı sakıncaları vardır.
Birincisi benzin ücreti sorunu. Her işlem, gas ücreti olarak kullanıcıya önemli miktarda ETH'ye mal olacaktır (25 Gwei gas fiyatını örnek olarak alırsak, basit bir ETH transferi için gas ücreti yaklaşık 0,5 ABD dolarıdır ve sözleşme etkileşimi için daha pahalı olacaktır. veya gaz fiyatı daha yüksek olduğunda). Bu, özellikle ciddi ağ tıkanıklığı dönemlerinde küçük işlemleri çok pahalı hale getirir. Ayrıca gas sadece ETH ile ödenebiliyor, bu da kullanıcıların cüzdanlarında ETH bulundurmaları gerektiği anlamına geliyor ki bu da birçok kullanıcı için yüksek bir giriş engeli oluşturuyor.
İkinci olarak, kullanıcıların uygulamak istediği bazı karmaşık işlemler için EOA diğer akıllı sözleşmelere güvenmelidir. Örneğin, bir kullanıcı zamanlı bir periyodik transfer ayarlamak istiyorsa, kullanıcının bu işlemi gerçekleştirmek için bu işlevle ETH'yi bir akıllı sözleşmeye aktarması gerekir.
EOA ile ilgili üçüncü sorun, sabit imzalı şifreleme algoritmasıdır. Ethereum ağı, işlemlerin gerçekliğini ve güvenliğini sağlamak için secp256k1 adlı bir dijital imza algoritması kullanır. Bu algoritma sisteme kodlanmıştır ve kullanıcılar diğer şifreleme algoritmalarını kullanmayı seçemezler.
Yukarıdaki üç soruna ek olarak, EOA'nın genel anahtarı ile özel anahtarı arasındaki bağlayıcı ilişki de bir sorundur. Özel anahtar, kullanıcıların EOA'ya erişmesinin tek yoludur. Özel anahtar kaybolursa geri alınmayacaktır. Bu aynı zamanda EOA'daki onunla ilişkili tüm varlıkların geri alınamaz olacağı anlamına gelir.
Aynı zamanda, EOA'nın belirli doğrusal görevleri yerine getirirken sınırlamaları da vardır. Örneğin, bir kullanıcı bir işlemde belirteçleri onaylamak, değiştirmek ve onaylamamak isterse, verimsiz ve zaman alıcı olan üç ayrı işlemin gerçekleştirilmesi gerekir.
İyi haber şu ki, sözleşme cüzdanları yukarıdaki tüm sorunları çözebilir. Bir sözleşme cüzdanı, temel olarak, Ethereum'da bir kullanıcının cüzdanı olarak kullanılabilen AA'yı uygulayan belirli bir akıllı sözleşme hesabı türüdür. Ayrıca kullanıcılara fonları yönetmek için daha esnek ve kişiselleştirilmiş bir yol sağlayabilir. Ethereum akıllı sözleşmesi tarafından gerçekleştirilebilen mantık olduğu sürece, sözleşme cüzdanı karşılık gelen işlevleri gerçekleştirebilir ve sağlayabilir.
Spesifik olarak, birden fazla sözleşme cüzdanı işlemi, zincir üstü bir işlem olarak paketlenebilir ve bu işlemler, bu işlemin Gas maliyetini paylaşabilir. Üçüncü taraf Gas ücretini ödemeye razı olursa, sözleşme cüzdanını kullanan kullanıcılar için Gas ödemeye gerek yoktur. Sözleşme cüzdanları aynı anda birden fazla doğrusal görevi de tamamlayabilir. Ek olarak, sözleşme cüzdanı ayrıca özel imzaların şifreleme algoritmasını destekler ve cüzdan kurtarma vb.
Sözleşme cüzdanlarının avantajları tartışması devam ederken, Ethereum topluluğu aslında sözleşme cüzdanları hakkında uzun vadeli araştırmalar yürütmüştür. Birçok EIP, hesap soyutlamayla ilgili sorunları araştırmış olsa da, 2021 itibarıyla birleşik bir standart oluşturulmamıştır. Aşağıda birkaç temsili EIP bulunmaktadır.
EIP-86
İlk olarak 2017'de Vitalik Buterin tarafından önerildi. Şema, imza doğrulamasını "soyutlamak" ve kontrol etmeme ortak amacı ile bir dizi değişiklik uygular, böylece kullanıcıların keyfi imza/olmama kontrolü gerçekleştiren "hesap sözleşmeleri" oluşturmasına olanak tanır.
EIP-2938
2020'de sunuldu. Bu EIP'nin başlığı Hesap Soyutlamadır. AA kavramı bu EIP'de iyi tanımlanmıştır. Yeni bir işlem türü olan AA işlemini sunar. İşlem, giriş noktası adresi (EntryPoint adresi) tarafından başlatılır ve AA sözleşme cüzdanını çağırır. EIP-2938, birleşik bir özellik sağlar ve resmi olarak AA hesap soyutlamasını Ethereum mutabakatına dahil eder. Spesifik olarak, iki yeni işlem kodu, üç genel değişken ve Ethereum mutabakatına farklı bir yük yapısı getiriyor.
EIP-3074
2020'de sunuldu. Bu EIP, AUTH ve AUTHCALL olmak üzere iki EVM talimatı sunar. AUTH, ortam değişkenini ECDSA imzalama yetkisine göre ayarlar. AUTHCALL aramayı yetkili hesap olarak gönderir. Bu, akıllı sözleşmelerin EOA adına işlem göndermesine izin verir. Ama yine de AA için mükemmel bir çözüm değil. Yetkilendirme işlemi sürecinde, EIP-3074'ün orijinal değerin iletimi konusunda belirli kısıtlamaları vardır. Ve bir kullanıcı EOA'ya erişimini kaybederse, varlıklarını geri almanın bir yolu olmayacaktır. Özel anahtar sızdırılırsa, kullanıcının tüm varlıkları yeni hesaba aktarması gerekir.
Yukarıdaki tekliflerin hiçbiri, mutabakat katmanındaki değişiklik ihtiyacı veya tekliflerin yeterince kapsamlı olmaması nedeniyle resmi olarak Ethereum protokolüne dahil edilmedi. Bu nedenle Ethereum topluluğu, fikir birliğini değiştirmeden AA'yı Ethereum protokolüne nasıl dahil edeceğini keşfetmeye devam etti ve sonunda EIP4337'yi önerdi.
ERC - 4337
EIP-4337 ilk olarak Eylül 2021'de önerildi ve Mart 2023'te ERC-4337 olarak onaylandı. Yazarları arasında Vitalik Buterin, Yoav Weiss, Kristof Gazso, Namra Patel, Dror Tirosh, Shahaf Nacson ve Tjaden Hess yer alıyor.
EIP-4337, Ethereum'un çekirdek protokolünü değiştirmeden AA'yı tanıtabilen yıkıcı bir tekliftir. EIP-4337 sonunda, geliştiricilerin kendi akıllı sözleşme cüzdanlarını uygulamak için kullanabilecekleri ERC-4337 standardı haline geldi. Aynı zamanda standart, "Bundlers" ve "UserOperation mempool" dahil olmak üzere bazı ek altyapılar da sunar. Bu şekilde, blockchain sisteminin üst katmanında benzer işlevlere sahip bir Ethereum mempool'unu fiilen çoğaltır. Kullanıcının gönderdiği artık tek bir işlem değil, bir UserOperation'dır. Çoklu UserOperations, tek bir işlemde paketlenebilir ve Ethereum'a gönderilebilir.
Aşağıda, Ethereum'daki ERC-4337'nin ayrıntılı bir teknik açıklaması [resmi belgeler]( ve bazı yararlı yorumlar yer almaktadır.
ERC-4337'nin temel rolleri ve tanımları
UserOperation — bir kullanıcı adına gönderilen bir işlemin yapısını açıklar. Karışıklığı önlemek için "transaction" olarak adlandırılmaz ve diğer UserOperation'larla birlikte Bundle olarak paketlenmek üzere Bundler'a gönderilir. Paket daha sonra zincir üzerinde tek bir işlem olarak gönderilir.
Gönderen — UserOperation'ı gönderen sözleşme hesabı. M-cüzdan sözleşmesi, IAccount arayüzünü yapılandırmak için ERC-4337 standardına uygun olmalıdır.
EntryPoint — UserOperations paketini yürüten küresel tek sözleşme. Paketleyiciler/Müşteriler beyaz listesi desteklenen Giriş Noktaları. Sözleşme, Infinitism ekibi tarafından dağıtılmak üzere denetlenir ve onaylanır ve tüm Kullanıcı İşlemlerini yürütmekten ve sözleşmeleri Wallet Factory, Aggregator ve Paymaster dahil olmak üzere diğer rollerle bağlamaktan sorumludur. Sözleşme, EVM uyumlu zincirde aynı adrestedir.
Bundler — Bellek havuzundan birden çok UserOperation'ı paketleyen ve EntryPoint.handleOps() işlemini (geçerli blok üreticisi) oluşturan düğüm. Bundler hizmeti, blockchain düğümlerinden bağımsız olarak çalışabilir ve paketlenmiş UserOperations'ı RPC aracılığıyla gönderebilir.
Toplayıcı — Toplu imzaları doğrulamak için hesapların güvendiği yardımcı sözleşme. Paketleyiciler/Müşteriler, desteklenen imza toplayıcıları beyaz listeye ekler. Toplayıcı, IAggregator arayüzünü yapılandırmak için ERC-4337 standardını takip etmelidir.
Paymaster — sizin adınıza Gas ödeyebilen akıllı bir sözleşme. EntryPoint sözleşmesinde yeterli miktarda ETH yatırırsa, Kullanıcı İşlemi için gereken gas ücretini gönderici için ödeyebilir ve Gas soyutlamayı etkin bir şekilde uygulayabilir. Paymaster, Paymaster arayüzünü yapılandırmak için ERC-4337 standardına uymalıdır. Paymaster, Gönderici ile bir anlaşma yapabilir. Örneğin, Gönderici, Paymaster'a USDC öder ve Paymaster, gönderdiği UserOperations'ın Gazını ödemek için ETH kullanır. Aslında Paymaster, ERC-20 jetonları ve hatta diğer zincirlerdeki jetonlar dahil herhangi bir jetonu desteklemeyi seçebilir.
Cüzdan Fabrikası — ERC-4337 kullanıcıları için sözleşme cüzdanları oluşturabilen bir akıllı sözleşme. Wallet Factory'yi dağıtmak izin gerektirmez. Bir zincir üstü akıllı sözleşme olarak, kodu halka açıktır ve herkes tarafından incelenebilir. Yaygın olarak kullanılan bir Cüzdan Fabrikası, profesyoneller tarafından tamamen denetlenmelidir.
Aşağıdaki diyagram, EntryPoint sözleşmesinin diğer aktörlerle nasıl etkileşime girdiğini açıklar.
Paketleyiciler, bir UserOperation'ı girdi olarak kabul eden EntryPoint sözleşmesinin handleOps işlevini çağırır.
handleOps, zincirdeki UserOperation'ı doğrulayacak, belirtilen akıllı sözleşme cüzdan adresi tarafından imzalanıp imzalanmadığını kontrol edecek ve cüzdanın Bundler'ı telafi etmek için yeterli Gas'a sahip olup olmadığını onaylayacaktır.
Doğrulama geçilirse, handleOps, UserOperation'ın çağrı verilerinde tanımlanan işlev ve giriş parametrelerine göre akıllı sözleşme cüzdanı işlevini yürütür.
Öte yandan, Bundler, handleOps işlevini tetiklemek için EOA'yı kullandığında, Gas ücreti tahakkuk edecektir. Akıllı sözleşme cüzdanı, Bundler'lara Gas ücretlerini kendi hesap bakiyesinden ödeyebilir veya Paymaster sözleşmesinden bunun için ödeme yapmasını isteyebilir. UserOperations, zincir dışı doğrulama adımını yeterli Gas olmadan geçemez, yani zincir üzerinde işlemi gerçekleştirmeden önce başarısız olur. Yeterli Gas olsa bile, yürütme sırasında çalışma zamanı hataları gibi nedenlerle UserOperations yine de başarısız olabilir. Bir Kullanıcı İşlemi için, sözleşmenin ifasının başarılı olup olmadığına bakılmaksızın, EntryPoint sözleşmesi, Bundler'a handleOps işlevini tetikleyen Gas ücretini ödeyecektir.
(Resmi belgelerden alıntı:
ERC-4337 yürürlüğe girdikten sonra, kullanıcılar artık iki şekilde blockchain işlemlerini başlatabilir. Biri geleneksel yoldur, yani EOA doğrudan işlemi başlatır. Diğeri, Bundler aracılığıyla UserOperation'ı başlatmak için ERC-4337 standardını kullanmaktır ve ardından Bundler bunu diğer UserOperations ile paketler ve zincire gönderir. Aşağıdaki akış şeması, normal bir EOA gönderme işlemi ile bir ERC-4337 sözleşme cüzdanı gönderme UserOperation arasındaki farkı göstermektedir.
Yol asfaltlandı, ancak henüz çok fazla yaya yok
ERC-4337, kullanıcıların ve geliştiricilerin Ethereum üzerinde AA kullanması ve oluşturması için güçlü bir çerçeve sağlar. Bu çerçeve önemli bir ilerleme olmasına rağmen, hala ele alınması ve çözülmesi gereken bazı zorluklar ve belirsizlikler var.
AA'nın benimsenmesi henüz başlangıç aşamasındadır. Dune ERC-4337 analiz paneline göre (*ERC-4337 Hesap Soyutlama, zincirde yalnızca 65 binden fazla Kullanıcı İşlemi yürütüldü ve bunların %90'ı Poligon'dan geldi. Bu nedenle, şu anda yürütülen Kullanıcı İşlemlerinin sayısı hala çok küçük ve çoğu Bunun bir kısmı geliştiricinin testi ve sadece küçük bir kısmı gerçek kullanıcılardan geliyor. AA'yı entegre eden ürünlerin hala erken aşamada olduğunu fark ettik. Şu anda bunu gözlemleyebiliyoruz. Paketleyiciler bir bütün olarak hala kayıp durumunda ve mevcut kayıp yaklaşık 700'den fazla MATIC. Bunun başlıca nedeni, Poligon'daki bazı Paketleyicilerin gerekli gazı yanlış tahmin etmesi ve bunun sonucunda EntryPoint tarafından döndürülen Gazın tüketilen gazdan daha az olması. gönderilen Paket tarafından. Bu sorunun Bundler müşteri düzeyinde çözülmesi gerekiyor.
Bunun ötesinde, ele alınması gereken birkaç sorun var. Sorunlardan biri, Paketleyicilerin işlem hatalarını nasıl ele aldığıdır.
Birden fazla UserOperation'ı bir arada paketledikten sonra, Paketleyiciler önce işlemi simüle edecek, sözleşme yürütme hatası olup olmayacağını tespit edecek ve Gönderen veya Paymaster tarafından iade edilen Gas ücretinin ödenen Gas ücretinden yüksek olup olmadığını hesaplayacaktır.
Kârlıysa, Bundler bu UserOperations grubunu bir işlem olarak blok düğümüne gönderir. Bununla birlikte, işlemin başarısız olması ve Bundler'ın Gaz ücretini ödemesine, ancak Giriş Noktasından Gaz geri ödemesini almamasına neden olması yine de mümkündür. Örneğin, bir kullanıcı farklı Paketleyicilere eylemler gönderebilir. Bir kar marjı varsa ve simülasyon başarılı olursa, Bundlers bunu zincire taahhüt eder. Bu durumda, aynı anda farklı Paketleyiciler tarafından blok üreten düğüme bir UserOperation gönderilirse, yalnızca bir işlem başarılı olur, bu da, Giriş Noktası tarafından döndürülen Gaz ücretini yalnızca bir Paketleyicinin alacağı ve diğer tüm Paketleyicilerin başarısız olacağı anlamına gelir. zincirleme nedeniyle Ve Gaz kaybedersiniz. Bu davranışın kötü niyetli bir saldırı olarak değerlendirilmesi gerektiği ve Bundler'ın Gönderen adresini yasaklayabileceği ve bu adresten gelecek istekleri reddedebileceği iddia edilse de, kullanıcılar bu eylemi istemeden gerçekleştirebileceği için bu makul bir çözüm değildir. Bu sorunun kodda, belki de geliştirilmekte olan bir genel mempool aracılığıyla düzgün bir şekilde ele alınması gerekir. Ayrıca, Bundler'lar, işlem başarılı bir şekilde gerçekleştirilse ve simülasyon sonuçları kar için yer olduğunu gösterse bile ani gaz dalgalanmaları nedeniyle zarar görebilir.
Diğer bir konu da AA'dan elde edilebilecek maksimum çıkarılabilir değerdir (MEV). Ethereum bağlamında MEV genellikle madencilerin veya diğer işlem işlemcilerinin bir bloktaki işlem sırasını manipüle ederek veya kendi işlemlerini bir bloğa ekleyerek çıkardıkları değeri ifade eder. MEV mantığının AA'ya da uygulanabileceği fark edilebilir. Bunun nedeni, AA'da Bundler'ların UserOps'u serbestçe sıralayabilmesidir, bu da onlara MEV edinme olanağı verir. Ancak, Bundler'ın MEV'yi ayıklayıp çıkaramayacağı, yeterli UserOperation'ın birlikte paketlenip paketlenemeyeceğine bağlıdır. Artık AA pazarının tamamı henüz emekleme aşamasında, bu nedenle Bundler MEV de emekleme aşamasında sayılabilir. AA'nın MEV'sinin iki yönde gelişebileceği görülebilir: biri Flashbots, Ultra Sound ve BloXroute gibi katılımcıların katılımıyla Ethereum ana ağına benzer; diğer yön ise adil sıralamayı uygulamak için bir Bundler konsensüsü oluşturmaktır. Ve ikincisi, AA'da MEV çıkarma olasılığını tamamen ortadan kaldıracaktır.
gelecekteki geliştirme
genel bellek havuzu
AA ekosistemi hâlihazırda çalışır durumda olsa da, hâlâ yapılacak çok sayıda geliştirme çalışması var. AA ekosisteminin tamamına bakıldığında, şu anda en büyük eksik parça genel mempool. Skandha Bundler istemcisinin geliştiricileri olan Etherspot ekibi, şu anda genel mempool içeren bir p2p ağı geliştiriyor. Herkese açık mempool'lardan oluşan bir p2p ağının bu yılın Ağustos ayında piyasaya sürülmesi bekleniyor.
Paket algoritması
Yol boyunca, Ethereum Vakfı birkaç seçkin AA geliştirme ekibini finanse etti. Şimdiye kadar, birkaç Bundler istemcisi geliştirildi ve şu anda kullanılabilir durumdadır. Bunların arasında bazıları çok olgun. Candide (Python ile yazılmış Voltaire Bundler), Pimlico (Type ile yazılmış Alto Bundler), Etherspot (Type ile yazılmış Skandha Bundler), Stackup (Go ile yazılmış Stackup-Bundler), vb.
İşte paketleme stratejisi konusu geliyor. Şu anda az sayıda UserOperation nedeniyle Paketleyiciler, sabit bir zaman aralığı veya her Pakette belirli sayıda UserOperation gibi basit paketleme mantığını benimseyebilirler. Bununla birlikte, UserOperations sayısı arttıkça, özellikle genel mempool'un tanıtılmasından sonra, UserOperations'ı seçme ve paketleme stratejisi daha karmaşık hale gelir. Nedeni basit: AA ekolojisinde blockchain mutabakat protokolüne benzer bir mekanizma yok ve Bundler grubu karanlık bir orman haline geldi.Her Bundler kendi çıkarlarına göre görevlere öncelik veriyor ve birbiriyle rekabet ediyor. Genel mempool'ların aksine, özel mempool'lar daha erken görünebilir. UserOperations'ı genel mempool'dan paketlemek karlı olmadığı için, UserOperations'ı özel mempool'da paketlemek yine de mümkündür. Bu durumda, Bundler paketleme sırasında diğer Bundler'lardan daha rekabetçidir.
Ek olarak, halka açık mempool'un kademeli olarak yaygınlaşmasıyla, içindeki UserOperations, farklı Gas kar beklentileri ve zincir üstü yürütme karmaşıklığı gibi çeşitli özelliklere sahiptir. Paketleyiciler, ilgili paket stratejilerini oluşturmak için çeşitli UserOperations kombinasyonlarının karlılığını değerlendirmek için zincir dışı simülasyonlar yürütecektir. Daha fazla UserOperation paketi, daha yüksek kar elde etme potansiyeline sahiptir, ancak aynı zamanda doğrulama hatası riskini de artırır. Doğrulama geçilse bile zincirde yürütme hatası riski devam eder. Aksine, daha az paketlenmiş UserOperations tam tersini yapar. Paketleyicilerin, blok üreticilerinin bu işlemi gerçekleştirme önceliğini etkileyecek olan kendi işlem gazı parametrelerini ayarlaması gerekir. Farklı tahmini Gaz fiyatı ve Gaz oynaklığı koşulları altında Paketleyiciler farklı paketleme stratejilerine sahip olabilir. Aynı zamanda, bu doğrulama ve politika hesaplamaları için yerel donanım bilgi işlem kaynaklarının ve blockchain düğüm kaynaklarının maliyetini de dikkate almak gerekir. Ek olarak, Bundler'ların kullanıcılara iyi bir kullanıcı deneyimi sağlamak ve UserOperations'ı gönderdikten sonra kullanıcıların aşırı gecikmelerle karşılaşmamasını sağlamak için çok çalışması gerekir.
Bu zorlukların çözümleri hala belirsiz olsa da, AA endüstrisinin gelişmesi ve geliştiricilerin ortak çabalarının sonunda bu sorunları çözeceğini güvenle söyleyebiliriz. Bir altyapı oluşturucu olarak BlockPI, geliştirici olarak veya diğer geliştiriciler için AA dostu altyapı sağlamak için AA endüstrisinin gelişiminde bir sorun çözücü olarak rol oynamayı umuyor.
Altyapı AA'ya uyum sağlamalıdır
AA, kullanıcıların blok zincirini kullanırken daha yüksek bir serbestlik derecesine sahip olması için Gönderen, Paketleyiciler, Gaz ödeyenler, sözleşme cüzdanları ve İmzalayanlar dahil olmak üzere zincir içi işlemlerde yer alan çeşitli rolleri soyutlar. Aynı zamanda, altyapı sağlayıcıları bu hizmetleri pazardaki kendi yargılarına göre bağımsız olarak dağıtabilir.
AA'nın geniş çapta benimsenmesine uyum sağlamak için altyapı sağlayıcılarının öncelikle en az iki temel hizmet sağlaması gerekir: Bundler hizmeti ve Paymaster hizmeti.
Bundler hizmetlerinde, iyi bir kullanıcı deneyimi sağlamak için altyapı sağlayıcılarının Bundler'larla özel mempool'lar geliştirmesi gerekebilir. Özellikle altyapı sağlayıcılarının, Bundler hizmetlerinin kararlılığını sağlamak için birden çok Bundler istemcisini entegre etmesi gerekir. Bu Bundler istemcileri şu anda kullanıcılara ERC-4337 çekirdek geliştirme grubu tarafından sağlanan çeşitli standart JSON RPC yöntemleri sağlamaktadır. Gelecekte daha fazla RPC yönteminin kullanıcılara sunulacağı öngörülebilir. Altyapı hizmet sağlayıcılarının bu süreç boyunca bu yöntemlere yönelik desteği zamanında güncellemeleri gerekir.
Ayrıca, Bundler API'si ile kaynak düğüm istemci RPC'si arasında optimizasyon yapmak çok önemlidir. Mevcut düğüm istemcileri AA için optimize edilmemiştir. Bazı Bundler API yöntemleri, düğümün AA için bir veri dizini sağlamasını gerektirir. Örneğin, geçerli istemci, hash ile UserOperation'ı aradığında, tüm bloklardaki EntryPoint sözleşme günlüklerini taraması gerekir. Veri dizini yoksa, bu tek isteğin donanım kaynak tüketimi oldukça büyük olacak ve isteğin geri dönüş süresi de çok uzun olacaktır.
Ayrıca, kullanıcılara Gazsız bir kullanıcı deneyimi ve çeşitlendirilmiş hizmetler sunmak için, altyapı sağlayıcılarının farklı Paymaster hizmetlerini entegre etmek için farklı Paymaster hizmet sağlayıcılarıyla işbirliği yapması gerekir. Aynı zamanda, pazar talebine göre, altyapı sağlayıcıları da mevcut Paymaster hizmetlerine dayalı daha uygun entegre çözümler tasarlayabilir. Toplu imzalar, cüzdan fabrikaları vb. gibi diğer hizmetler de altyapının gelecekteki gelişimi ve entegrasyonu için potansiyel yönlerdir.
Kısacası, AA'nın geniş ölçekli uygulamasına uyum sağlamak için altyapı sağlayıcılarının hizmetlerini sürekli iyileştirmesi ve genişletmesi gerekir. Bu, Bundler hizmetlerini optimize etmeyi, farklı Paymaster hizmet sağlayıcılarıyla işbirliği yapmayı, çeşitli API arayüzlerini entegre etmeyi ve diğer potansiyel hizmetleri geliştirmeyi içerir. AA endüstrisi gelişmeye devam ettikçe, bu çabalar daha verimli, güvenli ve kullanışlı bir blockchain deneyimi sağlamaya yardımcı olacaktır.