Ethereum Hesap Soyutlama Alanının Tarihi ve Geleceği Hakkında Derinlemesine Analiz
Giriş
Bu makale iki ana bölümden oluşmaktadır:
Üst kısım 2015'teki ilk AA önerisinden itibaren, sistem bugüne kadar olan başlıca EIP öneri içeriklerini düzenledi, tarihsel bir inceleme ile AA önerisinin gelişim sürecini ortaya çıkarmayı ve her bir önerinin avantaj ve dezavantajlarını kapsamlı bir şekilde değerlendirmeyi umuyor.
Alt kısım, EIP4337'nin ardından karşılaştığı piyasa soğukluğunu vurgulamakta ve Ethereum'un bir sonraki sürüm güncellemesine dahil edilecek EIP7702'yi derinlemesine analiz etmektedir. Bu teklif birleştirildiğinde, zincir üzerindeki uygulama biçimlerini tamamen değiştirecektir.
EIP-7702 devrim niteliği taşıyor, gelin birlikte derinlemesine inceleyelim.
1. Hesap soyutlamanın arka planı
1.1 Hesap soyutlamanın anlamı
Ethereum kurucusu Vitalik, 2023 yılının sonunda ETH gelişim yol haritasını bir kez daha güncelledi, ancak hesap soyutlamasıyla ilgili ayarlar değişmedi. Şu anda, ana akım model EIP-4337'den bir sonraki aşama olan isteğe bağlı EOA dönüşümüne geçiş yapıyor.
EIP4337'nin piyasaya sürülmesinin üzerinden bir yıldan fazla bir süre geçtikten sonra ( 2023 yılının 1 Martında Denver'da WalletCon'da, Ethereum Vakfı geliştiricileri tarafından tasarlanan ERC-4337 ana sözleşmesi OpenZeppelin denetiminden geçti ve resmi olarak ) olarak kabul edildi, kullanıcılar tarafından geniş çapta tanınmasına rağmen geniş çapta kullanılmayan bir çelişki durumunda kalmıştır. Bu piyasa ortamı, EIP-7702'nin ilerlemesini önemli ölçüde hızlandırmış ve hatta bir sonraki güncellemede birleştirileceği kesinleşmiştir.
1.2 hesap soyutlamanın piyasa durumu
Bir buçuk yıl gelişim sonrası, EIP4337'nin ana akım zincirlerdeki toplam hesap sayısı yalnızca 12 milyon. Ethereum ana ağında aktif adres sayısı sadece 6,764, EOA ve CA adres sayılarıyla büyük bir fark var. Ethereum ana ağındaki bağımsız adres sayısı 270 milyona ulaşmış durumda, bu da EIP4337'nin ana ağda neredeyse hiçbir somut gelişme kaydetmediğini söyleyebiliriz.
Ancak, bu AA'nın temel değerini etkilemez. EIP4337'nin tasarımı, ana ağda geriye uyumluluk problemlerini iyi bir şekilde çözmesini zorlaştırmaktadır. Çeşitli L2'lerin yerel entegrasyonu ile AA'nın EIP4337 adres sayısı L2'de patlama yaşadı, bu arada Base ve Polygon zincirlerinin Temmuz ayındaki aylık aktif kullanıcı sayıları sırasıyla 1 milyon ve 3 milyon olarak kaydedildi, bu da oldukça başarılı bir performanstır.
Bu nedenle, EIP4337 tasarımında bir hata yoktur, birçok avantajı vardır. Mevcut durum, ana ağ ile L2 arasındaki farklardan kaynaklanmaktadır; her biri kendine uygun çözümlere ihtiyaç duymaktadır.
EVM mimarisinde iki tür hesap vardır: dış hesap ( EOA ) ve sözleşme hesabı ( Contract Account ). Dış hesabın sahipliği ve imza yetkisi aslında aynı varlık tarafından tutulur. Özel anahtara sahip olan kişi yalnızca hesabın "sahipliğine" sahip olmakla kalmaz, aynı zamanda "tüm varlıkların transferini imzalama" yetkisine de sahiptir.
Bu, Ethereum hesabı işlem yapısının belirlediği bir durumdur. İşlem yapısından, standart işlemin aslında From alanına sahip olmadığı görülebilir. Fon transferi sırasında, hangi adresin fonunun kullanıldığı, VRS parametreleri ile ( kullanıcının imzası ) ile tersine çözülerek From adresinin belirlenmesi ile anlaşılır.
Bu, ECDSA gibi asimetrik şifreleme ve tek yönlü eşik fonksiyonları gibi kavramları içerir, bunları detaylandırmayacağız. Sonuç olarak, burada güvenlik kriptografi ile sağlanmakta ve bu da mevcut EOA adres mülkiyetinin birleştirilmesi sorununu yaratmaktadır.
EIP4337'nin temel etkisi, işlem alanına Gönderen Adresi ekleyerek özel anahtar ile işlenen adresin ayrılmasını sağlamaktır.
Mülkiyet ayrımının bu kadar önemli olmasının nedeni, dış hesap (EOA) tasarımının daha fazla sorunun ortaya çıkmasına neden olmasıdır:
Özel anahtarları korumak zordur: Kullanıcı özel anahtarını ( kaybeder, siber saldırıya uğrar veya kriptografi kırılırsa ) tüm varlıklarını kaybeder.
İmza algoritması tek: Yerel protokol, işlemleri doğrulamak için yalnızca ECDSA imza ve doğrulama algoritmasını kullanabilir.
İmza yetkisi fazla: Yerel çoklu imza ( çoklu imza yalnızca akıllı sözleşme ile gerçekleştirilebilir ), tek imza ile herhangi bir işlem gerçekleştirilebilir.
İşlem ücretleri yalnızca ETH ile ödenebilir, toplu işlem desteklenmemektedir.
Bu kısıtlamalar sıradan kullanıcıların Ethereum'u kullanmasını zorlaştırıyor:
Öncelikle, Ethereum üzerindeki herhangi bir uygulamayı kullanmak için, kullanıcıların Eter ( tutması ve fiyat dalgalanma riskini üstlenmesi gerekir ).
İkincisi, kullanıcıların karmaşık ücret mantığıyla başa çıkmaları gerekiyor; Gaz fiyatı, Gaz limiti, işlem tıkanıklığı (Nonce sırası ) gibi kavramlar kullanıcılar için çok karmaşık.
Sonunda, birçok blockchain cüzdanı veya uygulaması kullanıcı deneyimini artırmak için ürün optimizasyonu yoluyla çaba gösterse de, etkisi sınırlıdır.
Bu nedenle,突破口账户 soyutlama gerçekleştirmek, sahiplik (Owner) ve imza yetkisi (Signer) birbirinden ayrılmak, böylece yukarıda belirtilen sorunları kademeli olarak çözmektir.
Tarihsel olarak birçok plan vardı, sonunda iki yol üzerinde yoğunlaştı.
3. AA Tarihsel Tekliflerin Kapsamı
Sorunun çözümüne birçok EIP önerisi gibi görünse de, sonuçta iki temel düşünceye dayanıyor. Geçmişte her bir kabul edilmeyen EIP'nin dikkate alınan sorunları, şimdi çözümün dönüm noktalarına dönüştü.
3.1 Birinci yol: EOA adresini CA adresine dönüştürmek
2015 yılının 15 Kasım'ında, EIP-101 etrafında Vitalik, hesaplar için yeni bir yapı olarak sözleşmeleri önermiştir. Adresi sadece kod ve depolama alanı ile değiştirmiş, işlem ücretleri ERC20 tarafından ödenmesini desteklemiş, yerel token'ları sınıf ERC20'ye dönüştürmek için önceden derlenmiş sözleşmeler aracılığıyla bakiye ( gibi yetki verme gibi işlevler geliştirmiştir ), işlem alanını yalnızca to, startgas, data ve code ile sadeleştirmiştir.
Bugün görünüşe göre, bu büyük bir sıçrama tarzı dönüşüm ve alt yapıyı büyük ölçüde değiştirecek, her hesap adresinin kendi "kod" mantığına sahip olmasını sağlayacak ( işte şu anda EIP-7702'nin gerçekleştirmeyi amaçladığı etki ).
Başka işlevler de türetebilir, örneğin:
İşlemlerin daha fazla kriptografi algoritması kullanmasına izin verin, her adresin içindeki Kod tarafından belirlenen imza doğrulama yöntemleriyle.
Kuantum saldırılarına karşı dayanıklı özelliklere sahiptir, çünkü kod yükseltilebilir.
Ether'in ERC20 sözleşmesi ile aynı işlevsellik özelliklerine sahip olmasını sağlamak, temel etkisiyle birlikte yetki verilmiş kesinti ile, böylece yerel para birimi kaybı olmaksızın.
Hesap özelleştirme alanını artırma, sosyal kurtarma, SBT desteği, anahtar geri alma gibi özelliklere uyum sağlama.
Devam edememenin nedeni oldukça basit, açıkça çok büyük adımlar atıldı, mevcut işlem hash çakışması sorunları ve güvenlik açıkları dikkate alınmadı, bu yüzden sürekli ertelendi. Ancak her avantajın felsefesi, EIP4337 ve EIP7702'nin temel işlevlerinden biri haline geldi.
Sonrasında bu mantığı geliştirmeyi amaçlayan bir dizi EIP daha var:
EIP-859: Ana zincir hesap soyutlama--2018-01-30
Code dağıtım sorununu çözmeye çalışmak, temel işlevi, eğer işlem tarafı sözleşmesi dağıtılmamışsa, işlemle birlikte gelen code parametresini kullanarak sözleşme cüzdanını dağıtmaktır. Ayrıca yeni PAYGAS opcode'u önerildi, bu opcode sadece gas ödemekle kalmayıp, aynı zamanda işlem parametreleri içindeki doğrulama kısmı ile yürütme kısmı arasında bir ayırıcı haline de geliyor.
O dönemde sonuçsuz kalmış olsa da, bu durum şu anda EIP7702'nin temel mantıklarından biri haline geldi. EIP7702'nin her bir işlemi, özel işlem yapısıyla birlikte belirli bir kod eklenmesine olanak tanır, böylece bu işlemde EOA adresinin akıllı sözleşme yeteneğine sahip olmasını sağlar.
EIP-7702: EOA hesap kodu ayarlama 2024-05-07
Bu, makalenin sonraki tartışma mekanizmasının ana çekirdeği olan EIP'dir, Vitalik tarafından EIP-3074'ün alternatif çözümü olarak yayınlanmıştır (2024-05-07). Bu nedenle EIP-3074 terk edilmiştir, EIP-7702'nin yaklaşan ETH Prague/Electra(Pectra) sert çatallaşmasında dahil edileceği belirlenmiştir, bu konuyu birazdan açacağız.
3.2 İkinci yol: EOA adresinin CA adresini yönetmesine izin ver
EIP-3074: AUTH ve AUTHCALL opcode'larının eklenmesi--2020-10-15
EVM'ye AUTH ve AUTHCALL adında iki yeni OpCode ekleyerek, EOA'nın bu iki opcode aracılığıyla sözleşmelere EOA kimliği yerine diğer sözleşmeleri çağırma yetkisi vermesini sağlamak.
Özetle, EOA, imzalanmış bir mesajı ( ve ) işlemeyi, kendine güvenilir bir sözleşmeye ( gönderebilir ve buna Invoker ) denir. Bu Invoker sözleşmesi, AUTH ve AUTHCALL opcode'larını kullanarak bu EOA'dan işlem gönderebilir.
EIP-4337: İşlem belleği havuzunu kullanarak hesap soyutlama -- 2021-09-29
MEV'den ilham alarak tasarlanmıştır, temel değeri konsensüs katmanı protokol değişikliklerini tamamen önleyebilmesidir.
EIP4337, kullanıcıların bu nesneyi bellek havuzuna göndermesine olanak tanıyan yeni bir işlem nesnesi UserOperation'ı öneriyor. Bundler'lar, madencilik açısından toplu olarak sözleşme yürütme işlemlerini paketleyip teslim ediyor; bu esasen temel işlemleri ve hesap işlemlerini sözleşme seviyesinde yürütmeye çekmek anlamına geliyor.
EIP-5189: aracılar tarafından soyut hesap işlemi --- 2022-06-29
Bu, kötü niyetli Bundler'lara karşı fon ceza teminatı sağlayan bir mekanizma oluşturarak DoS tıkanma saldırılarını önlemek amacıyla EIP4337 mantığının optimize edilmesidir.
3.3 AA'yı desteklemek için diğer öneriler
EIP-2718: Yeni işlem türü için paketleme zarfı--2020-06-13
Bu, gelecekteki yeni işlem türleri için bir zarf olarak tanımlanan, zaten Final olan bir tekliftir.
Sonuç olarak, yeni bir işlem türü tanıtıldığında, belirli bir kodlama ile hangi tür işlem olduğunu ayırt etmek, geriye dönük uyum sağlamasını yeterli kılmak ve ileriye dönük uyum gerektirmemek için gereklidir. En yaygın örnek EIP1559'dur, işlem ücretlerini ayırır, yeni işlem türü kodlaması kullanır ve başlangıçtaki legacy işlem türlerini etkilemez.
EIP-3607: EOA adreslerinin sözleşme dağıtımına izin vermemesi -- 2021-06-10
Bu, sözleşme dağıtım adresinin EOA adresi ile çakışmasını önlemek için AA yolundaki ek bir plandır. Sözleşme oluşturma yöntemini kontrol edecek ve sistemin kodu zaten EOA adresi olan bir adrese dağıtmasına izin vermeyecektir. Bu risk oldukça düşüktür, sonuçta Ethereum adresi 160 bit uzunluğundadır, belirli bir sözleşme adresinin özel anahtarını çarpıştırmak için özel anahtarlar kullanma yöntemi mevcut olsa da, Bitcoin'in toplam hesaplama gücüyle tahmin edildiğinde, yine de bir yıl süre gerekecektir.
3.4 Hesap soyutlama gelişim süreci nasıl anlaşılır?
Öncelikle CA'ya dönüştürme sonrası değeri anlamak gerekir.
Temelde EIP-4337'nin pratik etkisi budur, şunu gerçekleştirebilir:
Sosyal kurtarma
gas ücreti olmayan işlem
Toplu işlem
Özelleştirilmiş İmza Algoritması
Özelleştirilmiş hesap mantığı
Hesap kilitleme ve limitleri destekler
Çoklu imza ve akıllı sözleşme cüzdanlarını destekler
Ancak, EIP-4337'nin temel dezavantajı insan motivasyonu ilkesine aykırı olmasıdır.
Daha iyi görünüyor, ancak piyasa gelişiminin kısır döngüsüne takılıp kalmış. Birçok Dapp hâlâ uyumlu değil, bu yüzden kullanıcılar CA adresi kullanmak istemiyor, hatta CA kullanmanın daha yüksek işlem maliyetleri var. ( standart transfer senaryolarında, işlem ücretleri iki katına çıkıyor ) ve Dapp'in kendisinin uyumluluğuna fazla bağımlı.
Bu nedenle Ethereum ana ağı üzerinde şimdiye kadar yaygınlaşmamıştır.
Maliyet, kullanıcıların en önemli ölçütüdür, maliyetleri düşürmek zorundadır.
Ancak gerçekten GAS'ı düşürmek için, Ethereum'un kendisinin yumuşak çatallama güncellemesi yapması, GAS hesaplamasını veya işlem kodlarının GAS tüketimi gibi modülleri değiştirmesi gerekir. Ancak yumuşak çatallama yapılacaksa, neden doğrudan EIP-7702'yi düşünmeyelim?
4. EIP-7702'nin Kapsamlı Analizi
4.1 EIP-7702 nedir
Yeni işlem türleriyle ayırt ediliyor, EOA'nın tek bir işlemde geçici olarak akıllı sözleşme işlevselliğine sahip olmasına izin veriyor, böylece iş açısından toplu işlemleri, gazsız işlemleri ve özel yetki yönetimini destekliyor ve yeni bir EVM opCode('in geriye uyumluluğu etkilemesini gerektirmiyor).
Kullanıcıların akıllı sözleşme dağıtmadan AA yeteneklerinin çoğuna erişim sağlamasını sağlarken, üçüncü tarafların kullanıcı adına işlem başlatma yeteneği sunabilir ve kullanıcıların özel anahtar sağlamasını gerektirmeden yalnızca imza yetkilendirme bilgisi ile yeterlidir.
4.2 veri yapısı
Yeni bir işlem türü 0x04'ü tanımlar, bu işlem türünün TransactionPayload'u aşağıdaki içeriğin RLP kodlama seri sonucu:
rlp([
chain_id, //chain ID, yeniden oynatma saldırılarını önlemek için
nonce, // işlem sayacı, işlemin benzersizliğini sağlar
max_priority_fee_per_gas, //1559 işlem ücreti
max_fee_per_gas, //1559 işlem ücreti
gaz_sınırı,
hedef, //işlem hedef adresi
değer,
veriler,
access_list, // erişim listesi, EIP-2929'daki Gas optimizasyonu için
yetki_listesi,
signature_y_parity, //3 imza parametresi, işlem imzasını doğrulamak için
signature_r,
signature_s
])
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
18 Likes
Reward
18
7
Share
Comment
0/400
CryptoTherapist
· 07-25 19:31
eip4337 etrafında ağır piyasa travması hissediyorum... 7702 düşmeden önce bu travmayı işlemeye zaman.
View OriginalReply0
DataOnlooker
· 07-25 06:13
aa yine büyük bir haber mi yapacak?
View OriginalReply0
OnchainHolmes
· 07-24 00:19
Yine hesap soyutlama 7702 güzel değil mi
View OriginalReply0
gas_fee_therapist
· 07-23 07:45
gas kartı sekiz yıl bekledi sonunda 7702'yi mi bekliyorsun?
Tarihten Geleceğe: EIP-7702, Ethereum hesap soyutlama çağını önderlik ediyor.
Ethereum Hesap Soyutlama Alanının Tarihi ve Geleceği Hakkında Derinlemesine Analiz
Giriş
Bu makale iki ana bölümden oluşmaktadır:
Üst kısım 2015'teki ilk AA önerisinden itibaren, sistem bugüne kadar olan başlıca EIP öneri içeriklerini düzenledi, tarihsel bir inceleme ile AA önerisinin gelişim sürecini ortaya çıkarmayı ve her bir önerinin avantaj ve dezavantajlarını kapsamlı bir şekilde değerlendirmeyi umuyor.
Alt kısım, EIP4337'nin ardından karşılaştığı piyasa soğukluğunu vurgulamakta ve Ethereum'un bir sonraki sürüm güncellemesine dahil edilecek EIP7702'yi derinlemesine analiz etmektedir. Bu teklif birleştirildiğinde, zincir üzerindeki uygulama biçimlerini tamamen değiştirecektir.
EIP-7702 devrim niteliği taşıyor, gelin birlikte derinlemesine inceleyelim.
1. Hesap soyutlamanın arka planı
1.1 Hesap soyutlamanın anlamı
Ethereum kurucusu Vitalik, 2023 yılının sonunda ETH gelişim yol haritasını bir kez daha güncelledi, ancak hesap soyutlamasıyla ilgili ayarlar değişmedi. Şu anda, ana akım model EIP-4337'den bir sonraki aşama olan isteğe bağlı EOA dönüşümüne geçiş yapıyor.
EIP4337'nin piyasaya sürülmesinin üzerinden bir yıldan fazla bir süre geçtikten sonra ( 2023 yılının 1 Martında Denver'da WalletCon'da, Ethereum Vakfı geliştiricileri tarafından tasarlanan ERC-4337 ana sözleşmesi OpenZeppelin denetiminden geçti ve resmi olarak ) olarak kabul edildi, kullanıcılar tarafından geniş çapta tanınmasına rağmen geniş çapta kullanılmayan bir çelişki durumunda kalmıştır. Bu piyasa ortamı, EIP-7702'nin ilerlemesini önemli ölçüde hızlandırmış ve hatta bir sonraki güncellemede birleştirileceği kesinleşmiştir.
1.2 hesap soyutlamanın piyasa durumu
Bir buçuk yıl gelişim sonrası, EIP4337'nin ana akım zincirlerdeki toplam hesap sayısı yalnızca 12 milyon. Ethereum ana ağında aktif adres sayısı sadece 6,764, EOA ve CA adres sayılarıyla büyük bir fark var. Ethereum ana ağındaki bağımsız adres sayısı 270 milyona ulaşmış durumda, bu da EIP4337'nin ana ağda neredeyse hiçbir somut gelişme kaydetmediğini söyleyebiliriz.
Ancak, bu AA'nın temel değerini etkilemez. EIP4337'nin tasarımı, ana ağda geriye uyumluluk problemlerini iyi bir şekilde çözmesini zorlaştırmaktadır. Çeşitli L2'lerin yerel entegrasyonu ile AA'nın EIP4337 adres sayısı L2'de patlama yaşadı, bu arada Base ve Polygon zincirlerinin Temmuz ayındaki aylık aktif kullanıcı sayıları sırasıyla 1 milyon ve 3 milyon olarak kaydedildi, bu da oldukça başarılı bir performanstır.
Bu nedenle, EIP4337 tasarımında bir hata yoktur, birçok avantajı vardır. Mevcut durum, ana ağ ile L2 arasındaki farklardan kaynaklanmaktadır; her biri kendine uygun çözümlere ihtiyaç duymaktadır.
2. Hesap soyutlama nedir?
Hesap soyutlama esasen mülkiyet ayrımı sorununu çözer.
EVM mimarisinde iki tür hesap vardır: dış hesap ( EOA ) ve sözleşme hesabı ( Contract Account ). Dış hesabın sahipliği ve imza yetkisi aslında aynı varlık tarafından tutulur. Özel anahtara sahip olan kişi yalnızca hesabın "sahipliğine" sahip olmakla kalmaz, aynı zamanda "tüm varlıkların transferini imzalama" yetkisine de sahiptir.
Bu, Ethereum hesabı işlem yapısının belirlediği bir durumdur. İşlem yapısından, standart işlemin aslında From alanına sahip olmadığı görülebilir. Fon transferi sırasında, hangi adresin fonunun kullanıldığı, VRS parametreleri ile ( kullanıcının imzası ) ile tersine çözülerek From adresinin belirlenmesi ile anlaşılır.
Bu, ECDSA gibi asimetrik şifreleme ve tek yönlü eşik fonksiyonları gibi kavramları içerir, bunları detaylandırmayacağız. Sonuç olarak, burada güvenlik kriptografi ile sağlanmakta ve bu da mevcut EOA adres mülkiyetinin birleştirilmesi sorununu yaratmaktadır.
EIP4337'nin temel etkisi, işlem alanına Gönderen Adresi ekleyerek özel anahtar ile işlenen adresin ayrılmasını sağlamaktır.
Mülkiyet ayrımının bu kadar önemli olmasının nedeni, dış hesap (EOA) tasarımının daha fazla sorunun ortaya çıkmasına neden olmasıdır:
Özel anahtarları korumak zordur: Kullanıcı özel anahtarını ( kaybeder, siber saldırıya uğrar veya kriptografi kırılırsa ) tüm varlıklarını kaybeder.
İmza algoritması tek: Yerel protokol, işlemleri doğrulamak için yalnızca ECDSA imza ve doğrulama algoritmasını kullanabilir.
İmza yetkisi fazla: Yerel çoklu imza ( çoklu imza yalnızca akıllı sözleşme ile gerçekleştirilebilir ), tek imza ile herhangi bir işlem gerçekleştirilebilir.
İşlem ücretleri yalnızca ETH ile ödenebilir, toplu işlem desteklenmemektedir.
İşlem gizliliği ihlali: Tekil işlemler, hesap sahiplerinin gizli bilgilerini analiz etmeyi kolaylaştırır.
Bu kısıtlamalar sıradan kullanıcıların Ethereum'u kullanmasını zorlaştırıyor:
Öncelikle, Ethereum üzerindeki herhangi bir uygulamayı kullanmak için, kullanıcıların Eter ( tutması ve fiyat dalgalanma riskini üstlenmesi gerekir ).
İkincisi, kullanıcıların karmaşık ücret mantığıyla başa çıkmaları gerekiyor; Gaz fiyatı, Gaz limiti, işlem tıkanıklığı (Nonce sırası ) gibi kavramlar kullanıcılar için çok karmaşık.
Sonunda, birçok blockchain cüzdanı veya uygulaması kullanıcı deneyimini artırmak için ürün optimizasyonu yoluyla çaba gösterse de, etkisi sınırlıdır.
Bu nedenle,突破口账户 soyutlama gerçekleştirmek, sahiplik (Owner) ve imza yetkisi (Signer) birbirinden ayrılmak, böylece yukarıda belirtilen sorunları kademeli olarak çözmektir.
Tarihsel olarak birçok plan vardı, sonunda iki yol üzerinde yoğunlaştı.
3. AA Tarihsel Tekliflerin Kapsamı
Sorunun çözümüne birçok EIP önerisi gibi görünse de, sonuçta iki temel düşünceye dayanıyor. Geçmişte her bir kabul edilmeyen EIP'nin dikkate alınan sorunları, şimdi çözümün dönüm noktalarına dönüştü.
3.1 Birinci yol: EOA adresini CA adresine dönüştürmek
2015 yılının 15 Kasım'ında, EIP-101 etrafında Vitalik, hesaplar için yeni bir yapı olarak sözleşmeleri önermiştir. Adresi sadece kod ve depolama alanı ile değiştirmiş, işlem ücretleri ERC20 tarafından ödenmesini desteklemiş, yerel token'ları sınıf ERC20'ye dönüştürmek için önceden derlenmiş sözleşmeler aracılığıyla bakiye ( gibi yetki verme gibi işlevler geliştirmiştir ), işlem alanını yalnızca to, startgas, data ve code ile sadeleştirmiştir.
Bugün görünüşe göre, bu büyük bir sıçrama tarzı dönüşüm ve alt yapıyı büyük ölçüde değiştirecek, her hesap adresinin kendi "kod" mantığına sahip olmasını sağlayacak ( işte şu anda EIP-7702'nin gerçekleştirmeyi amaçladığı etki ).
Başka işlevler de türetebilir, örneğin:
İşlemlerin daha fazla kriptografi algoritması kullanmasına izin verin, her adresin içindeki Kod tarafından belirlenen imza doğrulama yöntemleriyle.
Kuantum saldırılarına karşı dayanıklı özelliklere sahiptir, çünkü kod yükseltilebilir.
Ether'in ERC20 sözleşmesi ile aynı işlevsellik özelliklerine sahip olmasını sağlamak, temel etkisiyle birlikte yetki verilmiş kesinti ile, böylece yerel para birimi kaybı olmaksızın.
Hesap özelleştirme alanını artırma, sosyal kurtarma, SBT desteği, anahtar geri alma gibi özelliklere uyum sağlama.
Devam edememenin nedeni oldukça basit, açıkça çok büyük adımlar atıldı, mevcut işlem hash çakışması sorunları ve güvenlik açıkları dikkate alınmadı, bu yüzden sürekli ertelendi. Ancak her avantajın felsefesi, EIP4337 ve EIP7702'nin temel işlevlerinden biri haline geldi.
Sonrasında bu mantığı geliştirmeyi amaçlayan bir dizi EIP daha var:
EIP-859: Ana zincir hesap soyutlama--2018-01-30
Code dağıtım sorununu çözmeye çalışmak, temel işlevi, eğer işlem tarafı sözleşmesi dağıtılmamışsa, işlemle birlikte gelen code parametresini kullanarak sözleşme cüzdanını dağıtmaktır. Ayrıca yeni PAYGAS opcode'u önerildi, bu opcode sadece gas ödemekle kalmayıp, aynı zamanda işlem parametreleri içindeki doğrulama kısmı ile yürütme kısmı arasında bir ayırıcı haline de geliyor.
O dönemde sonuçsuz kalmış olsa da, bu durum şu anda EIP7702'nin temel mantıklarından biri haline geldi. EIP7702'nin her bir işlemi, özel işlem yapısıyla birlikte belirli bir kod eklenmesine olanak tanır, böylece bu işlemde EOA adresinin akıllı sözleşme yeteneğine sahip olmasını sağlar.
EIP-7702: EOA hesap kodu ayarlama 2024-05-07
Bu, makalenin sonraki tartışma mekanizmasının ana çekirdeği olan EIP'dir, Vitalik tarafından EIP-3074'ün alternatif çözümü olarak yayınlanmıştır (2024-05-07). Bu nedenle EIP-3074 terk edilmiştir, EIP-7702'nin yaklaşan ETH Prague/Electra(Pectra) sert çatallaşmasında dahil edileceği belirlenmiştir, bu konuyu birazdan açacağız.
3.2 İkinci yol: EOA adresinin CA adresini yönetmesine izin ver
EIP-3074: AUTH ve AUTHCALL opcode'larının eklenmesi--2020-10-15
EVM'ye AUTH ve AUTHCALL adında iki yeni OpCode ekleyerek, EOA'nın bu iki opcode aracılığıyla sözleşmelere EOA kimliği yerine diğer sözleşmeleri çağırma yetkisi vermesini sağlamak.
Özetle, EOA, imzalanmış bir mesajı ( ve ) işlemeyi, kendine güvenilir bir sözleşmeye ( gönderebilir ve buna Invoker ) denir. Bu Invoker sözleşmesi, AUTH ve AUTHCALL opcode'larını kullanarak bu EOA'dan işlem gönderebilir.
EIP-4337: İşlem belleği havuzunu kullanarak hesap soyutlama -- 2021-09-29
MEV'den ilham alarak tasarlanmıştır, temel değeri konsensüs katmanı protokol değişikliklerini tamamen önleyebilmesidir.
EIP4337, kullanıcıların bu nesneyi bellek havuzuna göndermesine olanak tanıyan yeni bir işlem nesnesi UserOperation'ı öneriyor. Bundler'lar, madencilik açısından toplu olarak sözleşme yürütme işlemlerini paketleyip teslim ediyor; bu esasen temel işlemleri ve hesap işlemlerini sözleşme seviyesinde yürütmeye çekmek anlamına geliyor.
EIP-5189: aracılar tarafından soyut hesap işlemi --- 2022-06-29
Bu, kötü niyetli Bundler'lara karşı fon ceza teminatı sağlayan bir mekanizma oluşturarak DoS tıkanma saldırılarını önlemek amacıyla EIP4337 mantığının optimize edilmesidir.
3.3 AA'yı desteklemek için diğer öneriler
EIP-2718: Yeni işlem türü için paketleme zarfı--2020-06-13
Bu, gelecekteki yeni işlem türleri için bir zarf olarak tanımlanan, zaten Final olan bir tekliftir.
Sonuç olarak, yeni bir işlem türü tanıtıldığında, belirli bir kodlama ile hangi tür işlem olduğunu ayırt etmek, geriye dönük uyum sağlamasını yeterli kılmak ve ileriye dönük uyum gerektirmemek için gereklidir. En yaygın örnek EIP1559'dur, işlem ücretlerini ayırır, yeni işlem türü kodlaması kullanır ve başlangıçtaki legacy işlem türlerini etkilemez.
EIP-3607: EOA adreslerinin sözleşme dağıtımına izin vermemesi -- 2021-06-10
Bu, sözleşme dağıtım adresinin EOA adresi ile çakışmasını önlemek için AA yolundaki ek bir plandır. Sözleşme oluşturma yöntemini kontrol edecek ve sistemin kodu zaten EOA adresi olan bir adrese dağıtmasına izin vermeyecektir. Bu risk oldukça düşüktür, sonuçta Ethereum adresi 160 bit uzunluğundadır, belirli bir sözleşme adresinin özel anahtarını çarpıştırmak için özel anahtarlar kullanma yöntemi mevcut olsa da, Bitcoin'in toplam hesaplama gücüyle tahmin edildiğinde, yine de bir yıl süre gerekecektir.
3.4 Hesap soyutlama gelişim süreci nasıl anlaşılır?
Öncelikle CA'ya dönüştürme sonrası değeri anlamak gerekir.
Temelde EIP-4337'nin pratik etkisi budur, şunu gerçekleştirebilir:
Ancak, EIP-4337'nin temel dezavantajı insan motivasyonu ilkesine aykırı olmasıdır.
Daha iyi görünüyor, ancak piyasa gelişiminin kısır döngüsüne takılıp kalmış. Birçok Dapp hâlâ uyumlu değil, bu yüzden kullanıcılar CA adresi kullanmak istemiyor, hatta CA kullanmanın daha yüksek işlem maliyetleri var. ( standart transfer senaryolarında, işlem ücretleri iki katına çıkıyor ) ve Dapp'in kendisinin uyumluluğuna fazla bağımlı.
Bu nedenle Ethereum ana ağı üzerinde şimdiye kadar yaygınlaşmamıştır.
Maliyet, kullanıcıların en önemli ölçütüdür, maliyetleri düşürmek zorundadır.
Ancak gerçekten GAS'ı düşürmek için, Ethereum'un kendisinin yumuşak çatallama güncellemesi yapması, GAS hesaplamasını veya işlem kodlarının GAS tüketimi gibi modülleri değiştirmesi gerekir. Ancak yumuşak çatallama yapılacaksa, neden doğrudan EIP-7702'yi düşünmeyelim?
4. EIP-7702'nin Kapsamlı Analizi
4.1 EIP-7702 nedir
Yeni işlem türleriyle ayırt ediliyor, EOA'nın tek bir işlemde geçici olarak akıllı sözleşme işlevselliğine sahip olmasına izin veriyor, böylece iş açısından toplu işlemleri, gazsız işlemleri ve özel yetki yönetimini destekliyor ve yeni bir EVM opCode('in geriye uyumluluğu etkilemesini gerektirmiyor).
Kullanıcıların akıllı sözleşme dağıtmadan AA yeteneklerinin çoğuna erişim sağlamasını sağlarken, üçüncü tarafların kullanıcı adına işlem başlatma yeteneği sunabilir ve kullanıcıların özel anahtar sağlamasını gerektirmeden yalnızca imza yetkilendirme bilgisi ile yeterlidir.
4.2 veri yapısı
Yeni bir işlem türü 0x04'ü tanımlar, bu işlem türünün TransactionPayload'u aşağıdaki içeriğin RLP kodlama seri sonucu:
rlp([ chain_id, //chain ID, yeniden oynatma saldırılarını önlemek için nonce, // işlem sayacı, işlemin benzersizliğini sağlar max_priority_fee_per_gas, //1559 işlem ücreti max_fee_per_gas, //1559 işlem ücreti gaz_sınırı, hedef, //işlem hedef adresi değer, veriler, access_list, // erişim listesi, EIP-2929'daki Gas optimizasyonu için yetki_listesi, signature_y_parity, //3 imza parametresi, işlem imzasını doğrulamak için signature_r, signature_s ])
Önemli