Account Abstraction Nedir?
Account Abstraction Nedir ?
- Neden önemli ?
#StarkNet ile birlikte duymaya başladığımız, önümüzdeki dönemde sıklıkla karşılaşacağımızı düşündüğüm AA hakkında bir şeyler yazmak istiyorum
Kripto potansiyelini daha öteye taşıyabilecek teknolojinin detaylarına bir bakalım
AA'nın bir çok özelliği var. Ama önce günümüz cüzdanlarına bakalım.
Ethereum'da 2 tür cüzdan var
- Externally Owned Account EOA-(Met@Mask vb)
- Contrat Account CA- (Multi-sig)
- -EOA cüzdanlar bildiğimiz klasik Met*Mask cüzdanı.
- -Cüzdan oluşturmak ücretsiz ve 12 kelime ile korunur.
- -EOA cüzdan ile sadece token / NFT gönderilir alınır.
- -Her bir işlem tek tek imza ile onaylanır.
- -CA cüzdanda hesap oluşturmak için fee ödenir.
- -CA'lar sadece token / nft göndermek dışında istenilen özelliğe göre özelleştirilip başka fonksiyonlar eklenebilir.
- -CA'larda 12 kelime yoktur, akıllı kontrat kodu ile korunur.
EOA cüzdanlarda işlemleri imzalamak için private key kullanılır ve cüzdanın size ait olduğu ispatlanmış olur. Bu keye sahip olan kişi o cüzdanın sahibidir.
Keyi kaybederseniz ve başkası eline geçirirse geçmiş olsun.
Ledger güzel bir çözüm offchain imza olarak.peki daha iyisi?
AA. Hesabı soyutlayalım. Yani?
Cüzdanın tokenleri tutan kısmıyla imzalayan kısmını ayıralım.(birbirinden soyutlansın)
Nasıl olacak?
Cüzdanı bir akıllı kontrata dönüştürürüz. Böylece kontrata ne dersen onu yapar.
Kafam çok karıştı ben binance kullanacağım galiba?
Kontratın herhangi bir işlemin ne olduğunu tanımlayan kendi mantığı olacak.
Cüzdan (artık bir akıllı kontrat) blockchain arayüzüne uygun bir program olacak ve sizin belirlediğiniz şartlar oluşursa işlemleri gerçekleştirecek. İstediğiniz gibi özelleştirebileceksiniz
Bu ne demek?
Birkaç örnek verelim;
Multi-call (Çoklu işlem-tek imza)
Mesela Uniswap'ta veya bir borç alıp verme platformunda her bir coini kullanmak için tek tek onay vermek zorundayız.
Bu özellik ile bu yük ortadan kalkıyor.
Özellikle Defi'de bu özellik çok kullanışlı.
Session Keys
Oyunlarda zırt pırt onay vermek yerine oyuna başlarken tek bir imza atıp işlerini bitirene kadar başka imza atmadan kafana göre takılabilirsin.
Burada verdiğin imzanın da sınırlarını ayarlayabiliyorsun
Max 1k$ harca, max 20$ fee öde, vs vs
Social Recovery
12 kelime kaybolursa cüzdanınız gg.
AA ile erişimi kaybettiğin cüzdanı kurtarmak mümkün.
Cüzdana bir imza yetkisi verebilir, bu yetki birinin eline geçerse imzayı değiştirip cüzdanı kurtarabilirsiniz. Ya da bu yetkiyi kimin kullanacağını seçebilirsiniz.
Vesayet sistemi yapabilirsiniz.
Kontrata de ki ben 1 yıl işlem yapmazsam yetkilerimi buna ver. Ya da de ki sadece şu 3 cüzdana para gönder vs.
Multi sig özelliği; birine para gönderirken 3 kişiden onay al
Bunlar artırılabilir hayal gücüne kalmış,yapılabileceklerin sınırı yok.
Çok Faktörlü Kimlik Doğrulama ve Güvenlik
Bu bildiğimiz Multi-Sig'ten farklı. Cüzdana ek güvenlik önlemi getirilebiliyor.
Mesela Birine para göndermek için mail sms ga onayı koruması yapılabilir.
Başka örnek; Opensea'da veya Etherscan'de onaylanmamış kontratı otomatik blokla.
İstediğin coinle fee öde
Ethereum veya diğer ağlarda sadece o ağın coiniyle fee ödüyordunuz.
AA ile;
- Kontrat yetkisi sizde olduğu için cüzdana istediğiniz coinle fee ödeme yetkisi verebilirsiniz
- Projeler, kullanıcılar adına fee ödeyen "ödeme sorumluları" da olabilir.
Farklı İmza Şemaları Kullanma
iPhone ile qr okutup NFT mintledik hatırladınız mı?
Telefon bir cüzdana dönüştü bir nevi. Bu çok ama çok önemli bir özellik. Neden?
Babannen telefondan parmak izini okutarak Met@Mask cüzdanı sahibi oldu
Ayşe teyze telefondan direkt işlemlere onay verecek ve saçma sapan imzalarla uğraşmayacak.
Diyelim Ayşe Teyze instada bir patik gördü almak istedi. Met@maski bağlayıp onayla uğraşmayacak. Direkt tıklayıp Face ID ile alacak. Kriptoya 1milyar insan nasıl gelir ? İşte böyle
Verimlilik
Herşey programlanabilir olduğundan imza şemaları düzgün kodlanırsa daha ucuz fee ödenebilir.
Ayrıca yine kodlar değiştirilip cüzdanınızı daha iyi bir cüzdana kodlayabilir ve modifiye edebilirsiniz.
Bu özelliklerden bazıları #StarkNet ve #Zksync ağında default olarak geliyor.
İleriki zamanlarda Ethereum ağında da göreceğiz.
Dilimin döndüğünce basit anlatmaya çalıştım, umarım işe yarar
Başka yazılarda görüşmek üzere