Ethereum hesap soyutlama alanının geçmişi ve geleceği üzerine derinlemesine bir inceleme
Bu makale iki ana bölümden oluşmaktadır:
Üst kısım, 2015 yılındaki ilk AA önerisinden başlayarak, şu ana kadar EIP önerilerinin ana içeriğini sistematik olarak gözden geçirmekte, AA tarihsel önerilerinin gelişim sürecini tartışmakta ve her bir öneriyi kapsamlı bir şekilde değerlendirmektedir.
Alt kısımda EIP4337'nin ardından karşılaştığı piyasa tepkileri üzerinde durulmakta ve Ethereum'un bir sonraki sürüm güncellemesine dahil edilmesi beklenen EIP7702 derinlemesine analiz edilmektedir. Bu öneri birleştirildiğinde zincir üzerindeki uygulama biçimlerini tamamen değiştirecektir.
EIP-7702 devrim niteliğinde bir öneme sahip, gelin bunu daha ayrıntılı 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 soyutlama ayarını değiştirmedi. Şu anda ana akım model EIP-4337'den "isteğe bağlı EOA hesabına geçiş" aşamasına geçiyor.
EIP4337'nin piyasaya sürülmesinden bir yıl sonra (, 2023 yılı Mart ayının 1'inde Denver'daki WalletCon'da resmi olarak tanıtıldı ), kullanıcılar tarafından geniş ölçüde kabul gördü, ancak yaygın olarak kullanılmadı. Bu çelişkili pazar ortamında, EIP-7702'nin ilerlemesi büyük ölçüde hızlandı ve bir sonraki güncellemeye dahil edileceği kesinleşti.
1.2 hesap soyutlamanın piyasa durumu
Bir buçuk yıl süren gelişimin ardından, EIP4337'nin ana akım zincirlerdeki toplam hesap sayısı yalnızca 12 milyon, bunların arasında Ethereum ana ağında aktif adres sayısı yalnızca 6,764'tür ve EOA ile CA adres sayısından oldukça uzaktır. Ethereum ana ağındaki bağımsız adres sayısı 270 milyona ulaşmıştır.
EIP4337'nin ana ağda neredeyse hiçbir somut gelişme yaşamadığını söyleyebilirim.
Ancak bu, AA'nın öz değerini etkilemez. EIP4337'nin tasarımı, ana ağın ileriye dönük uyumluluk sorunlarını iyi bir şekilde çözmesini zorlaştırıyor. Çeşitli L2 zincirlerinin yerel AA'yı yaygın bir şekilde entegre etmesiyle, EIP4337'nin adres sayısı L2'de patlama yaşıyor. Bu arada, Base ve Polygon zincirinin Temmuz ayındaki aktif kullanıcı sayıları sırasıyla 1 milyon ve 3 milyon olarak kaydedildi, bu oldukça başarılı bir performans.
Bu nedenle, EIP4337'nin tasarımı bir hata değildir, birçok avantajı vardır. Mevcut durum, ana ağ ile L2 arasındaki farklardan kaynaklanmaktadır; her biri kendi uygun çözümlerini benimsemelidir.
Ethereum sanal makinesi ( EVM ) mimarisinde iki tür hesap bulunmaktadır: dış hesap ( EOA ) ve sözleşme hesabı ( Contract Account ). Dış hesabın mülkiyeti ve imza yetkisi aslında aynı tarafça tutulmaktadır. Özel anahtara sahip olan kişi, yalnızca hesabın "mülkünü" değil, aynı zamanda "tüm varlıkları transfer etme imzasını" da elinde bulundurmaktadır.
Bu, Ethereum hesaplarının işlem yapısının belirlediği bir durumdur. Standart Ethereum işlemlerinde From alanı yoktur, aslında VRS parametreleri ( yani kullanıcının imzası ) ile analiz edilerek From adresi çıkarılır. Bu, ECDSA gibi asimetrik şifreleme ve tek yönlü eşik fonksiyonları gibi kavramları içerir. Kriptografi güvenliği sağlar, ancak mevcut EOA adres mülkiyetinin birleşim sorununu da yaratmaktadır.
EIP4337'nin temel etkisi, işlem alanında Sender Address alanının eklenmesiyle, özel anahtar ile işlem yapılan 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 sorunu doğurmasıdır:
Özel anahtarların korunması zordur: özel anahtarın kaybolması, tüm varlıkların kaybedilmesi anlamına gelir.
Tek imza algoritması: Yerel protokol, işlemleri doğrularken yalnızca ECDSA imza ve doğrulama algoritmasını kullanabilir.
İmza yetkisi çok yüksek: Yerel çoklu imza (, çoklu imza yalnızca akıllı sözleşme ile gerçekleştirilebilir ), tek bir imza ile herhangi bir işlem gerçekleştirilebilir.
İşlem ücreti yalnızca ETH ile ödenebilir, toplu işlemler desteklenmemektedir.
İşlem gizliliği ihlali: Birbiriyle yapılan 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 dalgalanması riskini üstlenmesi gerekmektedir ).
İkincisi, kullanıcıların karmaşık ücret mantığını işlemesi gerekiyor; Gas fiyatı, Gas limiti, işlem tıkanıklığı (Nonce sırası ) gibi kavramlar kullanıcılar için çok karmaşık.
Sonunda, birçok blok zinciri cüzdanı veya uygulaması, ürün optimizasyonu ile kullanıcı deneyimini artırmaya çalışsa da, etkisi sınırlıdır.
Bu nedenle, kırılma noktası hesap soyutlamasını gerçekleştirmek, sahiplik (Owner) ve imzalama yetkisini (Signer) ayırmak ve böylece yukarıda belirtilen sorunları kademeli olarak çözmektir.
Tarihsel olarak birçok plan vardı, nihayetinde iki ana yola indirgenmiştir.
3. AA tarihsel öneri bağlamı incelemesi
Sorunun çözümünün birçok EIP önerisi varmış gibi görünüyor, ancak esasen sadece iki temel düşünce var. Geçmeyen her EIP'nin ele aldığı sorunlar, şu anki çözümün dönüm noktalarına dönüştü.
3.1 İlk yol: EOA adresini CA adresine dönüştürmek
15 Kasım 2015'te, Vitalik EIP-101'de hesabın yeni yapısı olarak sözleşmeleri önerdi. Adresi yalnızca kod ve depolama alanı olarak değiştirmek, işlem ücretlerinin ERC20 token'ları ile ödenmesini sağlamak, yerel token'ı ERC20 benzeri bir biçimde depolamak için önceden derlenmiş sözleşmeler kullanmak ( yetki alma gibi işlevler kazandırmak ), işlem alanlarını to, startgas, data ve code ile sadeleştirmek.
Bu değişim radikal görünüyor, temel tasarımı büyük ölçüde değiştirecek ve her hesap adresinin kendi "kod" mantığına sahip olmasını sağlayacak ( bu, EIP-7702'nin ulaşmayı amaçladığı etkidir ).
Diğer işlevleri türetebilir, örneğin:
İşlemlerin daha fazla kriptografik algoritma kullanmasına izin verin, her adresin içindeki Kod tarafından imza doğrulama yönteminin belirlenmesi.
Kuantum saldırılarına karşı dayanıklılık özelliklerine sahip, çünkü kod güncellenebilir.
Ether'in ERC20 sözleşmesi ile aynı işlevselliği kazanmasını sağlamak, temel etkisi otomatik kesinti yetkisini gerçekleştirmek, yerel para birimini tüketmeden.
Hesapların özelleştirme alanını artırma, sosyal kurtarma, SBT desteği, anahtar geri alma gibi özelliklerle uyumluluk.
Devam edememenin nedeni çok basit, açıkça adımlar çok büyüktü, mevcut işlem hash çakışma sorununa ve güvenlik risklerine yeterince dikkat edilmedi, bu yüzden hep bekletildi. Ancak her avantajın fikri, sonraki EIP4337 ve EIP7702'nin temel işlevlerinden biri haline geldi.
Daha sonra bu mantığı geliştirmeyi amaçlayan bir dizi EIP ortaya çıktı:
EIP-859: Ana zincir hesap soyutlama (2018-01-30)
Code'un dağıtım sorununu çözmeye çalışıyor. Temel işlevi, eğer işlem tarafının sözleşmesi dağıtılmamışsa, işlemle birlikte gelen code parametresini kullanarak sözleşme cüzdanı dağıtımını gerçekleştirmektir. Ayrıca, gaz ödemesinin yanı sıra işlem parametreleri içindeki doğrulama ve yürütme bölümleri arasında bir ayırıcı haline gelen yeni PAYGAS opcode'u da önerilmiştir.
O zaman gerçekleştirilemediği halde, bu durum EIP7702'nin temel mantıklarından biri haline geldi. EIP7702'nin her bir işlemi, özel bir işlem yapısı ile birleştirilerek belirli bir kodu ekleyebilir ve böylece bu işlemde EOA adresinin sözleşme yeteneklerine sahip olmasını sağlar.
EIP-7702: EOA hesap kodu ayarlama (2024-05-07)
Bu aynı zamanda bu makalenin sonraki tartışma mekanizmasının temel EIP'sidir, Vitalik tarafından EIP-3074'ün alternatif çözümü olarak sunulmuştur. Bu nedenle EIP-3074 kullanımdan kaldırılmıştır, EIP-7702'nin yaklaşan ETH Prague/Electra(Pectra) sert çatalında dahil edileceği belirlenmiştir, ayrıntılar aşağıda açıklanacaktır.
3.2 İkinci yol: EOA adresinin CA adresini yönlendirmesi
EIP-3074: AUTH ve AUTHCALL opcode'larını ekle (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'nın kimliğini temsil eden diğer sözleşmeleri çağırmasına izin verilir.
Özetle, bir EOA, kendisine güvenilen bir sözleşmeye ( imzalı bir mesajın ) gönderilmesini sağlar ve bu sözleşmeye Invoker( denir. Bu Invoker sözleşmesi, bu EOA'nın bu işlemi gerçekleştirmesi için AUTH ve AUTHCALL opcode'larını kullanabilir.
EIP-4337: İşlem 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, yeni bir işlem nesnesi olan UserOperation'ı önermektedir. Kullanıcı bu nesneyi bellek havuzuna gönderir, bundler'lar madenci perspektifinden topluca paketleyerek sözleşme yürütme işlemleri için teslim eder. Temelde, alt düzey işlemleri ve hesap işlemlerini sözleşme katmanında yürütmek için bir araya getirmektedir.
EIP-5189: Soyut hesapları yönlendirenler aracılığıyla işleme )2022-06-29(
Bu, kötü niyetli Bundler'lara karşı, fon cezası destekleyici (endorser) mekanizması oluşturarak DoS tıkanıklık saldırılarını önlemek için EIP4337'nin mantığını optimize etmek olarak kabul edilebilir.
) 3.3 AA'yı desteklemek için diğer öneriler
EIP-2718: Yeni işlem türü için paket zarf ###2020-06-13(
Bu, gelecekte eklenmesi planlanan işlem türleri için bir zarf olarak tanımlanan yeni bir işlem türünü belirleyen, zaten Final olan bir öneridir.
Sonuç olarak, yeni bir işlem türü tanıtıldığında, belirli bir kodlama ile bu işlemin hangi tür olduğunu ayırt etmek, yalnızca geriye dönük uyumluluğa sahip olmasını sağlamak ve ileriye dönük uyumluluğa ihtiyaç duymamasını sağlamak için yapılır. En yaygın örnek EIP1559'dur; bu, işlem ücretlerini ayırt eder, yeni bir işlem türü kodlaması kullanır ve orijinal legacy işlem türünü etkilemez.
EIP-3607: EOA adreslerinin sözleşme dağıtımını engellemesi )2021-06-10(
Bu, EOA adresleri ile sözleşme dağıtım adresleri arasındaki çakışmayı önlemek için AA yolundaki ek bir çözümdür. Sözleşme oluşturma yöntemini kontrol edecek ve sistemin kodun zaten bir EOA adresi olan bir adrese dağıtılmasına izin vermeyecek şekilde ayarlanacaktır. Bu risk aslında çok küçüktür, sonuçta Ethereum adresleri 160 bit uzunluğundadır, belirli bir sözleşme adresinin özel anahtarını çarpıştırma yöntemi olsa bile, Bitcoin tüm hesaplama gücünü kullanarak tahminen bir yıl daha zaman gerektirecektir.
) 3.4 Hesap soyutlama gelişim süreci nasıl anlaşılmalıdır?
Öncelikle CA'ya dönüştürme sonrası değeri anlamak gerekiyor.
Temelde, EIP-4337'nin pratikteki etkisi budur, şunları gerçekleştirebilir:
Kullanıcıların artık Gas ücretlerini ödemek için doğrudan ETH bulundurmalarına gerek yok.
Hesap izinleri, çoklu imza, sosyal kurtarma gibi esnek bir şekilde ayarlanabilir.
Toplu işlemleri destekler, işlem maliyetlerini düşürür.
Özelleştirilmiş imza doğrulama algoritması, güvenliği artırır
Bazı işlemler üçüncü taraflar tarafından Gas ödenebilir.
Ancak, EIP-4337'nin temel dezavantajı insan doğası motivasyon ilkesine aykırı olmasıdır.
Daha iyi görünüyor, ancak bir piyasa gelişimi kısır döngüsüne girdi, birçok Dapp hala uyumlu değil, kullanıcılar CA adreslerini kullanmak istemiyor, hatta CA kullanmanın daha yüksek işlem maliyetleri var ### normal transfer senaryolarında, işlem ücretleri de iki katına çıkıyor (, Dapp'in kendisinin uyumluluğuna çok bağımlı.
Bu nedenle Ethereum ana ağında bugüne kadar yaygınlaşmamıştır.
Maliyet, kullanıcılar için en önemli ölçüt olup maliyetlerin düşürülmesi gerekmektedir.
Ancak Gas'ı gerçekten düşürmek için Ethereum'un kendisinin yumuşak bir çatal güncellemesi yapması, Gas hesaplamasını veya opcode'un Gas tüketimini değiştirmesi gibi modülleri değiştirmesi gerekir. Ancak yumuşak bir çatal yapılacaksa, neden doğrudan EIP-7702'yi düşünmüyoruz?
![Ethereum hesap soyutlama alanının geçmişi ve geleceği üzerine derinlemesine inceleme])https://img-cdn.gateio.im/webp-social/moments-3503a168bb61430839419efb40e130de.webp(
4. EIP-7702'nin Kapsamlı Analizi
) 4.1 EIP-7702 nedir
Yeni işlem türleri ile ayırt edilir, EOA'nın tek bir işlemde akıllı sözleşme işlevlerine geçici olarak sahip olmasına izin verir, böylece iş açısından toplu işlemleri, gazsız işlemleri ve özel izin yönetimini destekler, ayrıca yeni bir EVM opCode###'in geriye uyumluluğu etkilemesine gerek yoktur(.
Kullanıcıların akıllı sözleşme dağıtmadan AA'nın çoğu yeteneğini elde etmelerini sağlar. Hatta üçüncü tarafların kullanıcı adına işlem başlatma yeteneğini sunabilir ve kullanıcıların özel anahtar sağlamasına gerek kalmadan yalnızca imzalı yetkilendirme bilgisi gerektirir.
) 4.2 veri yapısı
Yeni işlem türü 0x04'ü tanımlar, bu işlem türünün TransactionPayload'u aşağıdaki içeriğin RLP kodlama serileştirme sonucudur:
Önemli olan, imzacıların EOA'sında gerçekleştirmek istedikleri kodu saklayan authorization_list nesnesinin eklenmiş olmasıdır. Kullanıcı, işlemi imzalarken aynı zamanda yürütülecek olan sözleşme kodunu da imzalar; bu, iki boyutlu bir liste olarak mevcuttur ve birden fazla işlem bilgisinin topluca saklanabileceğini gösterir, toplu işlemlerin gerçekleştirilmesine olanak tanır.
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.
22 Likes
Reward
22
6
Share
Comment
0/400
blocksnark
· 07-07 04:13
7702 yüzü, eski sevgililer kenara çekilmek zorunda.
View OriginalReply0
CryptoPunster
· 07-06 10:22
Yine bir dalga Emiciler Tarafından Oyuna Getirilmek için yeni bir fırsat geldi.
View OriginalReply0
ChainDetective
· 07-04 14:33
2026 AA ancak gelen gerçek dışarıdan para.
View OriginalReply0
LiquidityWizard
· 07-04 05:32
Ahhh 4337 sonunda emekli oluyor, yeni bir dönem geliyor!
View OriginalReply0
MetaverseMigrant
· 07-04 05:32
Aaa bu, yine bir zincir ayarlayacak gibi.
View OriginalReply0
OldLeekNewSickle
· 07-04 05:14
Patronun çizdiği BTC giderek daha cazip hale geliyor, bir pozisyon girmek için geç değil.
EIP-7702: Ethereum hesap soyutlamasında çığır açan ilerleme
Ethereum hesap soyutlama alanının geçmişi ve geleceği üzerine derinlemesine bir inceleme
Bu makale iki ana bölümden oluşmaktadır:
Üst kısım, 2015 yılındaki ilk AA önerisinden başlayarak, şu ana kadar EIP önerilerinin ana içeriğini sistematik olarak gözden geçirmekte, AA tarihsel önerilerinin gelişim sürecini tartışmakta ve her bir öneriyi kapsamlı bir şekilde değerlendirmektedir.
Alt kısımda EIP4337'nin ardından karşılaştığı piyasa tepkileri üzerinde durulmakta ve Ethereum'un bir sonraki sürüm güncellemesine dahil edilmesi beklenen EIP7702 derinlemesine analiz edilmektedir. Bu öneri birleştirildiğinde zincir üzerindeki uygulama biçimlerini tamamen değiştirecektir.
EIP-7702 devrim niteliğinde bir öneme sahip, gelin bunu daha ayrıntılı 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 soyutlama ayarını değiştirmedi. Şu anda ana akım model EIP-4337'den "isteğe bağlı EOA hesabına geçiş" aşamasına geçiyor.
EIP4337'nin piyasaya sürülmesinden bir yıl sonra (, 2023 yılı Mart ayının 1'inde Denver'daki WalletCon'da resmi olarak tanıtıldı ), kullanıcılar tarafından geniş ölçüde kabul gördü, ancak yaygın olarak kullanılmadı. Bu çelişkili pazar ortamında, EIP-7702'nin ilerlemesi büyük ölçüde hızlandı ve bir sonraki güncellemeye dahil edileceği kesinleşti.
1.2 hesap soyutlamanın piyasa durumu
Bir buçuk yıl süren gelişimin ardından, EIP4337'nin ana akım zincirlerdeki toplam hesap sayısı yalnızca 12 milyon, bunların arasında Ethereum ana ağında aktif adres sayısı yalnızca 6,764'tür ve EOA ile CA adres sayısından oldukça uzaktır. Ethereum ana ağındaki bağımsız adres sayısı 270 milyona ulaşmıştır.
EIP4337'nin ana ağda neredeyse hiçbir somut gelişme yaşamadığını söyleyebilirim.
Ancak bu, AA'nın öz değerini etkilemez. EIP4337'nin tasarımı, ana ağın ileriye dönük uyumluluk sorunlarını iyi bir şekilde çözmesini zorlaştırıyor. Çeşitli L2 zincirlerinin yerel AA'yı yaygın bir şekilde entegre etmesiyle, EIP4337'nin adres sayısı L2'de patlama yaşıyor. Bu arada, Base ve Polygon zincirinin Temmuz ayındaki aktif kullanıcı sayıları sırasıyla 1 milyon ve 3 milyon olarak kaydedildi, bu oldukça başarılı bir performans.
Bu nedenle, EIP4337'nin tasarımı bir hata değildir, birçok avantajı vardır. Mevcut durum, ana ağ ile L2 arasındaki farklardan kaynaklanmaktadır; her biri kendi uygun çözümlerini benimsemelidir.
2. Hesap soyutlama nedir?
Hesap soyutlama esasen mülkiyet ayrımı sorununu çözer.
Ethereum sanal makinesi ( EVM ) mimarisinde iki tür hesap bulunmaktadır: dış hesap ( EOA ) ve sözleşme hesabı ( Contract Account ). Dış hesabın mülkiyeti ve imza yetkisi aslında aynı tarafça tutulmaktadır. Özel anahtara sahip olan kişi, yalnızca hesabın "mülkünü" değil, aynı zamanda "tüm varlıkları transfer etme imzasını" da elinde bulundurmaktadır.
Bu, Ethereum hesaplarının işlem yapısının belirlediği bir durumdur. Standart Ethereum işlemlerinde From alanı yoktur, aslında VRS parametreleri ( yani kullanıcının imzası ) ile analiz edilerek From adresi çıkarılır. Bu, ECDSA gibi asimetrik şifreleme ve tek yönlü eşik fonksiyonları gibi kavramları içerir. Kriptografi güvenliği sağlar, ancak mevcut EOA adres mülkiyetinin birleşim sorununu da yaratmaktadır.
EIP4337'nin temel etkisi, işlem alanında Sender Address alanının eklenmesiyle, özel anahtar ile işlem yapılan 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 sorunu doğurmasıdır:
Özel anahtarların korunması zordur: özel anahtarın kaybolması, tüm varlıkların kaybedilmesi anlamına gelir.
Tek imza algoritması: Yerel protokol, işlemleri doğrularken yalnızca ECDSA imza ve doğrulama algoritmasını kullanabilir.
İmza yetkisi çok yüksek: Yerel çoklu imza (, çoklu imza yalnızca akıllı sözleşme ile gerçekleştirilebilir ), tek bir imza ile herhangi bir işlem gerçekleştirilebilir.
İşlem ücreti yalnızca ETH ile ödenebilir, toplu işlemler desteklenmemektedir.
İşlem gizliliği ihlali: Birbiriyle yapılan 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 dalgalanması riskini üstlenmesi gerekmektedir ).
İkincisi, kullanıcıların karmaşık ücret mantığını işlemesi gerekiyor; Gas fiyatı, Gas limiti, işlem tıkanıklığı (Nonce sırası ) gibi kavramlar kullanıcılar için çok karmaşık.
Sonunda, birçok blok zinciri cüzdanı veya uygulaması, ürün optimizasyonu ile kullanıcı deneyimini artırmaya çalışsa da, etkisi sınırlıdır.
Bu nedenle, kırılma noktası hesap soyutlamasını gerçekleştirmek, sahiplik (Owner) ve imzalama yetkisini (Signer) ayırmak ve böylece yukarıda belirtilen sorunları kademeli olarak çözmektir.
Tarihsel olarak birçok plan vardı, nihayetinde iki ana yola indirgenmiştir.
3. AA tarihsel öneri bağlamı incelemesi
Sorunun çözümünün birçok EIP önerisi varmış gibi görünüyor, ancak esasen sadece iki temel düşünce var. Geçmeyen her EIP'nin ele aldığı sorunlar, şu anki çözümün dönüm noktalarına dönüştü.
3.1 İlk yol: EOA adresini CA adresine dönüştürmek
15 Kasım 2015'te, Vitalik EIP-101'de hesabın yeni yapısı olarak sözleşmeleri önerdi. Adresi yalnızca kod ve depolama alanı olarak değiştirmek, işlem ücretlerinin ERC20 token'ları ile ödenmesini sağlamak, yerel token'ı ERC20 benzeri bir biçimde depolamak için önceden derlenmiş sözleşmeler kullanmak ( yetki alma gibi işlevler kazandırmak ), işlem alanlarını to, startgas, data ve code ile sadeleştirmek.
Bu değişim radikal görünüyor, temel tasarımı büyük ölçüde değiştirecek ve her hesap adresinin kendi "kod" mantığına sahip olmasını sağlayacak ( bu, EIP-7702'nin ulaşmayı amaçladığı etkidir ).
Diğer işlevleri türetebilir, örneğin:
İşlemlerin daha fazla kriptografik algoritma kullanmasına izin verin, her adresin içindeki Kod tarafından imza doğrulama yönteminin belirlenmesi.
Kuantum saldırılarına karşı dayanıklılık özelliklerine sahip, çünkü kod güncellenebilir.
Ether'in ERC20 sözleşmesi ile aynı işlevselliği kazanmasını sağlamak, temel etkisi otomatik kesinti yetkisini gerçekleştirmek, yerel para birimini tüketmeden.
Hesapların özelleştirme alanını artırma, sosyal kurtarma, SBT desteği, anahtar geri alma gibi özelliklerle uyumluluk.
Devam edememenin nedeni çok basit, açıkça adımlar çok büyüktü, mevcut işlem hash çakışma sorununa ve güvenlik risklerine yeterince dikkat edilmedi, bu yüzden hep bekletildi. Ancak her avantajın fikri, sonraki EIP4337 ve EIP7702'nin temel işlevlerinden biri haline geldi.
Daha sonra bu mantığı geliştirmeyi amaçlayan bir dizi EIP ortaya çıktı:
EIP-859: Ana zincir hesap soyutlama (2018-01-30)
Code'un dağıtım sorununu çözmeye çalışıyor. Temel işlevi, eğer işlem tarafının sözleşmesi dağıtılmamışsa, işlemle birlikte gelen code parametresini kullanarak sözleşme cüzdanı dağıtımını gerçekleştirmektir. Ayrıca, gaz ödemesinin yanı sıra işlem parametreleri içindeki doğrulama ve yürütme bölümleri arasında bir ayırıcı haline gelen yeni PAYGAS opcode'u da önerilmiştir.
O zaman gerçekleştirilemediği halde, bu durum EIP7702'nin temel mantıklarından biri haline geldi. EIP7702'nin her bir işlemi, özel bir işlem yapısı ile birleştirilerek belirli bir kodu ekleyebilir ve böylece bu işlemde EOA adresinin sözleşme yeteneklerine sahip olmasını sağlar.
EIP-7702: EOA hesap kodu ayarlama (2024-05-07)
Bu aynı zamanda bu makalenin sonraki tartışma mekanizmasının temel EIP'sidir, Vitalik tarafından EIP-3074'ün alternatif çözümü olarak sunulmuştur. Bu nedenle EIP-3074 kullanımdan kaldırılmıştır, EIP-7702'nin yaklaşan ETH Prague/Electra(Pectra) sert çatalında dahil edileceği belirlenmiştir, ayrıntılar aşağıda açıklanacaktır.
3.2 İkinci yol: EOA adresinin CA adresini yönlendirmesi
EIP-3074: AUTH ve AUTHCALL opcode'larını ekle (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'nın kimliğini temsil eden diğer sözleşmeleri çağırmasına izin verilir.
Özetle, bir EOA, kendisine güvenilen bir sözleşmeye ( imzalı bir mesajın ) gönderilmesini sağlar ve bu sözleşmeye Invoker( denir. Bu Invoker sözleşmesi, bu EOA'nın bu işlemi gerçekleştirmesi için AUTH ve AUTHCALL opcode'larını kullanabilir.
EIP-4337: İşlem 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, yeni bir işlem nesnesi olan UserOperation'ı önermektedir. Kullanıcı bu nesneyi bellek havuzuna gönderir, bundler'lar madenci perspektifinden topluca paketleyerek sözleşme yürütme işlemleri için teslim eder. Temelde, alt düzey işlemleri ve hesap işlemlerini sözleşme katmanında yürütmek için bir araya getirmektedir.
EIP-5189: Soyut hesapları yönlendirenler aracılığıyla işleme )2022-06-29(
Bu, kötü niyetli Bundler'lara karşı, fon cezası destekleyici (endorser) mekanizması oluşturarak DoS tıkanıklık saldırılarını önlemek için EIP4337'nin mantığını optimize etmek olarak kabul edilebilir.
) 3.3 AA'yı desteklemek için diğer öneriler
EIP-2718: Yeni işlem türü için paket zarf ###2020-06-13(
Bu, gelecekte eklenmesi planlanan işlem türleri için bir zarf olarak tanımlanan yeni bir işlem türünü belirleyen, zaten Final olan bir öneridir.
Sonuç olarak, yeni bir işlem türü tanıtıldığında, belirli bir kodlama ile bu işlemin hangi tür olduğunu ayırt etmek, yalnızca geriye dönük uyumluluğa sahip olmasını sağlamak ve ileriye dönük uyumluluğa ihtiyaç duymamasını sağlamak için yapılır. En yaygın örnek EIP1559'dur; bu, işlem ücretlerini ayırt eder, yeni bir işlem türü kodlaması kullanır ve orijinal legacy işlem türünü etkilemez.
EIP-3607: EOA adreslerinin sözleşme dağıtımını engellemesi )2021-06-10(
Bu, EOA adresleri ile sözleşme dağıtım adresleri arasındaki çakışmayı önlemek için AA yolundaki ek bir çözümdür. Sözleşme oluşturma yöntemini kontrol edecek ve sistemin kodun zaten bir EOA adresi olan bir adrese dağıtılmasına izin vermeyecek şekilde ayarlanacaktır. Bu risk aslında çok küçüktür, sonuçta Ethereum adresleri 160 bit uzunluğundadır, belirli bir sözleşme adresinin özel anahtarını çarpıştırma yöntemi olsa bile, Bitcoin tüm hesaplama gücünü kullanarak tahminen bir yıl daha zaman gerektirecektir.
) 3.4 Hesap soyutlama gelişim süreci nasıl anlaşılmalıdır?
Öncelikle CA'ya dönüştürme sonrası değeri anlamak gerekiyor.
Temelde, EIP-4337'nin pratikteki etkisi budur, şunları gerçekleştirebilir:
Ancak, EIP-4337'nin temel dezavantajı insan doğası motivasyon ilkesine aykırı olmasıdır.
Daha iyi görünüyor, ancak bir piyasa gelişimi kısır döngüsüne girdi, birçok Dapp hala uyumlu değil, kullanıcılar CA adreslerini kullanmak istemiyor, hatta CA kullanmanın daha yüksek işlem maliyetleri var ### normal transfer senaryolarında, işlem ücretleri de iki katına çıkıyor (, Dapp'in kendisinin uyumluluğuna çok bağımlı.
Bu nedenle Ethereum ana ağında bugüne kadar yaygınlaşmamıştır.
Maliyet, kullanıcılar için en önemli ölçüt olup maliyetlerin düşürülmesi gerekmektedir.
Ancak Gas'ı gerçekten düşürmek için Ethereum'un kendisinin yumuşak bir çatal güncellemesi yapması, Gas hesaplamasını veya opcode'un Gas tüketimini değiştirmesi gibi modülleri değiştirmesi gerekir. Ancak yumuşak bir çatal yapılacaksa, neden doğrudan EIP-7702'yi düşünmüyoruz?
![Ethereum hesap soyutlama alanının geçmişi ve geleceği üzerine derinlemesine inceleme])https://img-cdn.gateio.im/webp-social/moments-3503a168bb61430839419efb40e130de.webp(
4. EIP-7702'nin Kapsamlı Analizi
) 4.1 EIP-7702 nedir
Yeni işlem türleri ile ayırt edilir, EOA'nın tek bir işlemde akıllı sözleşme işlevlerine geçici olarak sahip olmasına izin verir, böylece iş açısından toplu işlemleri, gazsız işlemleri ve özel izin yönetimini destekler, ayrıca yeni bir EVM opCode###'in geriye uyumluluğu etkilemesine gerek yoktur(.
Kullanıcıların akıllı sözleşme dağıtmadan AA'nın çoğu yeteneğini elde etmelerini sağlar. Hatta üçüncü tarafların kullanıcı adına işlem başlatma yeteneğini sunabilir ve kullanıcıların özel anahtar sağlamasına gerek kalmadan yalnızca imzalı yetkilendirme bilgisi gerektirir.
) 4.2 veri yapısı
Yeni işlem türü 0x04'ü tanımlar, bu işlem türünün TransactionPayload'u aşağıdaki içeriğin RLP kodlama serileştirme sonucudur:
rlp###[ zincir_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gaz_limit, varış yeri, değer, veri, erişim_listesi, yetkilendirme_listesi, signature_y_parity, signature_r, signature_s ](
Önemli olan, imzacıların EOA'sında gerçekleştirmek istedikleri kodu saklayan authorization_list nesnesinin eklenmiş olmasıdır. Kullanıcı, işlemi imzalarken aynı zamanda yürütülecek olan sözleşme kodunu da imzalar; bu, iki boyutlu bir liste olarak mevcuttur ve birden fazla işlem bilgisinin topluca saklanabileceğini gösterir, toplu işlemlerin gerçekleştirilmesine olanak tanır.
yetkilendirme_