< Basın Odasına geri dön

Ethereum SSP'ye katılıyor — ERC-4337 üzerinde Schnorr multisig

·4 dk okuma·Yazar: SSP Editorial Team
RELEASE rozeti üzerinde anahtar, şimşek, kalkan ve CPU simgeleri ile Ethereum + Schnorr Multisig — ERC-4337 Account Abstraction başlığı

18 Temmuz 2024'te SSP Wallet v1.6.0 Ethereum'u ekledi — ve SSP, Ethereum üzerinde ERC-4337 Account Abstraction kullanarak gerçek Schnorr-multisig hesapları sunan ilk cüzdan oldu. Diğer cüzdanlar, bir arayüzün arkasında tek bir harici sahipli hesabı istifleyerek kendilerine "Ethereum multisig" diyor. SSP zor yolu seçti; böylece SSP içinde Bitcoin'i koruyan aynı 2-üzeri-2 modeli artık ETH'yi de koruyor.

TL;DR

  • Ethereum (ETH), SSP'ye birinci sınıf bir zincir olarak katılıyor.
  • Hesaplar EOA değil, ERC-4337 uyumlu akıllı sözleşmelerdir — bu yüzden 2-üzeri-2 zorlaması zincir üzerinde yaşar.
  • İki Schnorr imzası Ethereum'a ulaşmadan tek bir imzaya birleştirilir, gas'ı öngörülebilir tutar.
  • İmzalama kütüphanesi npm üzerinde açık kaynaktır: @runonflux/aa-schnorr-multisig-sdk.
  • ERC-20 token desteği bir sonraki adımdır; bu sürüm ETH'nin kendisini ve altındaki AA temellerini getiriyor.

Ne indi: Ethereum desteği, zor yoldan

Çoğu cüzdan, harici sahipli bir hesap (EOA) üreterek "Ethereum'u destekler" — tek bir özel anahtar, tek bir imza, tek bir arıza noktası. Üstüne multisig eklemek genellikle cüzdan tarafında bir yazılım politikası anlamına gelir, zincirde dayatılan bir kural değil. Zincir hâlâ tek bir anahtar görür ve onu elinde tutan tek başına fonları taşıyabilir.

SSP bu kestirmeyi reddetti. SSP'nin 2-üzeri-2 modelinin bütün meselesi, ne masaüstündeki SSP Wallet'ın ne de telefondaki SSP Key'in tek başına fon hareket ettirememesidir — ortak imzalama hesabın bir özelliğidir, bir arayüz alışkanlığı değil. Bunu Ethereum'da korumak için bir EOA asla yeterli olmayacaktı. Ethereum hesabı, yapısı gereği iki imza talep eden bir akıllı sözleşme olmak zorundaydı. v1.6.0'da sunulan tam olarak budur.

Burada Schnorr multisig ne anlama gelir

Bitcoin'in UTXO betikleri 2-üzeri-2'yi yerel olarak ifade edebilir — SSP'nin mevcut zincirleri ortak imzalamayı bu şekilde dayatır. Ethereum'un hesap modeli bunu yapamaz, yardım olmadan değil. SSP bu boşluğu Schnorr imzalarıyla kapatır.

Schnorr burada önem taşıyan tek bir özelliğe sahip bir imza şemasıdır: iki imzalayan her biri kısmi bir imza üretebilir ve bu kısmi imzalar tek bir geçerli imzada birleştirilebilir; bu imza tek bir toplam genel anahtar altında doğrulanır. Zinciri okuyan biri için tek bir imzalayan bir kez imzalamış gibi görünür. SSP için iki cihazın da hemfikir olması gerekti. Kriptografik derinlik — anahtar toplama, nonce koordinasyonu, MuSig2 tarzı turlar — akademi makalemiz Schnorr imzaları ve multisig toplama içinde ele alınmıştır; istersen bak. Kullanıcı tarafındaki özet kısadır: zaten kullandığın aynı SSP Wallet + SSP Key el sıkışması, şimdi Ethereum üzerinde tek bir toplam Schnorr imzası olarak ifade edilmiş.

ERC-4337 Account Abstraction

Account Abstraction (AA), Ethereum hesaplarının çıplak anahtar çiftleri yerine programlanabilir cüzdanlar gibi davranmasına izin veren şemsiye terimdir. Standart Ethereum modelinde iki hesap türü vardır: EOA'lar — tek bir özel anahtarla kontrol edilen — ve sözleşmeler, ki bunlar kendi başlarına işlem başlatamaz. AA bu ayrımı uygulama katmanında ortadan kaldırır.

ERC-4337, AA'yı Ethereum'un kendisini değiştirmeden sunan Ethereum standardıdır. Bir hard fork yerine UserOperation adı verilen daha yüksek seviyeli bir işlem nesnesi, bunları normal Ethereum işlemlerine dönüştüren bir bundler ve bunları doğrulayan bir EntryPoint sözleşmesi tanımlar. "Hesabın" harcamaları nasıl doğrulamak istediğine karar veren bir akıllı sözleşmedir — SSP için bu doğrulama kuralı şudur: SSP Wallet ve SSP Key'den gelen toplam bir Schnorr imzası, ya da hiçbir şey. L1 hard fork yok, özel düğüm operatörleri yok, mainnet'te zaten konuşlu olanın dışında bir güven varsayımı yok.

Açık kaynak kütüphane

Schnorr-multisig imzalama katmanı SSP uygulamasının içine gömülü değildir. Onu yeniden kullanılabilir bir kütüphane olarak çıkardık ve SSP'nin geri kalanıyla aynı açık kaynak duruşuyla yayımladık. TypeScript SDK npm üzerinde @runonflux/aa-schnorr-multisig-sdk olarak yaşıyor; onunla eşleşen Solidity Account Abstraction sözleşmeleri ise GitHub'daki @runonflux/account-abstraction deposu içinde yaşıyor.

Cüzdan geliştiricisiysen, güvenlik araştırmacısıysan ya da Schnorr-multisig AA'nın Ethereum üzerinde nasıl gerçekten birleştiğini merak ediyorsan, her iki proje de okumak, fork'lamak ve katkı sunmak için orada. Pull request'ler ve issue'lar memnuniyetle karşılanır — bu ilkelliği isteyen her cüzdanın onu yeniden icat etmesini izlemek yerine, daha fazla gözün bulunduğu paylaşılan bir kütüphaneyi sertleştirmeyi tercih ederiz.

Bunun açtığı şey

Özellikle v1.6.0 için sunulan zincir Ethereum'un kendisidir — ETH bakiyeleri, ETH transferleri, her başka madeni para için kullandığın aynı Chains panel anahtarı, şimdi arkasında bir AA hesabıyla. Bu sürümün döşediği tesisat daha zor olan kısımdır. 2-üzeri-2 Schnorr AA hesapları var olduğunda ve çalıştığında, Ethereum biçimli her bakiye erişilebilir hale gelir.

ERC-20 token desteği doğal bir sonraki adımdır ve zaten yol haritasındadır — yayımlandığında kendi newsroom yazısında ele alacağız. Bugün için manşet, Ethereum'un SSP içinde olduğudur, doğru şekilde SSP içinde olduğudur ve altındaki kriptografik ve akıllı sözleşme temellerinin herkesin inceleyebilmesi için npm ve GitHub'da açık kaynak olduğudur.

Kaynak: SSP Wallet v1.6.0 sürüm notları.

Bu makaleyi paylaş

İlgili makaleler