Bu çevirinin orijinali “Introducing Account Abstraction on Aptos” adlı yazıya buradan ulaşabilirsiniz.
Mevcut yerel kimlik doğrulama yöntemlerine ek olarak, herhangi bir hesabın Move kodu aracılığıyla kimliğinin doğrulanmasını sağlayan Hesap Soyutlama (AA) özelliğini, Aptos blok zincirinde tanıtmaktan heyecan duyuyoruz. AIP-104’te belirtilen bu özellik, kullanıcıların güvenliği koruyarak karmaşık, özelleştirilebilir kimlik doğrulama mekanizmaları uygulayabilmelerini sağlar.
Hesap Soyutlama Nedir?
Hesap Soyutlama, yerel Rust kimlik doğrulama yöntemlerine güvenmek yerine, Aptos Sanal Makinesi (AptosVM) içindeki Move tabanlı mantık kullanılarak hesapların kimlik doğrulamasının yapılmasını sağlar. Bu, kullanıcıların kendi kimlik doğrulama mantıklarını tanımlamalarına olanak tanıyarak Aptos blok zincirinin potansiyelini geleneksel kriptografik yöntemlerin ötesine taşır.
Hesap Soyutlama Neden Önemlidir?
Hesap Soyutlama (AA) olmadan Aptos, önceden tanımlanmış kriptografik yöntemlerle sınırlı olan yerel Rust tabanlı kimlik doğrulamaya dayanır. Bu durum çeşitli sorunlara yol açar:
- Sınırlı Kimlik Doğrulama Seçenekleri: Yerel yöntemler, çoklu imza veya özel mantık gibi gelişmiş kimlik doğrulama mekanizmalarını desteklemeyi zorlaştıran temel kriptografik yöntemlerle sınırlıdır.
- Esneklik Eksikliği: Geliştiriciler, çoklu imza veya dinamik kontroller gibi karmaşık ya da uygulamaya özgü kimlik doğrulama mantığını kolayca tanımlayamazlar.
- Yetkilendirme Zorlukları: Üçüncü taraf hesaplara kısmi erişim izni vermek zordur, kullanıcıların her işlemi imzalamasını gerektirir ve bu da verimsizdir.
AA, daha fazla kontrol ve ölçeklenebilirlik sağlayan özelleştirilebilir, esnek kimlik doğrulama işlevlerini mümkün kılarak bu sorunları çözer.
Hesap Soyutlama Nasıl Çalışır?
Hesap Soyutlama, özünde yeni bir kimlik doğrulayıcı sunar: AbstractionAuthenticator. Bu yeni kimlik doğrulayıcı, kimlik doğrulama sorumluluğunu hesap adresindeki bir kaynakta depolanan bir Move fonksiyonuna devreder. İşte sürecin işleyişi:
- Kimlik Doğrulama Fonksiyonunu Depolama: Kimlik doğrulama kontrolünden sorumlu olan bir Move fonksiyonu, hesabın adresinde bulunan yeni bir kaynak içinde depolanır.
- Dinamik Kimlik Doğrulama Çağrısı: Bir işlem, bir AbstractionAuthenticator ile yapılandırılmış bir hesabı içerdiğinde, AptosVM prologdan önce o hesaba kayıtlı Move fonksiyonuna kimlik doğrulama kontrolünü dinamik olarak çağırır.
- Kimlik Doğrulama Akışı: İşlemin yürütülmesi yalnızca kimlik doğrulama fonksiyonu başarılı bir şekilde geçerli bir imzalayıcı döndürürse devam eder. Herhangi bir kimlik doğrulama başarısız olursa, tüm işlem iptal edilir.
AA kimlik doğrulama akışı
Hesap Soyutlama Nasıl Benimsenir?
- Özelleştirilmiş Move fonksiyonunuzu soyutlanmış kimlik doğrulama fonksiyonu olarak eklemek için,
aptos_framework::account_abstraction::add_dispatchable_authentication_function
giriş fonksiyonunu çağırın; eklenen bu fonksiyon,fun (account: signer, auth_data: AbstractionAuthData): signer;
fonksiyon imzasıyla eşleşmelidir.
İletilen imzalayıcı bir ana imzalayıcı iken, döndürülen imzalayıcı izinli bir imzalayıcı olabilir.
- Bir işlem gönderirken, mevcut işlem tarafından belirtilen kimlik doğrulama yönteminin AA olduğunu temsil eden yeni yerel Authenticator’ı kullanın.
AccountAuthenticator::Abstraction { function_info: FunctionInfo, auth_data: AbstractionAuthData }
Burada function_info önceki adımda belirtilen fonksiyonu, auth_data ise iki alan içeren kimlik doğrulama verisini temsil eder:
enum AbstractionAuthData has copy, drop {
V1 { digest: vector<u8>, authenticator: vector<u8> },
}
Burada digest
işlem imzalama mesajının sha3_256() özetini, authenticator ise kimlik doğrulama Move fonksiyonu tarafından doğrulanabilen AA “imzasını” temsil eder.
Hesap, AA kullanacak şekilde yapılandırıldıktan ve bu hesapla ilişkili hesap doğrulayıcı AccountAuthenticator::Abstraction
olarak ayarlandıktan sonra, AptosVM auth_data’nın geçerliliğini belirtilen Move fonksiyonu ile kontrol eder. Her şey yolunda giderse, belirtilen Move fonksiyonundan döndürülen signer
, bu işlem yükü için bu hesabın signer
’ı olarak kullanılır.
AA Move kimlik doğrulama fonksiyonunun gaz limiti, başlangıçta 60 gaz birimi olarak ayarlanmış olan yeni bir gaz parametresi olan max_aa_gas
ile belirlenir.
Bu Yaklaşımın Temel Avantajları
- Ölçeklenebilir ve Esnek: AA, kimlik doğrulamayı katı, yerel kriptografik kontrollerden ayırır. Bu, kimlik doğrulama mantığında daha fazla esneklik sağlayarak karmaşık mantığın ölçeklenmesini ve uygulanmasını kolaylaştırır.
- Güvenlik ve Denetlenebilirlik: AA, geniş çapta denetlenmiş olan mevcut çağrılabilir fonksiyon mekanizmasını kullanarak, güvenli ve izlenebilir kimlik doğrulama sağlar. Ayrıca, gazla sınırlı bir fonksiyonun kullanılması, DoS (Denial of Service – Hizmet Reddi) saldırılarının riskini azaltmaya yardımcı olur.
- Geliştirilmiş İşlem Bağlamı: Kimlik doğrulama sırasında işlem bağlamından yararlanabilme yeteneği, kimlik doğrulama sürecinin esnekliğini ve zenginliğini artırır. Geliştiriciler, kimlik doğrulamayı özelleştirmek için işlemden alınan ek bilgileri kullanabilir.
Kullanım Senaryoları Nelerdir?
AA, geliştiriciler ve kullanıcılar için çeşitli güçlü kullanım senaryolarının kilidini açar:
- Çoklu İmza Hesapları: İşlemlerin yetkilendirilmesi için birden fazla imzalayıcı gerektiren hesapları etkinleştirir; geleneksel çoklu imza çözümlerinin karmaşıklığı olmadan güvenliği artırır.
- Sandbox Hesapları: Varlıkları izole eden ve risklere maruz kalmayı azaltan geçici hesaplar oluşturur.
- Yetkilendirilmiş Varlık Yönetimi: Güvenilir bir üçüncü tarafın, sıkı izinlerle varlıkları yönetmesine izin vererek, varlıklar üzerindeki kontrolden ödün vermeden yarı saklamalı bir model sağlar.
- Uygulamalar için Dinamik İzinli Yetkilendirme: AA ile izinli imzalayıcı özelliğini birleştirerek, güvenilir uygulamalara kullanıcıların varlıklarına sınırlı erişim izni verilebilir; böylece kullanıcıların her işlemi imzalamasına gerek kalmaz.
Neden Ethereum’un ERC-4337’si Değil?
Aptos’un Hesap Soyutlaması (AA), kullanıcı işlem havuzları ve sözleşme cüzdanları gibi karmaşık çözümlere dayanan Ethereum’un ERC-4337’sinden önemli ölçüde farklıdır. Bu çözümlerin Aptos’ta uygulanması, imzaların ve işlemlerin bir araya getirilmesiyle önemli bir karmaşıklığa yol açarak geliştirme ve etkileşim süreçlerini daha zor hâle getirir. Buna karşılık Aptos’taki AA, yüksek güvenlik ve esnekliği korurken daha basit, daha ölçeklenebilir bir çözüm sunar.
Aptos’un Hesap Soyutlaması sadeleştirilmiştir: farklı bir kimlik doğrulayıcı ile işlem gönderirsiniz. Karşılaştırıldığında, ERC-4337 genellikle kullanıcının bir paketleyici (UserOperation’ı hazırlayan bir SDK veya cüzdan) ile etkileşime geçmesini gerektirir; ardından bu, onu bir işlem içerisine sarar.
Gelecekteki Evrim
Başlangıçta bu özellik, izinli yetkilendirmeyi etkinleştiren resmi bir AA modülü olan permission_delegation ile kullanıma sunulur. Kullanıcılardan ve geliştiricilerden gelen geri bildirimlere dayanarak, bu koleksiyonu daha yaygın olarak kullanılan Move tabanlı kimlik doğrulama modülleri ekleyerek genişletmeyi planlıyoruz. Bu, Hesap Soyutlamanın benimsenmesini kolaylaştırmaya yardımcı olacak ve tekerleği yeniden icat etme ihtiyacını ortadan kaldıracaktır.
Başlarken
Hesap Soyutlamayı keşfetmeye hazır mısınız? İşlemleriniz için özelleştirilebilir kimlik doğrulamayı nasıl uygulayacağınızı öğrenmek için belgelerimize göz atın. Geri bildirimlerinizi ve geliştireceğiniz yenilikçi çözümleri görmek için sabırsızlanıyoruz.
Aptos’un esnekliğini ve ölçeklenebilirliğini geliştirmeye devam ederken, gelecek güncellemeler için bizi takipte kalın.
Keyifli geliştirmeler!