Hesap soyutlama, blockchain kullanıcı hesaplarının davranışında ve yönetiminde esnekliği artırır ve akıllı sözleşme cüzdanlarının oluşturulmasını önemli ölçüde kolaylaştırır.
Blockchain ağlarında genellikle iki tür hesap bulunur: kullanıcılar tarafından kontrol edilen harici hesaplar (EOA’lar) ve akıllı sözleşme koduyla yönetilen sözleşme hesapları. Bir blockchain ağıyla etkileşime geçmek için bir EOA’ya ihtiyacınız vardır çünkü bunlar, işlemleri başlatmanın ve akıllı sözleşmeleri yürütmenin tek yoludur.
Ancak EOA’lar bu temel işlemlerle sınırlıdır ve bu durum sorunlu olabilir çünkü bu, bir blockchain ağıyla etkileşim kurma seçeneklerinizi kısıtlar. Örneğin, toplu işlemleri zorlaştırır ve ücretleri karşılamak için her zaman ağın yerel tokenından yeterli bakiyeye sahip olmanızı gerektirir.
Peki bu sorunlarla nasıl baş edebiliriz?
Şu anda herkesin aklındaki çözümlerden biri hesap soyutlamasıdır!
Hesap soyutlama, blockchain kullanıcı hesaplarının davranışında ve yönetiminde esnekliği artırır ve akıllı sözleşme cüzdanlarının oluşturulmasını önemli ölçüde kolaylaştırır. Akıllı sözleşme cüzdanları, kullanıcı hesaplarını tanımlayan ve yöneten özel amaçlı akıllı sözleşmelerdir. Esnek güvenlik kurallarının ana hatlarını çizme, toplu işlemler yapma, bir hesabı tohum cümlesi olmadan kurtarma vb. olasılığının açılması gibi birçok faydası vardır.
Bununla birlikte, geleneksel bir perspektiften bakıldığında, akıllı sözleşme cüzdanlarını programlamak zor olmuştur çünkü ağın onları işleyebilmesi için mantığının bir dizi EOA işlemine çevrilmesi gerekmektedir. Bu sorunu çözmek için hesap soyutlama, akıllı sözleşmelerin işlemleri başlatmasını sağlar. Bu, uygulamak istediğiniz herhangi bir mantığın akıllı sözleşme cüzdanının kendisine kodlanabileceği ve söz konusu blockchain ağında yürütülebileceği anlamına gelir.
Sonuç olarak, hesap soyutlama, akıllı sözleşme cüzdanlarına yönelik desteği geliştirir ve kriptoyu, basit EOA’ların mevcut yaklaşımından, hesapların akıllı sözleşmeler yoluyla kullanıcıların ihtiyaçlarına göre özelleştirilebildiği bir geleceğe kaydırır. Bu değişim, cüzdan tasarımında bir dizi iyileştirmenin önünü açıyor ve son kullanıcılar için karmaşıklığı azaltıyor!
Hesap Soyutlama ve Ethereum
Hesap soyutlama söz konusu olduğunda Ethereum şu anda başı çekiyor. Bu nedenle ne olduğunu ve nasıl çalıştığını daha detaylı açıklamak için örnek olarak Ethereum ağını kullanacağız!
Ethereum’da hesap soyutlaması birçok şekil ve formda olabilir ve çeşitli EIP’ler, akıllı sözleşme cüzdanlarının oluşturulmasını kolaylaştırmak için çeşitli yaklaşımlar önerir. Ancak en önemli teklifler arasında yer alan EIP-4337 şu anda aktif ve topluluk tarafından tercih edilen yaklaşımın ana hatlarını çiziyor.
EIP-4337, alternatif bir bellek havuzu kullanarak hesap soyutlamayı uygular ve akıllı sözleşmelere EOA özellikleri sunar. Üstelik bu önerinin öne çıkmasının ve topluluk tarafından beğenilmesinin nedenlerinden biri de Ethereum protokolünde herhangi bir değişiklik gerektirmemesidir.
Peki bu nasıl çalışıyor?
Yukarıdaki soruyu yanıtlamak için EIP-4337’ye dayalı hesap soyutlamanın beş temel konseptine bakalım!
Kullanıcı İşlemi
EOA’nın yaptığı gibi normal bir işlem göndermek yerine, EIP-4337’nin üst düzey sistemi, UserOperations adı verilen yeni bir nesne türü kullanılarak oluşturulur. UserOperation, kullanıcı adına gerçekleştirilecek işlemleri temsil eden sözde işlem nesnesidir.
UserOperation nesneleri, akıllı sözleşme hesabı tarafından başlatılan akıllı sözleşme çağrılarını yürütmek için verilere ve birden fazla talimata sahip olabilir. Bu nesneler, “paket oluşturucular” olarak adlandırılan doğrulayıcıların bunları “paketlenmiş bir işlem” halinde toplayabildiği özel bir bellek havuzuna yayınlanır.
Paketleyici
Bir paketleyici, UserOperation nesneleri için özel olarak oluşturulmuş alternatif bellek havuzunu izlemekten sorumludur. Paketleyici, Kullanıcı İşlemlerini tek bir işlemde “paketler” ve bunu Giriş Noktası sözleşmesine gönderir. Paketleyicilere bu iş karşılığında gaz ücretlerinin bir kısmı ödeniyor.
EAO’ların yine de tüm Ethereum işlemlerini başlatması gerektiğinden, paketleyiciler bu hesap soyutlama iş akışı için çok önemlidir. Üstelik tüm paketleyicilerin EOA’ları vardır ve bu hesap soyutlama ekosisteminde bunlara ihtiyaç duyan tek katılımcılar onlardır. Bu uygulama, Web3’teki herkesin kendi EOA’sına sahip olma ihtiyacını bu şekilde ortadan kaldırabilir!
Giriş noktası
EntryPoint, paketleyicilerden işlemleri alan akıllı bir sözleşmedir. Bu akıllı sözleşme, Kullanıcı İşlemlerinin doğrulanması ve yürütülmesinden sorumludur. Doğrulama işlemi sırasında EntryPoint akıllı sözleşmesi, cüzdanda yeterli paranın olmasını sağlar. Aksi takdirde işlemi reddeder.
Yürütme süreci sırasında EntryPoint akıllı sözleşmeleri, operasyonun çağrı verilerini kullanarak akıllı sözleşme cüzdanlarını arayarak UserOperations’ı yürütür. EntryPoint ayrıca paketleyicilere geri ödeme yapmak için hesaptan para alır.
Ödeme sorumlusu
Ayrıca gaz ödeme politikalarının uygulanmasından sorumlu olan Paymaster adında akıllı bir sözleşme de bulunmaktadır. Bu politikalar gazı kimin, nasıl ödeyeceği konusunda esneklik sağlar. Sonuç olarak, kullanıcıların ağ ile etkileşimde bulunmak için yerel ETH jetonunu tutma zorunluluğunu ortadan kaldırır.
Toplayıcı
Toplayıcı akıllı sözleşmesi, toplamayı destekleyen bir imza şeması uygular. Birden fazla mesaj birden fazla anahtarla imzalanırsa, tüm toplu imzaları aynı anda doğrulayan tek bir birleşik imza oluşturmak mümkündür. Bunu yaparken, bir Toplayıcı sözleşmesi, birden çok toplu Kullanıcı İşleminin tek bir adımda doğrulanması nedeniyle çağrı verisi maliyetlerinden tasarruf edilmesine yardımcı olur.
Şimdi bu size EIP-4337‘ye dayalı olarak hesap soyutlamanın nasıl çalıştığına dair bir genel bakış sunuyor. Ancak daha önce de belirttiğimiz gibi hesap soyutlamaya yönelik tek öneri bu değil. Bu nedenle, bir sonraki bölümde bazı ek EIP’lere bakalım!
Hesap Soyutlama EIP Teklifleri
Daha önce de belirttiğimiz gibi EIP-4337’ye ek olarak birden fazla EIP bulunmaktadır. Bu bölümde EIP-2771’den başlayarak diğerlerine biraz daha derinlemesine bakacağız!
EIP-2771 : EIP-2771, Ethereum protokolünde herhangi bir değişiklik yapmadan, üçüncü taraf aktörlerin kullanıcıların gaz maliyetlerini ödemesine olanak tanıyan meta işlemleri tanıtıyor. Buradaki fikir, imzalanan işlemlerin bir Forwarder sözleşmesine gönderilmesidir. İletici sözleşmesi daha sonra işlemi doğrular ve bunu bir gaz rölesine gönderir. Gaz rölesi daha sonra işlemi bir Alıcı sözleşmesine iletir ve işlemin yürütülebilir hale getirilmesi için gaza ödeme yapar.
EIP-2938 : Önceki tekliflerden farklı olarak EIP-2938, AA_TX_TYPE adı verilen yeni bir işlem türü ekleyerek Ethereum protokolünü güncellemeyi amaçlamaktadır. Bu işlem türü üç alan içerir: tek seferlik, hedef ve veri. Nonce bir işlem sayacıdır, hedef giriş noktası adresidir ve veriler EVM bayt kodudur.
Bu işlemleri gerçekleştirmek için EVM’ye iki ek talimat eklememiz gerekiyor: NONCE ve PAYGAS. Bu özellikler Ethereum’un akıllı sözleşme cüzdanlarını yerel olarak desteklemesine olanak tanır.
EIP-3074 : EIP-3074, kontrolü akıllı sözleşmelere devredebilmeleri için Ethereum’un EOA’larını güncellemeyi amaçlamaktadır. Bu, akıllı sözleşmelerin kullanıcı hesaplarından kaynaklanan işlemleri onaylamasına olanak tanıyacaktır. Ancak bunun çalışması için iki EVM “işlem kodu” eklememiz gerekir: AUTH ve AUTHCALL.
Bu uygulama ile akıllı sözleşme cüzdanları sözleşme gerektirmeden kullanıma sunulacaktır. Bunun yerine, işlemleri “Invoker” adı verilen, güvenilir olmayan, durum bilgisi olmayan, yükseltilemeyen bir sözleşme yönetecek.
Bununla birlikte, dört teklif arasında (EIP-4337, EIP-2771, EIP-2938 ve EIP-3074) topluluk şu anda EIP-4337’yi tercih ediyor. Bu çoğunlukla EIP-4337’nin Ethereum protokolünde herhangi bir değişiklik gerektirmemesiyle ilgilidir!
Hesap Soyutlamaya Yönelik Kullanım Örnekleri
Hesap soyutlama nispeten yeni bir kavramdır ve geliştiriciler hala bunun Web3‘e getirdiği birçok olasılığı araştırmaktadır. Ancak size bazı örnekler vermek gerekirse, aşağıdaki dört bölümde hesap soyutlamanın kilidini açtığı bazı önemli kullanım örneklerini inceleyeceğiz!
Cüzdan Kurtarma
Geleneksel EOA’ların aksine, akıllı sözleşme cüzdanının güvenliği özel bir anahtara veya tohum cümlesine bağlı değildir. Akıllı sözleşme cüzdanları daha dinamiktir ve birden fazla kişiyi, cihazı ve hatta üçüncü taraf hizmetlerini cüzdan koruyucuları olarak atamanıza olanak tanır. Kimlik bilgilerinizi kaybetmeniz durumunda, bir vasi, cüzdanınıza tekrar erişmenizi sağlayacak bir işlemi imzalayabilir.
Toplu İşlemler
EOA kullanarak merkezi olmayan bir borsada (DEX) bir tokenden diğerine basit takaslar yapmak için iki ayrı işleme ihtiyacınız vardır. Değiştirmek istediğiniz jetonu kullanmak için dapp’i onaylamak için bir tane ve takası imzalayıp yürütmek için bir tane daha.
Akıllı sözleşme hesabıyla birden fazla işlemi bir araya toplayıp aynı anda onaylamak mümkündür. Bu, tek tıklamayla işlemler gibi işlemleri mümkün kılarak DeFi’yi geleneksel finans kadar sorunsuz ve basit hale getirebilir.
Otomatik İşlemler
EOA’larla her işlemi her zaman manuel olarak başlatmanız ve imzalamanız gerekir. Güvendiğiniz işlemler için bu süreci otomatikleştirmenin bir yolu yoktur. Ancak akıllı sözleşme hesabıyla işlemleri sorunsuz bir şekilde otomatikleştirmek için bir dizi parametre tanımlayabilirsiniz. Bu, örneğin abonelik hizmetleri için aylık ödemeleri ayarlamanıza olanak tanır.
Paylaşılan Hesaplar
Geleneksel EOA’lara tek bir tohum cümlesiyle erişebilirsiniz, böylece cüzdanınıza erişimin tamamını paylaşabilir veya hiç paylaşmayabilirsiniz. Arası yok.
Hesap soyutlama ise cüzdanınıza çeşitli düzeylerde erişimi istediğiniz kadar kullanıcıyla paylaşmanıza olanak tanır. Örneğin, bir işlemin geçmesi için iki veya daha fazla kullanıcının imza atması gereken çoklu imza sistemi kurabilirsiniz. Veya hesabınıza sınırlı bir süre için kullanıcı ekleyin.
Sonuç olarak, hesap soyutlama birçok fırsatın önünü açarak kullanıcıların Ethereum hesaplarını nasıl kullanacakları konusunda yaratıcı olmalarına olanak tanıyor!
Özet: Hesap Soyutlaması Nedir?
Bugünkü yazımızda hesap soyutlama kavramını inceledik. Bunu yaparken, hesap soyutlamanın, kriptoyu basit EOA yaklaşımından, hesapların akıllı sözleşmeler yoluyla kullanıcıların ihtiyaçlarına göre özelleştirilebileceği bir geleceğe taşımayı amaçladığını öğrendik. Bu, cüzdan tasarımında birçok iyileştirmenin önünü açıyor ve daha kusursuz bir kullanıcı deneyimi sağlayarak son kullanıcılar için karmaşıklığı önemli ölçüde azaltabiliyor!
Hesap soyutlama için pek çok kullanım durumu vardır ve bazı örnekler arasında paylaşılan hesaplar, otomatik işlemler, toplu işlemler vb. yer alır. Sonuç olarak, hesap soyutlama bir dizi fırsatın önünü açarak kullanıcıların ve geliştiricilerin hesapları nasıl kullanacakları konusunda yaratıcı ve yenilikçi olmalarına olanak tanır.