Çok Zincirli Hesap Soyutlama Analizi: Şifreleme Altyapısının Geleceğini Keşfetmek
2024年7月8日至11日, Ethereum topluluğu toplantısı (EthCC) Belçika'nın Brüksel şehrinde düzenlenecek, bu Avrupa'nın en büyük Ethereum yıllık etkinliği olup, teknoloji ve topluluğa odaklanmaktadır.
Bu yılki Ethereum topluluğu konferansı (EthCC 7)'de blockchain endüstrisinin ön saflarında aktif olan 350'den fazla fikir önderi konuşma yaptı. Bunlar arasında bir blockchain geliştiricisi davet edildi ve konferansta "Geleceği Açıklamak: Çok Zincirli Hesap Soyutlama Analizi" başlıklı bir konuşma yaptı.
Konuşma Özeti Hızlı Bakış:
hesap soyutlama(AA) temel olarak iki ana noktayı içerir: imza soyutlaması ve ödeme soyutlaması. İmza soyutlaması, kullanıcının istediği doğrulama mekanizmasını seçmesine olanak tanırken, ödeme soyutlaması ise çeşitli işlem ödeme seçeneklerini kullanmaya izin verir. Bu esneklik, daha güvenli ve daha iyi bir kullanıcı deneyimi sunar.
ERC-4337 ve yerel AA'de, "doğrulama" aşamasındaki giriş fonksiyonu sabittir, ancak "uygulama" aşamasında yalnızca yerel AA'deki giriş noktası sabittir. Doğrulama işlemlerinin kısıtlamaları ve uygulama işlemlerinin adımları, farklı uygulamalarda kendilerine özgü özellikler ve kısıtlamalara sahiptir.
EVM uyumlu zincir üzerinde ERC-4337 uygulandığında, iki ana fark vardır: Rollup tasarımındaki protokol farklılıkları ve adres hesaplama yöntemindeki farklılıklar, L1 ve L2 arasında ERC-4337 uygularken dikkat edilmesi zor olan geliştirme detaylarının ortaya çıkmasına neden olmaktadır.
Aşağıda konuşmanın tam metni:
Herkese merhaba, bugün size ERC-4337 ve Yerel AA kavramlarını tanıtacağım, aralarındaki farkları tartışacağım ve L1 ile L2'nin 4337 standardının ana farklarına odaklanacağım.
hesap soyutlama tanıtımı
1. Hesap soyutlama nedir
hesap soyutlama(AA) temel olarak iki ana noktayı içerir: imza soyutlama ve ödeme soyutlama.
İmza soyutlama: Kullanıcı, yalnızca belirli sayısal imza algoritmaları ( gibi ECDSA ) ile sınırlı kalmadan, istediği herhangi bir doğrulama mekanizmasını seçebilir.
Ödeme soyutlama: Kullanıcılar, yerel varlıklar yerine ERC-20 varlıkları kullanarak veya üçüncü tarafların işlemleri finanse etmesine izin vererek çeşitli işlem ödeme seçeneklerini kullanabilir.
Bu esneklik, daha güvenli ve daha iyi bir kullanıcı deneyimi sunar. Hesap soyutlamanın hedefi, bu iki ana noktayı çeşitli yollarla gerçekleştirmektir.
2. ERC-4337 Nedir
Şu anda, Ethereum protokolündeki dışa sahip hesap (EOA) bazı sınırlamalara sahiptir, örneğin sabit imza yöntemi ve ödeme tasarımı. 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 bunları handleOps fonksiyonunu çağırarak EntryPoint sözleşmesine gönderir.
EntryPoint sözleşmesi: Bu sözleşme, işletim sistemi gibi işlemleri yönetir, ana işlevleri şunları içerir:
Hesap sözleşmesindeki execute fonksiyonunu çağırarak userOp'un hedef işlemini gerçekleştir.
3. Yerel AA nedir
Ethereum'da, hesaplar EOA ve sözleşme hesapları olarak 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.
Yerel hesap soyutlama ERC-4337'ye uygundur: StarkNet & zkSync dönemi
Gizlilik tasarımına sahip yerel hesap soyutlama: Aztec
Eğer Aztec Native AA veya EIP-3074, EIP-7702 ile ilgileniyorsanız, bugün ERC-4337 sonrasındaki yerel AA'ya odaklanacağız.
ERC-4337 ve yerel AA arasındaki fark
1. İşletim Sistemi Rolü
AA OS aşağıdaki soruları yanıtlamalı:
Gaz fiyatını kim belirliyor?
İşlem sırasını kim belirler? Bellek havuzu nerede?
Kim giriş noktası fonksiyonunu tetikledi?
İşlem işleme sürecini ne belirler?
ERC-4337'de, bu roller Bundler ve EntryPoint Sözleşmesi aracılığıyla işbirliği içinde gerçekleştirilir.
Yerel AA'de, kullanıcı userOps'larını resmi sunucunun operatörüne/sıralayıcısına gönderir, Bundler ve EntryPoint Sözleşmesi yerine.
StarkNet'te, Sequencer bu görevlerin tümünü yerine getirir.
zkSync'te, Era'nın diğer AA uygulamalarından temel farkı, Operator'ın bootloader( sistem sözleşmesi) ile birlikte çalışması gerektiğidir. Bootloader yeni bir blok açar, parametrelerini tanımlar(, blok parametreleri ve diğer Gas parametrelerini) içerir ve doğrulama için Operator'dan gelen işlemleri alır.
2. Sözleşme Arayüzü
Üç adımın varlığı nedeniyle, hesap sözleşmesi arayüzü farklı uygulamalarda benzerlik göstermektedir, bu giriş noktası işlevleri yalnızca AA OS tarafından çağrılabilir:
ERC-4337: Kullanıcı işlemlerinin doğrulanması
zkSync: işlemleri doğrulama, işlem ödemesi, işlem gerçekleştirme
ERC-4337 ve yerel AA'da, "doğrulama" aşamasının giriş noktası fonksiyonu sabittir, ancak "uygulama" aşamasında yalnızca yerel AA'daki giriş noktası sabittir.
3. Doğrulama Adımlarının Sınırları
İşlemleri doğrulamanın maliyet kısıtlaması olmadığı için ( esasen, işlemleri doğrulamak bir görünüm fonksiyonunu çağırmaktır ), saldırganlar bellek havuzuna DoS saldırısı yapabilir ve böylece paketleyici ( EIP-4337) veya operatör/sıralayıcı ( yerel AA )'ı bozabilir.
EIP-4337, hangi işlem kodlarının yasaklandığını ve depolama erişiminin nasıl kısıtlandığını tanımlar. zkSync Era bazı OpCode'ların kullanımını gevşetmiştir:
Sözleşme mantığı yalnızca kendi depolama alanına erişebilir. Eğer hesap sözleşmesinin adresi adres A ise, şunu erişebilir:
Adres A'ya ait depolama yeri
Herhangi bir diğer adres A'ya ait depolama yeri
Herhangi bir başka adrese ait depolama yeri keccak256(A || X): Bu, doğrudan adresi bir haritadaki anahtar olarak kullanmak anlamına gelir ( örneğin, harita ( adres => değer ) 0192837464656574839201, keccak256)A || X('e erişmekle eşdeğerdir. Örneğin, ERC-20 sözleşmesindeki varlık bakiyesi.
Sözleşme mantığı küresel değişkenlere erişemez, örneğin blok numarası. StarkNet ayrıca dış sözleşmelerin çağrılmasına da izin vermez.
4. İşlem Adımlarının Sınırları
zkSync'te, sistem çağrısı yapmak için sistem bayrağının varlığını onaylamak gerekir. Örneğin, nonce'u artırmanın tek yolu NonceHolder ile etkileşimde bulunmaktır, ve sözleşme dağıtmak ise ContractDeployer ile etkileşim gerektirir. Sistem bayrakları, hesap geliştiricilerinin sistem sözleşmeleri ile bilinçli bir şekilde etkileşimde bulunmasını sağlar.
ERC-4337 ve StarkNet'te, yürütme aşamasında özel bir kısıtlama yoktur.
5. Rastgele Sayı
ERC-4337'de, giriş noktası rastgele sayı tasarımı 192 bit anahtar değerini ve 64 bit rastgele sayı değerini ayırır.
zkSync'te, NonceHolder sistem sözleşmesi nonce'yi yönetir, sıkı bir şekilde artışını sağlar, yani rastgele sayıya 1 ekler.
StarkNet'te, nonce de kesinlikle artmaktadır, ancak belirli bir sözleşme tarafından yönetilen soyut bir nonce yoktur.
6. İlk işlemle dağıtım yapın
ERC-4337, userOp yapısında initcode alanını içerir, böylece ilk userOp'unda gönderen ) hesap sözleşmesini ( dağıtabilir.
StarkNet ve zkSync'te, kullanıcıların hesap sözleşmesini dağıtmak için ilk işlemi operatöre/sıralayıcıya göndermeleri gerekir.
7. zkSync'teki özel tasarım
Eğer ETH'yi Ethereum EOA'dan zkSync'e doğrudan transfer ederseniz, özel bir hesap sözleşmesi dağıtmadan, aynı adrese sahip varsayılan bir hesap alacaksınız. Bu hesap, Ethereum EOA gibi çalışabilir ve ayrıca ilgili Ethereum EOA'nın özel anahtarıyla kontrol edilir.
Bu hesap türü None versiyonudur, version1 değil. DefaultAccount'ın fonksiyonlarını çağırmak mümkün değil, çünkü çekirdek alanında herhangi bir kod dağıtılmamıştır.
![şifreleme altyapısının geleceği? Çok zincirli hesap soyutlama analizi])https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp(
) L1'in 4337'si ile L2'nin 4337'si arasındaki fark
EVM uyumlu zincir üzerinde ERC-4337 uygulamanın iki ana farkı vardır: protokol farkları ve adres farkları.
1. Protokol Farklılıkları
Rollup tasarımında, L2'nin güvenlik ve hesaplama için verileri L1'e yüklemesi gerekir. ERC-4337 bağlamında, bu yükleme süreciyle ilgili maliyetler, örneğin L1 güvenlik ücreti ve blob ücreti, ön doğrulama Gas'ına dahil edilmelidir. Ön doğrulama Gas'ında uygun yükleme maliyetlerini belirlemek önemli bir zorluktur.
2. Adres Farklılıkları
zkSync ERA'nın create fonksiyonundaki adres kodlama yöntemi, Ethereum ve OP toplamasından farklıdır. Ayrıca, StarkNet adres hesaplama için benzersiz bir hash fonksiyonu kullanmaktadır. EVM uyumlu zincirlerdeki ERC-4337 bağlamında, genellikle adres hesaplamanın her zincirde tutarlı olduğu varsayılmaktadır. Ancak, Ethereum ve L2'deki ERC-4337 uygulamaları arasında hesap sözleşmesi adreslerinin farklı olmasına neden olabilecek dikkate değer bir ayrıntı vardır.
Ana sorun, sert çatallara yeni işlem kodları eklemektir. Örneğin, eğer L2 zinciri Şanghay sert çatalını desteklemiyorsa ve derleme sırasında EVM sürümü belirtilmemişse, push0'ın eklenmesi, byte kodunun değişmesine neden olacaktır, hatta Solidity kodu aynı olsa bile.
Sonuç
Yukarıda hesap soyutlama ile ilgili bazı bilgiler bulunmaktadır. Herhangi bir sorunuz varsa, Twitter'da beni bulabilirsiniz.
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.
12 Likes
Reward
12
7
Share
Comment
0/400
BearMarketBard
· 07-10 04:37
Hesap soyutlamanın hala tam olarak anlaşılamadığını hissediyorum.
View OriginalReply0
GateUser-a606bf0c
· 07-10 04:30
Hayata devam ettirmek AA
View OriginalReply0
MetaReckt
· 07-07 05:09
Bu kadar hızlı gelişim, yerel AA'nın bile geldiğini gösteriyor.
View OriginalReply0
GateUser-0717ab66
· 07-07 05:07
Bu konunun çoktan yapılması gerekiyordu.
View OriginalReply0
LiquidatedNotStirred
· 07-07 05:04
AA giderek daha popüler hale geliyor, devrimi dört gözle bekliyorum.
Çok zincirli hesap soyutlama karşılaştırması: ERC-4337 ile yerel AA arasındaki farklar ve L1/L2 uygulama farklılıkları
Çok Zincirli Hesap Soyutlama Analizi: Şifreleme Altyapısının Geleceğini Keşfetmek
2024年7月8日至11日, Ethereum topluluğu toplantısı (EthCC) Belçika'nın Brüksel şehrinde düzenlenecek, bu Avrupa'nın en büyük Ethereum yıllık etkinliği olup, teknoloji ve topluluğa odaklanmaktadır.
Bu yılki Ethereum topluluğu konferansı (EthCC 7)'de blockchain endüstrisinin ön saflarında aktif olan 350'den fazla fikir önderi konuşma yaptı. Bunlar arasında bir blockchain geliştiricisi davet edildi ve konferansta "Geleceği Açıklamak: Çok Zincirli Hesap Soyutlama Analizi" başlıklı bir konuşma yaptı.
Konuşma Özeti Hızlı Bakış:
Aşağıda konuşmanın tam metni:
Herkese merhaba, bugün size ERC-4337 ve Yerel AA kavramlarını tanıtacağım, aralarındaki farkları tartışacağım ve L1 ile L2'nin 4337 standardının ana farklarına odaklanacağım.
hesap soyutlama tanıtımı
1. Hesap soyutlama nedir
hesap soyutlama(AA) temel olarak iki ana noktayı içerir: imza soyutlama ve ödeme soyutlama.
Bu esneklik, daha güvenli ve daha iyi bir kullanıcı deneyimi sunar. Hesap soyutlamanın hedefi, bu iki ana noktayı çeşitli yollarla gerçekleştirmektir.
2. ERC-4337 Nedir
Şu anda, Ethereum protokolündeki dışa sahip hesap (EOA) bazı sınırlamalara sahiptir, örneğin sabit imza yöntemi ve ödeme tasarımı. ERC-4337, daha esnek hesap yönetimi ve işlem işleme yöntemleri getirerek bu sorunları çözmektedir.
3. Yerel AA nedir
Ethereum'da, hesaplar EOA ve sözleşme hesapları olarak 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 bir blockchain ağındaki AA tasarımı:
Eğer Aztec Native AA veya EIP-3074, EIP-7702 ile ilgileniyorsanız, bugün ERC-4337 sonrasındaki yerel AA'ya odaklanacağız.
ERC-4337 ve yerel AA arasındaki fark
1. İşletim Sistemi Rolü
AA OS aşağıdaki soruları yanıtlamalı:
ERC-4337'de, bu roller Bundler ve EntryPoint Sözleşmesi aracılığıyla işbirliği içinde gerçekleştirilir.
Yerel AA'de, kullanıcı userOps'larını resmi sunucunun operatörüne/sıralayıcısına gönderir, Bundler ve EntryPoint Sözleşmesi yerine.
StarkNet'te, Sequencer bu görevlerin tümünü yerine getirir.
zkSync'te, Era'nın diğer AA uygulamalarından temel farkı, Operator'ın bootloader( sistem sözleşmesi) ile birlikte çalışması gerektiğidir. Bootloader yeni bir blok açar, parametrelerini tanımlar(, blok parametreleri ve diğer Gas parametrelerini) içerir ve doğrulama için Operator'dan gelen işlemleri alır.
2. Sözleşme Arayüzü
Üç adımın varlığı nedeniyle, hesap sözleşmesi arayüzü farklı uygulamalarda benzerlik göstermektedir, bu giriş noktası işlevleri yalnızca AA OS tarafından çağrılabilir:
ERC-4337 ve yerel AA'da, "doğrulama" aşamasının giriş noktası fonksiyonu sabittir, ancak "uygulama" aşamasında yalnızca yerel AA'daki giriş noktası sabittir.
3. Doğrulama Adımlarının Sınırları
İşlemleri doğrulamanın maliyet kısıtlaması olmadığı için ( esasen, işlemleri doğrulamak bir görünüm fonksiyonunu çağırmaktır ), saldırganlar bellek havuzuna DoS saldırısı yapabilir ve böylece paketleyici ( EIP-4337) veya operatör/sıralayıcı ( yerel AA )'ı bozabilir.
EIP-4337, hangi işlem kodlarının yasaklandığını ve depolama erişiminin nasıl kısıtlandığını tanımlar. zkSync Era bazı OpCode'ların kullanımını gevşetmiştir:
4. İşlem Adımlarının Sınırları
zkSync'te, sistem çağrısı yapmak için sistem bayrağının varlığını onaylamak gerekir. Örneğin, nonce'u artırmanın tek yolu NonceHolder ile etkileşimde bulunmaktır, ve sözleşme dağıtmak ise ContractDeployer ile etkileşim gerektirir. Sistem bayrakları, hesap geliştiricilerinin sistem sözleşmeleri ile bilinçli bir şekilde etkileşimde bulunmasını sağlar.
ERC-4337 ve StarkNet'te, yürütme aşamasında özel bir kısıtlama yoktur.
5. Rastgele Sayı
6. İlk işlemle dağıtım yapın
7. zkSync'teki özel tasarım
Eğer ETH'yi Ethereum EOA'dan zkSync'e doğrudan transfer ederseniz, özel bir hesap sözleşmesi dağıtmadan, aynı adrese sahip varsayılan bir hesap alacaksınız. Bu hesap, Ethereum EOA gibi çalışabilir ve ayrıca ilgili Ethereum EOA'nın özel anahtarıyla kontrol edilir.
Bu hesap türü None versiyonudur, version1 değil. DefaultAccount'ın fonksiyonlarını çağırmak mümkün değil, çünkü çekirdek alanında herhangi bir kod dağıtılmamıştır.
![şifreleme altyapısının geleceği? Çok zincirli hesap soyutlama analizi])https://img-cdn.gateio.im/webp-social/moments-52ccc7ebff94f6c548dd55bc61aad309.webp(
) L1'in 4337'si ile L2'nin 4337'si arasındaki fark
EVM uyumlu zincir üzerinde ERC-4337 uygulamanın iki ana farkı vardır: protokol farkları ve adres farkları.
1. Protokol Farklılıkları
Rollup tasarımında, L2'nin güvenlik ve hesaplama için verileri L1'e yüklemesi gerekir. ERC-4337 bağlamında, bu yükleme süreciyle ilgili maliyetler, örneğin L1 güvenlik ücreti ve blob ücreti, ön doğrulama Gas'ına dahil edilmelidir. Ön doğrulama Gas'ında uygun yükleme maliyetlerini belirlemek önemli bir zorluktur.
2. Adres Farklılıkları
zkSync ERA'nın create fonksiyonundaki adres kodlama yöntemi, Ethereum ve OP toplamasından farklıdır. Ayrıca, StarkNet adres hesaplama için benzersiz bir hash fonksiyonu kullanmaktadır. EVM uyumlu zincirlerdeki ERC-4337 bağlamında, genellikle adres hesaplamanın her zincirde tutarlı olduğu varsayılmaktadır. Ancak, Ethereum ve L2'deki ERC-4337 uygulamaları arasında hesap sözleşmesi adreslerinin farklı olmasına neden olabilecek dikkate değer bir ayrıntı vardır.
Ana sorun, sert çatallara yeni işlem kodları eklemektir. Örneğin, eğer L2 zinciri Şanghay sert çatalını desteklemiyorsa ve derleme sırasında EVM sürümü belirtilmemişse, push0'ın eklenmesi, byte kodunun değişmesine neden olacaktır, hatta Solidity kodu aynı olsa bile.
Sonuç
Yukarıda hesap soyutlama ile ilgili bazı bilgiler bulunmaktadır. Herhangi bir sorunuz varsa, Twitter'da beni bulabilirsiniz.
![Şifreleme altyapısının geleceği? Çoklu zincir hesap soyutlaması analizi]###https://img-cdn.gateio.im/webp-social/moments-180475deec41c605ac65be9b2b494048.webp(