Çok Zincirli Hesap Soyutlama Analizi: Şifreleme Altyapısının Gelecek Yönü
2024'te 8-11 Temmuz tarihleri arasında, Ethereum topluluk konferansı (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 odaklanacak.
Bu yılki Ethereum topluluğu toplantısında (EthCC 7)'de 350'den fazla blok zinciri sektöründen öncü düşünce lideri konuşma yaptı. Bunlardan bir geliştirici davet edildi ve "Geleceği Açığa Çıkarmak: Çok Zincirli Hesap Soyutlaması Analizi" başlıklı bir konuşma yaptı.
Konuşma Özeti Hızlı Bakış:
hesap soyutlama(AA) esasen iki ana noktayı içermektedir: imza soyutlaması ve ödeme soyutlaması. İmza soyutlaması, kullanıcının istediği herhangi bir doğrulama mekanizmasını seçmesine olanak tanırken, ödeme soyutlaması çeşitli işlem ödeme seçeneklerinin kullanılmasına izin verir. Bu esneklik, daha güvenli ve daha iyi bir kullanıcı deneyimi sunar.
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. Doğrulama işlemlerinin kısıtlamaları ve uygulama işlemlerinin adımları, farklı uygulamalarda kendine özgü özellikler ve kısıtlamalara sahiptir.
EVM uyumlu zincir üzerinde ERC-4337'nin uygulanmasında iki önemli fark vardır: Rollup tasarımındaki protokol farklılıkları ve adres hesaplama yöntemlerindeki farklılıklar, ERC-4337'nin L1 ve L2 arasında uygulanması sırasında gözden kaçabilecek geliştirme ayrıntılarına yol açar.
Aşağıda konuşmanın tam metni:
Herkese merhaba, bugün sizlere ERC-4337 ve Yerel AA kavramlarını tanıtacağım, bunlar arasındaki farkları tartışacağım ve L1 ile L2'nin 4337 standardının ana farklılıklarını vurgulayacağım.
Hesap Soyutlama Tanıtımı
1. Hesap soyutlama nedir
hesap soyutlama(AA) temel olarak iki ana noktayı içerir: imza soyutlaması ve ödeme soyutlaması.
İmza soyutlama: Kullanıcılar, yalnızca belirli dijital imza algoritmaları ile sınırlı olmamak üzere, istedikleri herhangi bir doğrulama mekanizmasını seçebilirler, örneğin ECDSA(.
Ödeme soyutlama: Kullanıcılar, yerel varlık ödemeleri yerine ERC-20 varlıkları kullanarak veya üçüncü şahısların işlemleri desteklemesine izin vererek çeşitli işlem ödeme seçeneklerini kullanabilirler.
Bu esneklik daha güvenli ve daha iyi bir kullanıcı deneyimi sunar. Hesap soyutlamanın hedefi bu iki önemli noktayı çeşitli yollarla gerçekleştirmektir.
![Şifreleme altyapısının geleceği? Çok zincirli hesap soyutlama analizi])https://img-cdn.gateio.im/webp-social/moments-fbfb77042d4165310922e1ee85da71d9.webp(
) 2. ERC-4337 nedir
Şu anda, Ethereum protokolündeki dışa sahip hesap ###EOA( bazı sınırlamalara sahiptir, örneğin sabit imza yöntemleri ve ödeme tasarımı. ERC-4337, daha esnek hesap yönetimi ve işlem işleme yöntemleri sunarak 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, işletim sistemi gibi işlemleri yönetir, ana işlevleri şunlardır:
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 ikiye ayrılır. Ancak, yerel AA'da, her hesap bir sözleşmedir ve işlem işleme mekanizması doğrudan blokzincir 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'nın Farkı
1. İşletim Sistemi Rolü
AA OS aşağıdaki soruları yanıtlamalı:
Gas fiyatını kim belirliyor?
İşlem sırasını kim belirler? Bellek havuzu nerede?
Kim giriş noktası işlevini 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 yaparak tamamlanır.
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 getirmekten sorumludur.
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 Gaz parametreleri( dahil olmak üzere ve doğrulama için Operator'den gelen işlemleri alır.
![şifreleme altyapısının geleceği? Çok zincirli hesap soyutlama analizi])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(
) 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ı fonksiyonları yalnızca AA OS tarafından çağrılabilir:
ERC-4337: Kullanıcı işlemlerini doğrulama
zkSync: işlem doğrulama, ödeme işlemleri, işlem gerçekleştirme
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.
3. Doğrulama adımlarının kısıtlamaları
Doğrulama işlemlerinin maliyet sınırlaması olmadığı için ###, doğrulama işlemleri esasen ( görünüm fonksiyonunu çağırmaktır. Saldırganlar, hafıza havuzuna DoS saldırısı yaparak ) bağlayıcıyı bozabilirler. ( EIP-4337) veya operatör/sıralayıcı ( yerel AA).
EIP-4337, hangi işlem kodlarının yasaklandığını ve depolama erişimini nasıl kısıtlayacağı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, şunlara erişebilir:
Adres A'ya ait depolama alanı
Herhangi bir diğer adres A'ya ait depolama yuvası
Herhangi bir başka adrese ait depolama alanı keccak256 (A || X): bu, adresi doğrudan bir haritadaki anahtar olarak kullanmak anlamına gelir ( örneğin, harita (address => value) ), keccak256 (A || X) alanına erişmekle eşdeğerdir. Örneğin, ERC-20 sözleşmesindeki varlık bakiyesi.
Sözleşme mantığı, küresel değişkenlere, örneğin blok numarasına erişemez. StarkNet ayrıca dış sözleşmelerin çağrılmasına izin vermez.
4. Adım yürütme kısıtlamaları
zkSync'te, sistem çağrıları gerçekleştirmek 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ğıtımı ise ContractDeployer ile etkileşim gerektirir. Sistem bayrağı, hesap geliştiricilerinin sistem sözleşmeleriyle bilinçli bir şekilde etkileşimde bulunmaları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 değerini ayırır.
zkSync'te, NonceHolder sistem sözleşmesi nonce'u yönetir, sıkı bir şekilde artmasını sağlar, yani rastgele sayıyı 1 artırır.
StarkNet'te nonce de kesinlikle artış gösterir, ancak belirli bir sözleşme tarafından yönetilen soyut bir nonce yoktur.
6. İlk işlemi dağıtım için kullanı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 doğrudan Ethereum EOA'dan zkSync'e aktarır ve özel bir hesap sözleşmesi dağıtmanıza gerek yoksa, aynı adrese sahip varsayılan bir hesap alırsınız. Bu hesap, Ethereum EOA gibi çalışabilir ve aynı zamanda ilgili Ethereum EOA'nın özel anahtarı ile kontrol edilir.
Bu hesap türü None sürümü ve version1 değil. DefaultAccount'ın fonksiyonlarını çağırmadığınızdan emin olun, çünkü bu çekirdek alanında herhangi bir kod dağıtımı yapılmamıştır.
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 farkı ve adres farkı.
1. Protokol Farklılıkları
Rollup tasarımında, L2 verilerin güvenlik ve hesaplama için L1'e yüklenmesi gerekmektedir. ERC-4337 bağlamında, bu yükleme işlemiyle 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 ücretlerini belirlemek önemli bir zorluktur.
2. Adres farklılığı
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 kullanır. EVM uyumlu zincirlerde ERC-4337 bağlamında, adres hesaplamanın her zincirde tutarlı olduğunu varsayıyoruz. Ancak, Ethereum ve L2'deki ERC-4337 uygulamaları arasında hesap sözleşmesi adresinin farklı olmasına neden olabilecek dikkat edilmesi zor bir detay vardır.
Ana sorun, sert çatallarda yeni işlem kodlarının eklenmesidir. Ö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, bayt kodunu değiştirecektir, bu durumda Solidity kodu aynı olsa bile.
Sonuç
Yukarıda, hesap soyutlama ile ilgili bazı temel kavramlar ve uygulama farklılıkları bulunmaktadır. Farklı zincirlerdeki hesap soyutlama uygulamalarının ortak bir hedefe sahip olmasına rağmen, belirli ayrıntılarda birçok farklılık göstermektedir. Bu farklılıklar, her bir zincirin tasarım ve optimizasyon konusundaki benzersiz değerlendirmelerini yansıtmaktadır ve geliştiricilere ve kullanıcılara daha fazla seçim alanı sunmaktadır. Gelecekte, teknolojinin sürekli gelişimiyle birlikte, daha yenilikçi hesap soyutlama uygulamalarını görmeyi umuyoruz, böylece blockchain ekosistemine daha iyi bir kullanıcı deneyimi ve daha güçlü işlevsellik kazandırılacaktır.
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.
8 Likes
Reward
8
6
Repost
Share
Comment
0/400
HashBandit
· 07-25 01:52
meh... başka bir AA heyecan treni geliyor. dürüst olmak gerekirse, madencilik günlerimde bu şatafatlı şeye ihtiyacımız yoktu, sadece saf hashpower ve kar.
Çok zincirli hesap soyutlama karşılaştırması: ERC-4337 ile yerel AA'nın ana farkları
Çok Zincirli Hesap Soyutlama Analizi: Şifreleme Altyapısının Gelecek Yönü
2024'te 8-11 Temmuz tarihleri arasında, Ethereum topluluk konferansı (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 odaklanacak.
Bu yılki Ethereum topluluğu toplantısında (EthCC 7)'de 350'den fazla blok zinciri sektöründen öncü düşünce lideri konuşma yaptı. Bunlardan bir geliştirici davet edildi ve "Geleceği Açığa Çıkarmak: Çok Zincirli Hesap Soyutlaması Analizi" başlıklı bir konuşma yaptı.
Konuşma Özeti Hızlı Bakış:
hesap soyutlama(AA) esasen iki ana noktayı içermektedir: imza soyutlaması ve ödeme soyutlaması. İmza soyutlaması, kullanıcının istediği herhangi bir doğrulama mekanizmasını seçmesine olanak tanırken, ödeme soyutlaması çeşitli işlem ödeme seçeneklerinin kullanılmasına izin verir. Bu esneklik, daha güvenli ve daha iyi bir kullanıcı deneyimi sunar.
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. Doğrulama işlemlerinin kısıtlamaları ve uygulama işlemlerinin adımları, farklı uygulamalarda kendine özgü özellikler ve kısıtlamalara sahiptir.
EVM uyumlu zincir üzerinde ERC-4337'nin uygulanmasında iki önemli fark vardır: Rollup tasarımındaki protokol farklılıkları ve adres hesaplama yöntemlerindeki farklılıklar, ERC-4337'nin L1 ve L2 arasında uygulanması sırasında gözden kaçabilecek geliştirme ayrıntılarına yol açar.
Aşağıda konuşmanın tam metni:
Herkese merhaba, bugün sizlere ERC-4337 ve Yerel AA kavramlarını tanıtacağım, bunlar arasındaki farkları tartışacağım ve L1 ile L2'nin 4337 standardının ana farklılıklarını vurgulayacağım.
Hesap Soyutlama Tanıtımı
1. Hesap soyutlama nedir
hesap soyutlama(AA) temel olarak iki ana noktayı içerir: imza soyutlaması ve ödeme soyutlaması.
Bu esneklik daha güvenli ve daha iyi bir kullanıcı deneyimi sunar. Hesap soyutlamanın hedefi bu iki önemli noktayı çeşitli yollarla gerçekleştirmektir.
![Şifreleme altyapısının geleceği? Çok zincirli hesap soyutlama analizi])https://img-cdn.gateio.im/webp-social/moments-fbfb77042d4165310922e1ee85da71d9.webp(
) 2. ERC-4337 nedir
Şu anda, Ethereum protokolündeki dışa sahip hesap ###EOA( bazı sınırlamalara sahiptir, örneğin sabit imza yöntemleri ve ödeme tasarımı. ERC-4337, daha esnek hesap yönetimi ve işlem işleme yöntemleri sunarak bu sorunları çözmektedir.
) 3. Yerel AA nedir
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 blokzincir protokolüne entegre edilmiştir.
Her blok zinciri 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'nın 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 yaparak tamamlanır.
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 getirmekten sorumludur.
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 Gaz parametreleri( dahil olmak üzere ve doğrulama için Operator'den gelen işlemleri alır.
![şifreleme altyapısının geleceği? Çok zincirli hesap soyutlama analizi])https://img-cdn.gateio.im/webp-social/moments-f354ad716da09da261319761d128a6f0.webp(
) 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ı fonksiyonları yalnızca AA OS tarafından çağrılabilir:
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.
3. Doğrulama adımlarının kısıtlamaları
Doğrulama işlemlerinin maliyet sınırlaması olmadığı için ###, doğrulama işlemleri esasen ( görünüm fonksiyonunu çağırmaktır. Saldırganlar, hafıza havuzuna DoS saldırısı yaparak ) bağlayıcıyı bozabilirler. ( EIP-4337) veya operatör/sıralayıcı ( yerel AA).
EIP-4337, hangi işlem kodlarının yasaklandığını ve depolama erişimini nasıl kısıtlayacağını tanımlar. zkSync Era, bazı OpCode'ların kullanımını gevşetmiştir:
4. Adım yürütme kısıtlamaları
zkSync'te, sistem çağrıları gerçekleştirmek 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ğıtımı ise ContractDeployer ile etkileşim gerektirir. Sistem bayrağı, hesap geliştiricilerinin sistem sözleşmeleriyle bilinçli bir şekilde etkileşimde bulunmaları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şlemi dağıtım için kullanın
7. zkSync'teki özel tasarım
Eğer ETH'yi doğrudan Ethereum EOA'dan zkSync'e aktarır ve özel bir hesap sözleşmesi dağıtmanıza gerek yoksa, aynı adrese sahip varsayılan bir hesap alırsınız. Bu hesap, Ethereum EOA gibi çalışabilir ve aynı zamanda ilgili Ethereum EOA'nın özel anahtarı ile kontrol edilir.
Bu hesap türü None sürümü ve version1 değil. DefaultAccount'ın fonksiyonlarını çağırmadığınızdan emin olun, çünkü bu çekirdek alanında herhangi bir kod dağıtımı yapılmamıştır.
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 farkı ve adres farkı.
1. Protokol Farklılıkları
Rollup tasarımında, L2 verilerin güvenlik ve hesaplama için L1'e yüklenmesi gerekmektedir. ERC-4337 bağlamında, bu yükleme işlemiyle 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 ücretlerini belirlemek önemli bir zorluktur.
2. Adres farklılığı
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 kullanır. EVM uyumlu zincirlerde ERC-4337 bağlamında, adres hesaplamanın her zincirde tutarlı olduğunu varsayıyoruz. Ancak, Ethereum ve L2'deki ERC-4337 uygulamaları arasında hesap sözleşmesi adresinin farklı olmasına neden olabilecek dikkat edilmesi zor bir detay vardır.
Ana sorun, sert çatallarda yeni işlem kodlarının eklenmesidir. Ö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, bayt kodunu değiştirecektir, bu durumda Solidity kodu aynı olsa bile.
Sonuç
Yukarıda, hesap soyutlama ile ilgili bazı temel kavramlar ve uygulama farklılıkları bulunmaktadır. Farklı zincirlerdeki hesap soyutlama uygulamalarının ortak bir hedefe sahip olmasına rağmen, belirli ayrıntılarda birçok farklılık göstermektedir. Bu farklılıklar, her bir zincirin tasarım ve optimizasyon konusundaki benzersiz değerlendirmelerini yansıtmaktadır ve geliştiricilere ve kullanıcılara daha fazla seçim alanı sunmaktadır. Gelecekte, teknolojinin sürekli gelişimiyle birlikte, daha yenilikçi hesap soyutlama uygulamalarını görmeyi umuyoruz, böylece blockchain ekosistemine daha iyi bir kullanıcı deneyimi ve daha güçlü işlevsellik kazandırılacaktır.