8-11 Temmuz 2024 tarihlerinde, Ethereum topluluğunun yıllık etkinliği EthCC, Belçika'nın Brüksel şehrinde gerçekleştirilecektir. Avrupa'nın en büyük Ethereum teknolojisi ve topluluk etkileşim etkinliği olan bu EthCC, 350'den fazla blockchain sektörünün öncü uzmanını konuşma yapmak üzere davet etti. Bu etkinlikte, bir blockchain geliştiricisi "çok zincirli hesap soyutlama" konusunu derinlemesine ele aldı.
Konuşmanın ana hatları şu şekildedir:
Hesap soyutlama(AA)'in çekirdeği imza soyutlaması ve ödeme soyutlamasıdır. İlk olarak, kullanıcıların doğrulama mekanizmasını esnek bir şekilde seçmelerine olanak tanırken, ikincisi çeşitli işlem ödeme seçenekleri sunarak daha güvenli ve kullanışlı bir kullanıcı deneyimi sağlar.
ERC-4337 ve yerel AA'nın doğrulama ve yürütme aşamalarındaki giriş fonksiyonu tasarımında farklılıklar vardır. Her birinin uygulama şekli, işlem doğrulama ve yürütme adımları üzerinde farklı kısıtlamalara sahiptir.
EVM uyumlu zincir üzerinde ERC-4337 uygularken, Rollup protokol farklılıkları ve adres hesaplama yöntemi farklılıkları gibi iki ana noktaya özellikle dikkat edilmesi gerekir, bunlar L1 ve L2 arasındaki uygulama detaylarının farklı olmasına neden olabilir.
Aşağıda konuşmanın detayları bulunmaktadır:
Hesap Soyutlama Teknolojisi Tanıtımı
1. Hesap soyutlamanın tanımı
hesap soyutlama(AA) temel olarak iki ana kavramı içerir: imza soyutlaması ve ödeme soyutlaması.
İmza soyutlama, kullanıcıların doğrulama mekanizmasını özgürce seçmelerine izin verir, artık belirli bir dijital imza algoritması ile sınırlı değildir. Bu, kullanıcıların kimliklerini ve işlemlerini doğrulamak için daha çeşitli yöntemler kullanabilecekleri anlamına gelir; örneğin, biyometrik veriler, çoklu imzalar vb. Ödeme soyutlaması ise, ERC-20 token'ları ile ödeme yapmak veya üçüncü tarafların işlem ücretlerini sübvanse etmesi gibi çeşitli işlem ödeme yöntemleri sunar. ERC-20 token'ları, Ethereum üzerinde en yaygın token standardıdır ve değiştirilebilir dijital varlıkların oluşturulmasına izin verir. Bu esneklik, güvenliği ve kullanıcı deneyimini önemli ölçüde artırabilir.
2. ERC-4337 standardının analizi
Şu anda Ethereum'un dış sahipli hesap (EOA), imza yöntemleri ve ödeme tasarımı açısından bazı sınırlamalara sahiptir. EOA, özel anahtar tarafından kontrol edilen normal bir kullanıcı hesabıdır ve yalnızca sabit imza algoritmaları ve ödeme yöntemleri kullanabilir. ERC-4337, bu sorunları daha esnek hesap yönetimi ve işlem işleme mekanizmaları getirerek çözmektedir.
ERC-4337'nin temel özellikleri:
userOp yapısı: Kullanıcı userOp'yi Bundler'a gönderir, Bundler birden fazla userOp'yi toplar ve EntryPoint sözleşmesinin handleOps fonksiyonunu çağırarak işler. userOp, kullanıcının gerçekleştirmek istediği işlem bilgilerini içeren kullanıcı işleminin kısaltmasıdır. Bundler, kullanıcı işlemlerini toplamak ve paketlemekle sorumlu bir ara hizmettir.
EntryPoint sözleşmesi: İşlem işleme için "işletim sistemi" olarak, ana işlevleri şunlardır:
hesap sözleşmesinin execute fonksiyonunu çağırarak, userOp'un hedef işlemini gerçekleştir.
EntryPoint sözleşmesi ERC-4337'nin merkezidir, tüm hesap soyutlama işlemlerinin giriş noktasını birleştirir.
3. Yerel AA Tanıtımı
Yerel AA'de, her hesap bir sözleşmedir, işlem işleme mekanizması doğrudan blok zinciri protokolüne entegre edilmiştir. Bu, hesap soyutlama işlevinin blok zincirinin temel tasarımına yerleştirildiği, ek bir katman olarak uygulanmadığı anlamına gelir.
Şu anda çeşitli blockchain ağlarında AA uygulama yöntemleri:
ERC-4337'ye dayanan yerel AA: StarkNet ve zkSync Era
Gizlilik tasarımına sahip yerel AA:Aztec
Bu ağlar arasında, Arbitrum, Optimism, Base, Linea ve Scroll, Ethereum'un Layer 2 genişletme çözümleridir ve işlem işleme hızını artırmayı ve maliyetleri düşürmeyi amaçlamaktadır. Polygon PoS, Ethereum'a ölçeklenebilirlik desteği sağlayan bir yan zincir ağıdır. StarkNet ve zkSync Era, sıfır bilgi kanıtı teknolojisini kullanan Layer 2 çözümleridir, Aztec ise gizlilik koruma özellikleri sunmaya odaklanmaktadır.
ERC-4337 ve Yerel AA'nın Karşılaştırmalı Analizi
1. Sistem Rol Tasarımı
AA sistemi aşağıdaki temel sorunları çözmesi gerekiyor:
Gaz fiyatlarının belirlenme mekanizması
İşlem sırası ve bellek havuzu yönetimi
Giriş noktası fonksiyonunun tetiklenme şekli
İşlem işleme sürecinin tanımı
Gas, Ethereum ağı içindeki hesaplama birimidir ve işlemleri gerçekleştirmek için gereken hesaplama kaynaklarını ölçmekte kullanılır. Bellek havuzu, işlenmeyi bekleyen işlemlerin geçici olarak depolandığı alandır.
ERC-4337, Bundler ve EntryPoint sözleşmeleri aracılığıyla bu işlevleri tamamlar. Ancak yerel AA'da, kullanıcılar doğrudan userOps'u resmi sunucu operatörlerine/sıralayıcılarına gönderir.
StarkNet örneğinde, Sequencer tüm bu görevleri yerine getirmekten sorumludur. zkSync Era ise Operator ile bootloader( sistem sözleşmesi) işbirliği içinde ilgili işleri tamamlar. Sequencer ve Operator, işlem sıralama ve yürütme ile sorumlu düğümlerdir.
2. Sözleşme arayüz tasarımı
Farklı uygulamalarda, hesap sözleşmesi arayüzünün benzer noktaları vardır ve hepsi aşağıdaki adımların giriş fonksiyonlarını içerir:
ERC-4337: Kullanıcı işlemlerini doğrula
zkSync: işlemleri doğrulama, işlem ödemesi, işlem gerçekleştirme
ERC-4337 ve yerel AA'nın "doğrulama" aşamasındaki giriş fonksiyonu sabittir, ancak "uygulama" aşamasında yalnızca yerel AA'nın giriş noktası sabittir.
3. Doğrulama aşamasının kısıtlamaları
İşlemleri doğrulamanın maliyet kısıtlaması olmadığı için, bellek havuzunun DoS saldırısına maruz kalması muhtemeldir. DoS saldırısı, sistem kaynaklarını tüketmek için çok sayıda geçersiz istek gönderilmesi anlamına gelir, bu da normal isteklerin işlenememesine yol açar. Bu nedenle, her uygulama doğrulama aşaması için bazı kısıtlamalar getirmiştir.
ERC-4337, devre dışı bırakılan işlem kodlarını ve depolama erişim kısıtlamalarını tanımlar. İşlem kodları, belirli işlemleri gerçekleştirmek için blok zinciri sanal makinesindeki talimatlardır. zkSync Era, bazı OpCode kullanımını gevşetse de, yine de sözleşme mantığının yalnızca kendi depolama alanına erişmesine izin verir ve global değişkenlere erişimi engeller. StarkNet de dış sözleşme çağrılarına izin vermez.
4. Uygulama aşamasındaki kısıtlamalar
zkSync, sistem çağrıları gerçekleştirilirken sistem bayraklarının onaylanmasını talep eder, böylece hesap geliştiricilerin sistem sözleşmeleriyle bilinçli bir şekilde etkileşimde bulunduğundan emin olunur. Sistem çağrıları, işletim sistemi çekirdek hizmetlerini talep etme sürecini ifade eder. ERC-4337 ve StarkNet, yürütme aşamasında özel bir sınırlama getirmemektedir.
5. Rastgele sayı işleme
Her bir uygulamanın rastgele sayı tasarımında farklılıkları vardır:
ERC-4337, 192 bit anahtar değerini ve 64 bit rastgele değeri ayırt eder.
zkSync, nonce'in kesin bir şekilde artmasını sağlamak için NonceHolder sistem sözleşmesi tarafından yönetilmektedir.
StarkNet'in nonce'u da kesinlikle artan bir sıradadır, ancak özel bir sözleşme yönetimi yoktur.
Rastgele sayı ( nonce ) blok zincirinde işlem tekrar saldırılarını önlemek için kullanılır, her işlemde yeni bir nonce değeri kullanılır.
6. İlk işlem dağıtımı
ERC-4337, userOp yapısında initcode alanını içerir, bu alan ilk userOp'da hesap sözleşmesini dağıtmak için kullanılabilir.
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öndermelerini gerektirir.
Hesap sözleşmesini dağıtmak, blockchain üzerinde kullanıcı hesabı olarak yeni bir akıllı sözleşme örneği oluşturmak anlamına gelir.
7. zkSync'in özel tasarımı
zkSync, kullanıcıların ETH'yi doğrudan Ethereum EOA'sından zkSync'e taşımalarına olanak tanır, özel hesap sözleşmesi dağıtmadan varsayılan bir hesap elde edebilirler. Bu hesap, Ethereum EOA adresi ile aynıdır, EOA gibi çalışabilir ve ilgili Ethereum EOA özel anahtarıyla kontrol edilir.
L1 ve L2 Üzerinde ERC-4337 Uygulamalarındaki Farklar
EVM uyumlu zincir üzerinde ERC-4337 uygularken, iki anahtar fark bulunmaktadır:
1. Protokol farklılıkları
Rollup tasarımında, L2 verileri güvenlik ve hesaplama sağlamak için L1'e yüklemelidir. L1, Ethereum ana ağı ( gibi ana zinciri ) ifade eder, L2 ise L1'in üzerine inşa edilmiş bir genişletme katmanıdır. ERC-4337'de, buna bağlı ücretler (, L1 güvenlik ücreti ve blob ücretleri ), ön doğrulama Gas'ında yer almalıdır. Blob, büyük veri nesneleri için kısaltmadır ve büyük miktarda veriyi depolamak için kullanılır. Bu yükleme ücretlerini ön doğrulama Gas'ında doğru bir şekilde hesaba katmak büyük bir zorluktur.
2. Adres farkı
zkSync ERA'nın create fonksiyonundaki adres kodlama yöntemi Ethereum ve OP toplamasından farklıdır. StarkNet ise adresi hesaplamak için benzersiz bir hash fonksiyonu kullanır.
EVM uyumlu zincirlerde, ERC-4337 genellikle adres hesaplamasının her zincirde tutarlı olduğu varsayılmaktadır. Ancak, sert çatalda eklenen opcode'lar bytecode değişikliklerine neden olabilir ve bu da Ethereum ve L2'de ERC-4337 uygulamalarının hesap sözleşmesi adreslerinin tutarsız olmasına yol açabilir. Sert çatal, blockchain protokolünde önemli bir güncellemedir ve uyumsuz değişikliklere neden olabilir. Ö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 bytecode'u değiştirecektir. Bytecode, akıllı sözleşmelerin makine düzeyindeki kodudur ve doğrudan blockchain sanal makinesi tarafından yürütülü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.
Çoklu zincir hesap soyutlama teknolojisi ayrıntıları: Şifreleme cüzdan güvenliği ve kolaylığı devrim niteliğinde yenilikler yaşıyor.
Çoklu Zincir Hesap Soyutlama Teknolojisi Analizi: Şifreleme Altyapısının Gelecek Gelişim Yönü
8-11 Temmuz 2024 tarihlerinde, Ethereum topluluğunun yıllık etkinliği EthCC, Belçika'nın Brüksel şehrinde gerçekleştirilecektir. Avrupa'nın en büyük Ethereum teknolojisi ve topluluk etkileşim etkinliği olan bu EthCC, 350'den fazla blockchain sektörünün öncü uzmanını konuşma yapmak üzere davet etti. Bu etkinlikte, bir blockchain geliştiricisi "çok zincirli hesap soyutlama" konusunu derinlemesine ele aldı.
Konuşmanın ana hatları şu şekildedir:
Hesap soyutlama(AA)'in çekirdeği imza soyutlaması ve ödeme soyutlamasıdır. İlk olarak, kullanıcıların doğrulama mekanizmasını esnek bir şekilde seçmelerine olanak tanırken, ikincisi çeşitli işlem ödeme seçenekleri sunarak daha güvenli ve kullanışlı bir kullanıcı deneyimi sağlar.
ERC-4337 ve yerel AA'nın doğrulama ve yürütme aşamalarındaki giriş fonksiyonu tasarımında farklılıklar vardır. Her birinin uygulama şekli, işlem doğrulama ve yürütme adımları üzerinde farklı kısıtlamalara sahiptir.
EVM uyumlu zincir üzerinde ERC-4337 uygularken, Rollup protokol farklılıkları ve adres hesaplama yöntemi farklılıkları gibi iki ana noktaya özellikle dikkat edilmesi gerekir, bunlar L1 ve L2 arasındaki uygulama detaylarının farklı olmasına neden olabilir.
Aşağıda konuşmanın detayları bulunmaktadır:
Hesap Soyutlama Teknolojisi Tanıtımı
1. Hesap soyutlamanın tanımı
hesap soyutlama(AA) temel olarak iki ana kavramı içerir: imza soyutlaması ve ödeme soyutlaması.
İmza soyutlama, kullanıcıların doğrulama mekanizmasını özgürce seçmelerine izin verir, artık belirli bir dijital imza algoritması ile sınırlı değildir. Bu, kullanıcıların kimliklerini ve işlemlerini doğrulamak için daha çeşitli yöntemler kullanabilecekleri anlamına gelir; örneğin, biyometrik veriler, çoklu imzalar vb. Ödeme soyutlaması ise, ERC-20 token'ları ile ödeme yapmak veya üçüncü tarafların işlem ücretlerini sübvanse etmesi gibi çeşitli işlem ödeme yöntemleri sunar. ERC-20 token'ları, Ethereum üzerinde en yaygın token standardıdır ve değiştirilebilir dijital varlıkların oluşturulmasına izin verir. Bu esneklik, güvenliği ve kullanıcı deneyimini önemli ölçüde artırabilir.
2. ERC-4337 standardının analizi
Şu anda Ethereum'un dış sahipli hesap (EOA), imza yöntemleri ve ödeme tasarımı açısından bazı sınırlamalara sahiptir. EOA, özel anahtar tarafından kontrol edilen normal bir kullanıcı hesabıdır ve yalnızca sabit imza algoritmaları ve ödeme yöntemleri kullanabilir. ERC-4337, bu sorunları daha esnek hesap yönetimi ve işlem işleme mekanizmaları getirerek çözmektedir.
ERC-4337'nin temel özellikleri:
userOp yapısı: Kullanıcı userOp'yi Bundler'a gönderir, Bundler birden fazla userOp'yi toplar ve EntryPoint sözleşmesinin handleOps fonksiyonunu çağırarak işler. userOp, kullanıcının gerçekleştirmek istediği işlem bilgilerini içeren kullanıcı işleminin kısaltmasıdır. Bundler, kullanıcı işlemlerini toplamak ve paketlemekle sorumlu bir ara hizmettir.
EntryPoint sözleşmesi: İşlem işleme için "işletim sistemi" olarak, ana işlevleri şunlardır:
EntryPoint sözleşmesi ERC-4337'nin merkezidir, tüm hesap soyutlama işlemlerinin giriş noktasını birleştirir.
3. Yerel AA Tanıtımı
Yerel AA'de, her hesap bir sözleşmedir, işlem işleme mekanizması doğrudan blok zinciri protokolüne entegre edilmiştir. Bu, hesap soyutlama işlevinin blok zincirinin temel tasarımına yerleştirildiği, ek bir katman olarak uygulanmadığı anlamına gelir.
Şu anda çeşitli blockchain ağlarında AA uygulama yöntemleri:
Bu ağlar arasında, Arbitrum, Optimism, Base, Linea ve Scroll, Ethereum'un Layer 2 genişletme çözümleridir ve işlem işleme hızını artırmayı ve maliyetleri düşürmeyi amaçlamaktadır. Polygon PoS, Ethereum'a ölçeklenebilirlik desteği sağlayan bir yan zincir ağıdır. StarkNet ve zkSync Era, sıfır bilgi kanıtı teknolojisini kullanan Layer 2 çözümleridir, Aztec ise gizlilik koruma özellikleri sunmaya odaklanmaktadır.
ERC-4337 ve Yerel AA'nın Karşılaştırmalı Analizi
1. Sistem Rol Tasarımı
AA sistemi aşağıdaki temel sorunları çözmesi gerekiyor:
Gas, Ethereum ağı içindeki hesaplama birimidir ve işlemleri gerçekleştirmek için gereken hesaplama kaynaklarını ölçmekte kullanılır. Bellek havuzu, işlenmeyi bekleyen işlemlerin geçici olarak depolandığı alandır.
ERC-4337, Bundler ve EntryPoint sözleşmeleri aracılığıyla bu işlevleri tamamlar. Ancak yerel AA'da, kullanıcılar doğrudan userOps'u resmi sunucu operatörlerine/sıralayıcılarına gönderir.
StarkNet örneğinde, Sequencer tüm bu görevleri yerine getirmekten sorumludur. zkSync Era ise Operator ile bootloader( sistem sözleşmesi) işbirliği içinde ilgili işleri tamamlar. Sequencer ve Operator, işlem sıralama ve yürütme ile sorumlu düğümlerdir.
2. Sözleşme arayüz tasarımı
Farklı uygulamalarda, hesap sözleşmesi arayüzünün benzer noktaları vardır ve hepsi aşağıdaki adımların giriş fonksiyonlarını içerir:
ERC-4337 ve yerel AA'nın "doğrulama" aşamasındaki giriş fonksiyonu sabittir, ancak "uygulama" aşamasında yalnızca yerel AA'nın giriş noktası sabittir.
3. Doğrulama aşamasının kısıtlamaları
İşlemleri doğrulamanın maliyet kısıtlaması olmadığı için, bellek havuzunun DoS saldırısına maruz kalması muhtemeldir. DoS saldırısı, sistem kaynaklarını tüketmek için çok sayıda geçersiz istek gönderilmesi anlamına gelir, bu da normal isteklerin işlenememesine yol açar. Bu nedenle, her uygulama doğrulama aşaması için bazı kısıtlamalar getirmiştir.
ERC-4337, devre dışı bırakılan işlem kodlarını ve depolama erişim kısıtlamalarını tanımlar. İşlem kodları, belirli işlemleri gerçekleştirmek için blok zinciri sanal makinesindeki talimatlardır. zkSync Era, bazı OpCode kullanımını gevşetse de, yine de sözleşme mantığının yalnızca kendi depolama alanına erişmesine izin verir ve global değişkenlere erişimi engeller. StarkNet de dış sözleşme çağrılarına izin vermez.
4. Uygulama aşamasındaki kısıtlamalar
zkSync, sistem çağrıları gerçekleştirilirken sistem bayraklarının onaylanmasını talep eder, böylece hesap geliştiricilerin sistem sözleşmeleriyle bilinçli bir şekilde etkileşimde bulunduğundan emin olunur. Sistem çağrıları, işletim sistemi çekirdek hizmetlerini talep etme sürecini ifade eder. ERC-4337 ve StarkNet, yürütme aşamasında özel bir sınırlama getirmemektedir.
5. Rastgele sayı işleme
Her bir uygulamanın rastgele sayı tasarımında farklılıkları vardır:
Rastgele sayı ( nonce ) blok zincirinde işlem tekrar saldırılarını önlemek için kullanılır, her işlemde yeni bir nonce değeri kullanılır.
6. İlk işlem dağıtımı
Hesap sözleşmesini dağıtmak, blockchain üzerinde kullanıcı hesabı olarak yeni bir akıllı sözleşme örneği oluşturmak anlamına gelir.
7. zkSync'in özel tasarımı
zkSync, kullanıcıların ETH'yi doğrudan Ethereum EOA'sından zkSync'e taşımalarına olanak tanır, özel hesap sözleşmesi dağıtmadan varsayılan bir hesap elde edebilirler. Bu hesap, Ethereum EOA adresi ile aynıdır, EOA gibi çalışabilir ve ilgili Ethereum EOA özel anahtarıyla kontrol edilir.
L1 ve L2 Üzerinde ERC-4337 Uygulamalarındaki Farklar
EVM uyumlu zincir üzerinde ERC-4337 uygularken, iki anahtar fark bulunmaktadır:
1. Protokol farklılıkları
Rollup tasarımında, L2 verileri güvenlik ve hesaplama sağlamak için L1'e yüklemelidir. L1, Ethereum ana ağı ( gibi ana zinciri ) ifade eder, L2 ise L1'in üzerine inşa edilmiş bir genişletme katmanıdır. ERC-4337'de, buna bağlı ücretler (, L1 güvenlik ücreti ve blob ücretleri ), ön doğrulama Gas'ında yer almalıdır. Blob, büyük veri nesneleri için kısaltmadır ve büyük miktarda veriyi depolamak için kullanılır. Bu yükleme ücretlerini ön doğrulama Gas'ında doğru bir şekilde hesaba katmak büyük bir zorluktur.
2. Adres farkı
zkSync ERA'nın create fonksiyonundaki adres kodlama yöntemi Ethereum ve OP toplamasından farklıdır. StarkNet ise adresi hesaplamak için benzersiz bir hash fonksiyonu kullanır.
EVM uyumlu zincirlerde, ERC-4337 genellikle adres hesaplamasının her zincirde tutarlı olduğu varsayılmaktadır. Ancak, sert çatalda eklenen opcode'lar bytecode değişikliklerine neden olabilir ve bu da Ethereum ve L2'de ERC-4337 uygulamalarının hesap sözleşmesi adreslerinin tutarsız olmasına yol açabilir. Sert çatal, blockchain protokolünde önemli bir güncellemedir ve uyumsuz değişikliklere neden olabilir. Ö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 bytecode'u değiştirecektir. Bytecode, akıllı sözleşmelerin makine düzeyindeki kodudur ve doğrudan blockchain sanal makinesi tarafından yürütülür.