EthCC konferansı çok zincirli hesap soyutlamasını tartışıyor: ERC-4337 ve yerel AA'nın teknik karşılaştırması

Çok Zincirli Hesap Soyutlama: Şifreleme Altyapısının Geleceğini Keşfetmek

8-11 Temmuz 2024 tarihleri arasında, Ethereum topluluk konferansı (EthCC) Belçika'nın Brüksel şehrinde gerçekleştirilecektir. Avrupa'nın en büyük Ethereum yıllık etkinliği olarak, bu konferans teknik ve topluluk gelişimine odaklanmaktadır.

Bu yılki Ethereum topluluk konferansında (EthCC 7), 350'den fazla blok zinciri endüstrisinin öncü düşünce lideri konuşma yaptı. Bunlar arasında, bir blok zinciri geliştiricisi davet edilerek "Geleceği Açığa Çıkarmak: Çok Zincirli Hesap Soyutlama Analizi" konulu bir konuşma yaptı.

Şifreleme altyapısının geleceği? Çoklu zincir hesap soyutlama analizi

Konuşma Noktalarının Özeti

  • Hesap soyutlama (AA) çekirdek olarak imza soyutlaması ve ödeme soyutlamasını içerir. İlki, kullanıcının herhangi bir doğrulama mekanizmasını seçmesine izin verirken, ikincisi çeşitli işlem ödeme seçenekleri sunar. Bu esneklik, güvenliği ve kullanıcı deneyimini büyük ölçüde artırır.

  • ERC-4337 ve yerel AA'nın doğrulama aşamasındaki giriş noktası fonksiyonları sabittir, ancak yürütme aşamasında yalnızca yerel AA sabit bir giriş noktasını korur. Farklı uygulama yöntemleri, işlem doğrulama kısıtlamaları ve işlem yürütme adımları konusunda kendine özgü özellikler taşır.

  • EVM uyumlu zincir üzerinde ERC-4337 uygularken, başlıca iki büyük zorlukla karşı karşıya kalınmaktadır: Rollup tasarımındaki protokol farklılıkları ve adres hesaplama yöntemlerindeki farklılıklar. Bu farklılıklar, L1 ve L2 arasında ERC-4337 uygularken bazı fark edilmesi zor geliştirme detaylarının ortaya çıkmasına neden olmaktadır.

Hesap Soyutlama Tanımı

hesap soyutlamanın tanımı

Hesap soyutlama (AA) esasen iki ana kavramı içerir:

  1. İmza soyutlama: Kullanıcılar, belirli bir dijital imza algoritması (örneğin ECDSA) ile sınırlı olmaksızın, istedikleri herhangi bir doğrulama mekanizmasını özgürce seçebilirler.

  2. Ödeme soyutlama: Kullanıcılar işlem ücretlerini ödemek için çeşitli yollar kullanabilir, örneğin yerel token yerine ERC-20 token kullanarak veya üçüncü tarafların işlemi finanse etmesiyle.

Bu esneklik sadece güvenliği artırmakla kalmaz, aynı zamanda kullanıcı deneyimini de optimize eder. Hesap soyutlamanın amacı, bu iki temel kavramı çeşitli yollarla gerçekleştirmektir.

ERC-4337 analizi

Şu anda, Ethereum protokolündeki dış sahipli hesapların (EOA) bazı kısıtlamaları bulunmaktadır, sabit imza yöntemleri ve ödeme tasarımı gibi. ERC-4337, daha esnek hesap yönetimi ve işlem işleme yöntemleri getirerek bu sorunları çözmektedir.

  • userOp yapısı: ERC-4337'de, kullanıcı userOp yapısını Bundler'a gönderir. Bundler, birden fazla userOp'u toplar ve handleOps fonksiyonunu çağırarak bunları EntryPoint sözleşmesine gönderir.

  • EntryPoint sözleşmesi: Bu sözleşme, bir işletim sistemi gibi işlemleri yönetir, ana işlevleri şunlardır:

    1. Hesap sözleşmesindeki validate fonksiyonu çağrılır, userOp'nin hesap sahibinin yetkisini aldığından emin olunur.
    2. Ücret alma.
    3. Hesap sözleşmesindeki execute fonksiyonunu çağırarak userOp'un hedef işlemini gerçekleştir.

Yerel AA Tanıtımı

Ethereum'da, hesaplar EOA ve sözleşme hesapları olarak ikiye ayrılır. Ancak, yerel AA'da, her hesap bir sözleşmedir ve işlem işleme mekanizması doğrudan blok zinciri protokolüne entegre edilmiştir.

Her blok zinciri ağındaki AA tasarımı:

  • ERC-4337 hesap soyutlama: Ethereum, Arbitrum, Optimism, Base, Linea, Scroll, Polygon PoS
  • ERC-4337'ye göre yerel hesap soyutlama: StarkNet ve zkSync dönemi
  • Gizlilik tasarımı olan yerel hesap soyutlama: Aztec

şifreleme altyapısının geleceği? Çok zincirli hesap soyutlama analizi

ERC-4337 ve Yerel AA Arasındaki Farklar

işletim sistemi rolü

AA işletim sistemi aşağıdaki sorunları çözmelidir:

  • Gaz fiyatlarının belirleyicisi
  • İşlem sırasını belirleyen ve bellek havuzundaki konum
  • Giriş noktası fonksiyonunun tetikleyicisi
  • İşlem işleme sürecinin belirleyici faktörleri

ERC-4337'de bu roller Bundler ve EntryPoint Sözleşmesi tarafından birlikte yerine getirilir.

Yerel AA'da, kullanıcı userOps'unu resmi sunucunun operatörüne/sıralayıcısına gönderir, Bundler ve EntryPoint Sözleşmesi yerine.

StarkNet'te, Sequencer bu tüm görevleri yerine getirmekten sorumludur.

zkSync Era'nın ana özelliği, Operator'ün bootloader (sistem akıllı sözleşmesi) ile birlikte çalışması gerektiğidir. Bootloader, yeni blokları açmaktan, blok parametrelerini ve Gas parametrelerini tanımlamaktan sorumludur ve Operator'den gelen işlemleri doğrulamak için alır.

sözleşme arayüzü

Üç adımın bulunmasından dolayı, hesap sözleşmesi arayüzü farklı uygulamalarda benzerlik gösterir, bu giriş noktası fonksiyonları yalnızca AA OS tarafından çağrılabilir:

  • ERC-4337: Kullanıcı işlemlerini doğrulama
  • zkSync: işlemleri doğrulama, işlem ödemesi, işlemleri yürütme
  • StarkNet:execute、validate、validate_declare、validate_deploy

ERC-4337 ve yerel AA'de, "doğrulama" aşamasının giriş noktası fonksiyonu sabittir, ancak "uygulama" aşamasında yalnızca yerel AA'deki giriş noktası sabittir.

doğrulama adımlarının kısıtlaması

Doğrulama işlemlerinin maliyet sınırlaması olmadığı için, saldırganlar bellek havuzuna DoS saldırısı düzenleyebilir ve bu da paketleyiciyi (EIP-4337) veya operatörleri/sıralayıcıları (yerel AA) etkileyebilir.

EIP-4337, yasaklı işlem kodlarını ve depolama erişim kısıtlamalarını tanımlar. zkSync Era, bazı OpCode kullanımını gevşetmiştir:

  • Sözleşme mantığı yalnızca kendi depolama alanına erişebilir.
  • Sözleşme mantığı küresel değişkenlere, örneğin blok numarasına erişemez.
  • StarkNet dış sözleşmelerin çağrılmasına izin vermez.

yürütme adımlarının sınırlamaları

zkSync'te, sistem çağrısını yürütmek için sistem bayrağının varlığını onaylamak gerekir. Örneğin, nonce artırmak için NonceHolder ile etkileşimde bulunmak, sözleşme dağıtmak için ise ContractDeployer ile etkileşimde bulunmak gerekir.

ERC-4337 ve StarkNet, yürütme aşamasında özel bir kısıtlama yoktur.

rastgele sayı işleme

  • ERC-4337: Giriş noktası rastgele sayı tasarımı 192 bit anahtar değeri ile 64 bit rastgele değerini ayırıyor.
  • zkSync: NonceHolder sistem sözleşmesi nonce'u yönetir, sıkı bir artış sağlar.
  • StarkNet: nonce de kesinlikle artan bir şekilde ilerler, ancak belirli bir sözleşme yönetimi yoktur.

İlk işlem dağıtımı

  • ERC-4337: userOp yapısında initcode alanı, ilk userOp'da göndericiyi (hesap sözleşmesi) dağıtmak için kullanılır.
  • StarkNet ve zkSync: Kullanıcıların hesap sözleşmesini dağıtmak için ilk işlemlerini operatöre/sıralayıcıya göndermeleri gerekmektedir.

zkSync özel tasarım

zkSync'te, ETH'yi Ethereum EOA'dan doğrudan transfer ederseniz, özel bir hesap sözleşmesi dağıtmaya gerek kalmadan, kullanıcı aynı adrese sahip varsayılan bir hesap alır. Bu hesap, Ethereum EOA'sı gibi çalışabilir ve ilgili Ethereum EOA özel anahtarı tarafından kontrol edilir.

Bu hesap türü version None'dır, version1 değil. Kullanıcı, DefaultAccount'ın fonksiyonlarını çağırmaz çünkü çekirdek alanında herhangi bir kod dağıtılmamıştır.

Şifreleme altyapısının geleceği? Çok zincirli hesap soyutlama analizi

L1 ve L2'nin 4337 Farklılıkları

EVM uyumlu zincirler üzerinde ERC-4337'yi uygulamanın başlıca iki kritik farkı vardır: protokol farkı ve adres farkı.

protokol farkı

Rollup tasarımında, L2 verileri güvenlik ve hesaplaşma sağlamak için L1'e yüklemelidir. ERC-4337'de, bu yükleme süreciyle ilgili maliyetler (örneğin, L1 güvenlik ücreti ve blob ücreti) ön doğrulama Gazı'na dahil edilmelidir. Ön doğrulama Gazı'ndaki uygun yükleme maliyetlerini belirlemek önemli bir zorluktur.

adres farkı

zkSync ERA'nın create fonksiyonundaki adres kodlama yöntemi Ethereum ve OP toplamasından farklıdır. Ayrıca, StarkNet adres hesaplaması için benzersiz bir hash fonksiyonu kullanmaktadır.

EVM uyumlu zincirlerdeki ERC-4337 bağlamında, genellikle adres hesaplamasının her zincirde tutarlı olduğunu varsayıyoruz. Ancak, gözden kaçabilecek bir detay, Ethereum ve L2'deki ERC-4337 uygulamaları arasında hesap sözleşmesi adreslerinin farklı olmasına neden olabilir.

Ana sorun, sert çatalda yeni opcode'ların eklenmesidir. Örneğin, L2 zinciri Şanghay sert çatalını desteklemiyorsa ve derleme sırasında EVM versiyonu belirtilmemişse, push0'ın eklenmesi byte kodunda bir değişikliğe yol açacaktır, Solidity kodu aynı olsa bile.

şifreleme altyapısının geleceği? Çok zincirli hesap soyutlama analizi

View Original
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.
  • Reward
  • 5
  • Share
Comment
0/400
StableGeniusvip
· 15h ago
*esneyerek* başka bir aa konuşması... bu filmi daha önce gördüm, ampirik olarak sadece eter maxilerinin başa çıkma şekli.
View OriginalReply0
OfflineNewbievip
· 15h ago
Bakın kim hala zıplıyor
View OriginalReply0
TokenVelocityvip
· 15h ago
Diğer projelerin tüm zincirlerine bakarız...
View OriginalReply0
PessimisticLayervip
· 16h ago
Görünüyor ki bu sadece yüzeysel bir çözüm.
View OriginalReply0
AllInDaddyvip
· 16h ago
AA bu tur kazanabilir
View OriginalReply0
  • Pin
Trade Crypto Anywhere Anytime
qrCode
Scan to download Gate app
Community
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)