Hesap soyutlama
Kullanıcılar, kullanarak Ethereum ile etkileşime geçebilirler. Bir işlem başlatmanın veya bir akıllı sözleşme yürütmenin tek yolu budur. Bu durum, kullanıcıların Ethereum ile etkileşime girmesini sınırlamaktadır. Toplu halde işlem yapmanın zorlaşması ve kullanıcıların gaz ücretini karşılamak için her zaman bir miktar ETH bulundurmak zorunda olması, bu zorluklara örnek olarak gösterilebilir.
Hesap soyutlama, kullanıcıların hesaplarına esnek bir şekilde daha fazla güvenlik ve daha iyi kullanıcı deneyimi planlamasına olanak tanıyarak bu sorunları çözmeyi amaçlayan bir yoldur. Bu, akıllı sözleşmeler tarafından kontrol edilebilmeleri için EOA'ları yükselterek(opens in a new tab) veya işlemleri başlatabilmeleri için akıllı sözleşmeleri yükselterek(opens in a new tab) olabilir. Bu seçeneklerin her ikisi de Ethereum protokolünde değişiklik yapılmasını gerektirmektedir. Mevcut protokole paralel olarak çalışacak ikincil ayrı bir işlem sistemi(opens in a new tab) eklemeyi içeren üçüncü bir yol da mevcuttur. Seçilen yol her ne olursa olsun sonuç, Ethereum'a akıllı sözleşme cüzdanları aracılığıyla erişmektir. Bu, ya mevcut protokolün bir parçası olarak yerel olarak desteklenir ya da bir eklenti işlem ağı vasıtasıyla gerçekleşir.
Akıllı sözleşme cüzdanları, kullanıcı için aşağıdakiler de dahil olmak üzere pek çok avantajın kilidini açar:
- kendi esnek güvenlik kurallarınızı tanımlamak
- cüzdan şifrelerinizi/anahtarlarınızı kaybederseniz hesabınızı kurtarabilmek
- hesap güvenliğinizi güvenilir cihazlar veya kişiler arasında paylaşmak
- başkalarının işlem ücretlerini ödemek veya başkasının sizin işlem ücretlerinizi ödemesini sağlamak
- işlemleri toplu halde tek seferde yapabilmek (onay ve yürütme işlemini tek seferde onaylamak gibi)
- merkeziyetsiz uygulamalar ve cüzdan geliştiricileri için kullanıcı deneyimlerinde yenilik yapma konusunda daha pek çok fırsat
İşlemleri yalnızca haricen sahiplenilen cüzdanlar () başlatabildiğinden, bu avantajlar bugün Ethereum üzerinde yerel olarak desteklenmemektedir. EOA'lar basitçe genel-özel anahtar çiftlerinden oluşur. Şu şekilde çalışmaktadırlar:
- eğer gizli anahtara sahipseniz, Ethereum Sanal Makinesi (EVM) üzerinde her şeyi yapabilirsiniz
- eğer gizli anahtara sahip değilseniz, hiçbir şey yapamazsınız.
Anahtarlarınızı kaybederseniz, hesaplar kurtarılamazlar. Çalınan anahtarlar, hırsızların bir hesaptaki tüm paraya anında erişmesini sağlar.
Akıllı sözleşme cüzdanları bu sorunların çözümüdür, ancak bugün programlamaları/tasarlamaları zordur çünkü sonunda uyguladıkları herhangi bir mantığın, Ethereum tarafından işlenmeden önce bir dizi EOA işlemine dönüştürülmesi gerekmektedir. Hesap soyutlama, akıllı sözleşmelerin işlemleri kendilerinin başlatabilmesini. sağlar. Böylece kullanıcının uygulamak istediği herhangi bir mantık, akıllı sözleşme cüzdanının kendisi üzerine kodlanabilir ve Ethereum üzerinde yürütülebilir.
Sonuç olarak hesap soyutlama, akıllı sözleşme cüzdanlarına yönelik desteği geliştirerek, bunların oluşturulmasını kolaylaştırır ve kullanımını daha güvenli hale getirir. Hesap soyutlama ile birlikte kullanıcılar, altta yatan teknolojinin ne olduğunu bilmeden veya hiç umursamadan Ethereum'un tüm avantajlarından yararlanabilirler.
Güvenlik kelimelerinin ötesinde
Bugün mevcut olan hesaplar, güvenlik kelimelerinden hesaplanan özel anahtarlar kullanılarak güvence altına alınmıştır. Güvenlik kelimelerine erişimi olan herhangi bir kişi, bir hesabı koruyan özel anahtarı kolayca keşfedebilir ve koruduğu tüm varlıklara erişim sağlayabilir. Bir özel anahtar ve güvenlik kelimeleri kaybolursa, asla kurtarılamazlar ve kontrol ettikleri varlıklar sonsuza kadar Ethereum'un derinliklerinde kalır. Güvenlik kelimelerinin güvenliğini sağlamak, deneyimli kullanıcılar için bile gariptir. kimlik avı saldırıları, kullanıcıların dolandırıldığı en yaygın yolların başında gelir.
Hesap soyutlama, sahip olunan varlıkları saklamak ve yapılacak işlemleri yetkilendirmek için bir akıllı sözleşme kullanarak bu sorunu çözecektir. Bu akıllı sözleşmeler, daha sonra onları olabildiğince güvenli ve kullanıcıya göre uyarlanmış hale getirmek için istenilen şekilde dizayn edilebilir. Sonuç olarak, hesabınıza erişimi kontrol etmek için özel anahtarları kullanmaya devam edebilirsiniz. Ancak bunları yönetmeyi daha kolay ve daha güvenli hale getiren imkânlar vardır.
Mesela bir cüzdana yedek anahtarlar eklenebilir. Böylece hesabın ana anahtarlarınızı kaybederseniz veya yanlışlıkla ifşa ederseniz, yedek anahtarlar sayesinde yeni ve güvenli bir anahtarla değiştirebilirsiniz. Bu anahtarların her birini farklı bir şekilde güvence altına alabilir veya bunları güvenilir kişiler arasında paylaştırabilirsiniz. Bu, bir hırsızın varlıklarınız üzerinde tam kontrol sahibi olmasını oldukça zorlaştırır. Benzer şekilde, ana anahtarınız tehlikeye girerse etkiyi azaltmak için cüzdanınıza kurallar ekleyebilirsiniz. Örneğin, düşük değerli işlemlerin tek bir imzayla doğrulanmasına izin verirken, yüksek değerli işlemlerin birden fazla kimliği doğrulanmış imzacıdan onay alınmasını şart koşabilirsiniz. Akıllı sözleşme cüzdanlarının hırsızları engellemenize yardımcı olabileceği başka yollar da vardır. Örneğin, güvenilir bir adrese yapılmadığı veya önceden onaylanmış anahtarlarınızdan birkaçı tarafından doğrulanmadığı sürece her işlemi engellemek için bir izin listesi kullanılabilir.
Bir akıllı sözleşme cüzdanına uygulanabilecek güvenlik mekanizması örnekleri:
- Çoklu imza yetkisi: Yetkilendirmeyi birden fazla güvenilir kişi veya cihaz arasında paylaşabilirsiniz. Sonrasında sözleşme, belirlenmiş bir değerin üzerindeki işlemlerin güvendiğiniz tarafların belirli bir oranının (ör. 3/5) yetkisini gerektirecek şekilde yapılandırılabilir. Örneğin, yüksek değerli işlemler, hem mobil cihazdan hem de donanım cüzdanından onay veya güvenilir aile üyelerine dağıtılan hesaplardan imza gerektirebilir.
- Hesap dondurma: Bir cihaz kaybolursa veya güvenliği ihlal edilirse, hesap başka bir yetkili cihazdan kilitlenerek kullanıcının varlıkları korunabilir.
- Hesap kurtarma: Bir cihazınızı kaybettiniz ya da bir şifrenizi mi unuttunuz? Mevcut şartlar altında bu, varlıklarınıza olan erişiminizin sonsuza kadar kaybolması anlamına gelir. Akıllı sözleşme cüzdanı ile yeni cihazları yetkilendirebilen ve erişimi sıfırlayabilen bir izinli hesaplar listesi oluşturabilirsiniz.
- İşlem sınırı belirleme: Hesap içerisinden bir gün, hafta veya ay içinde ne kadar varlık transfer edilebileceğine ilişkin günlük sınırlar belirleyebilirsiniz. Bu, bir saldırgan hesabınıza erişim elde ederse tüm varlıkları tek seferde çalamayacağı ve hırsızın erişimini engelleme ve sıfırlama fırsatınız olduğu anlamına gelir.
- İzin listeleri oluşturma: Sadece güvenli olduğunu bildiğiniz belirli adreslere yapılan işlemlere izin verin. Bu, şu anlama gelir: Özel anahtarınız çalınmış olsa bile, saldırgan sadece listenizdeki hedef hesaplara varlık aktarabilir. Bu izin listelerini değiştirmek için birden fazla imza gerekir. Bu sayede bir saldırgan, birkaç yedek anahtarınıza erişimi olmadığı sürece kendi adresini listeye ekleyemez.
Daha iyi kullanıcı deneyimi
Hesap soyutlama, protokol düzeyinde akıllı sözleşme cüzdanları için destekte bulunduğundan, daha iyi bir kullanıcı deneyiminin yanı sıra gelişmiş güvenlik de sağlamaktadır. Bunun en önemli nedeni, akıllı sözleşmeler, cüzdanlar ve uygulama geliştiricilerine, kullanıcı deneyimi üzerinde henüz tahmin bile edemeyeceğimiz şekillerde yenilik yapmak için çok daha fazla özgürlük sağlayacak olmasıdır. Hesap soyutlamayla birlikte ortaya çıkacak bazı belirgin iyileştirmeler, işlemlerin hız ve verimlilik için bir araya getirilmesini içermektedir. Örnek olarak, basit bir takasın mantıken tek tıklamayla gerçekleştirilebilecek bir işlem olması gerekir. Ancak bugün, takas yürütülmeden önce jetonların harcanmasını onaylamak için birden fazla işlemin imzalanması gerekmektedir. Hesap soyutlama, işlemlerin gruplanmasına izin vererek bu sorunu ortadan kaldırmaktadır. Ayrıca gruplandırılmış işlemler, her işlem için gereken tokenlerin doğru değerini tam olarak onaylayabilir ve işlem tamamlandıktan sonra onayları iptal ederek ek güvenlik sağlayabilir.
Gaz ücretlerinin yönetimi de hesap soyutlama ile daha çok iyileştirildi. Uygulamalar kullanıcılarının gaz ücretlerini ödemeyi teklif etmekle kalmaz, aynı zamanda gaz ücretleri ETH dışındaki token'larla da ödenebilir. Bu da kullanıcıların yapacağı işlemler için bir ETH bakiyesi tutma zorunluluğunu ortadan kaldırmaktadır. Bu, kullanıcının token'larını sözleşme içerisinde ETH ile değiştirerek çalışır ve ardından ETH'yi gaz için ödemek üzere kullanır.
Güvenilir oturumlar, özellikle kısa süre içerisinde çok sayıda küçük işlemin onaylanması gerekebilecek oyun gibi uygulamalar için kullanıcı deneyimleri açısından da potansiyel olarak dönüştürücüdür. Her işlemi tek tek onaylamak oyun deneyimini bozar ve sürekli onay vermek güvenli değildir. Bir akıllı sözleşme cüzdanı; belirli bir süre için, belirli bir değere kadar veya sadece belirli adreslere bazı işlemleri onaylayabilir.
Hesap soyutlama ile satın alma sistemlerinin nasıl değişebileceğini düşünmek de ilgi çekicidir. Bugün her işlemin, yeterli miktarda doğru token ile önceden finanse edilmiş bir cüzdandan onaylanması ve yürütülmesi gerekmektedir. Hesap soyutlamayla birlikte alışveriş deneyimi, bir kullanıcının bir "sepet"i öğelerle doldurabildiği ve tüm mantığın kullanıcı tarafından değil, sözleşme tarafından ele alınmasıyla, tümünü tek seferde satın almak için bir kez tıklayabildiği alışıldık bir çevrimiçi alışverişe daha çok benzeyebilir.
Bunlar, hesap soyutlama sayesinde kullanıcı deneyimlerinin nasıl ölçeklendirilebileceğine dair yalnızca birkaç örnektir. Ancak henüz hayal edemediğimiz çok daha fazla özellik de olacaktır. Hesap soyutlama, geliştiricileri günümüzün EOA'larının kısıtlamalarından kurtarır. Web2'nin iyi yönlerini kişisel gözetimden ödün vermeden web3'e getirmelerine ve yaratıcı yeni kullanıcı deneyimlerinde yaratıcı bir şekilde uygulamalarına olanak tanır.
Hesap soyutlama uygulamaya nasıl geçecek?
Akıllı sözleşme cüzdanları bugün mevcut durumdadır. Ancak EVM onları desteklemediği için uygulanması bir hayli zordur. Bunun yerine, standart Ethereum işlemlerinin etrafına nispeten daha karmaşık kodlar eklemeye güvenmektedirler. Ethereum, akıllı sözleşmelerin işlem başlatmasına izin vererek, zincir dışı yerine Ethereum akıllı sözleşmelerinde gerekli mantığı ele alarak bunu değiştirebilir. Akıllı sözleşmelere bir "mantık" eklemek, cüzdan geliştiricileri tarafından yönetilen "aktarıcıların" kullanıcı tarafından imzalanan mesajları normal Ethereum işlemlerine çevirme ihtiyacını ortadan kaldırdığı için Ethereum'un merkeziyetsizliğini de arttırmaktadır.
Güncel ilerleme
Akıllı sözleşme cüzdanları çoktan beri mevcut, ancak bu cüzdanları olabildiğinde merkeziyetsiz ve izinsiz hale getirmek için daha fazla yükseltme gerekiyor. EIP-4337, Ethereum protokolünde hiçbir değişikliğe gerek duymayan olgun bir tekliftir, yani hızlıca uygulanması olasıdır. Ancak, Ethereum protokolünde değişen bazı yükseltmeler artık aktif geliştirme sürecinde değil, yani bu değişimlerin gelmesi uzun zaman alabilir. Hesap soyutlamaya da EIP-4337 gibi protokolde bir değişikliğe gerek duymayan bir madde tarafından ulaşılması olası.
Daha fazla bilgi
- erc4337.io(opens in a new tab)
- Hesap soyutlama paneli tartışması, Devcon Bogota(opens in a new tab)
- "Hesap soyutlama neden merkeziyetsiz uygulamalar için ezber bozan bir şey?", Devcon Bogota(opens in a new tab)
- "Hesap soyutlama ELI5", Devcon Bogota(opens in a new tab)
- Vitalik'in "Hesap Soyutlamaya Doğru" notları(opens in a new tab)
- Vitalik'in sosyal toparlanma cüzdanları hakkındaki blog gönderisi(opens in a new tab)
- EIP-2938 notları(opens in a new tab)
- EIP-2938 belgeleri(opens in a new tab)
- EIP-4337 notları(opens in a new tab)
- EIP-4337 belgeleri(opens in a new tab)
- EIP-2771 belgeleri(opens in a new tab)
- "Hesap Soyutlama Hakkında Temel Bilgiler" - Hesap Soyutlama Nedir Bölüm 1(opens in a new tab)