Account Abstraction
Account Abstraction, para hesaplarını nasıl yönetildiğının bir paradigmalı değişikliği yaratır. Ethereum gibi bitki yolu Blockchain örnekleri genelde iki ana hesap türü kullandı: Özel anahtarlar tarafından kontrol edilen özel dışa vurma hesapları (EOA) ve sanihesaplar, yani bitki uygulamaları. Account Abstraction ise bu hesap türlerini birleştirerek, bitki uygulamalarını hapse dönüştürme ve multi-factor authentication, hesaplama teşvik ve hesap geri yükleme gibi özelliklere olanak tanımaya çalışmaktadır. Bu yaklaşım, devriye uygulamaları (dApps) ile geleneksel olarak dışa vurma işlemlerini kolaylaştıracak ve güvenlik üzerinde iyileştirici özelliklere sahip olmayı öngörebilir. Çoklu işlemi birleştirerek gas fiyatlardan birinin ödeneği, daha karmaşık izni scheme'leri gibi yeni özelliklerin kullanılmasına da olanak tanır. Hedef olarak bitki ile ilişkili işlemlerin tasarımı ve güvenlik için kendi web uygulamalarına benzeyebilecek düzeyde kolaylaşılarak mümkün kılınması hedeflenmektedir.
Blok zinciri bağlamında, özellikle Ethereum'daki Hesap Soyutlaması (AA), Harici Sahipli Hesapların (EOA'lar) sınırlamalarının ötesinde akıllı sözleşme işlevselliğini geliştirmeyi amaçlar. Özel anahtarlarla kontrol edilen EOA'lar, öncelikle işlem imzalamak gibi sabit bir yetenek setine sahiptir. Hesap Soyutlaması, akıllı sözleşmelerin kendilerini hesap olarak ele almayı, onlara programlanabilir mantık ve geliştirilmiş özellikler kazandırmayı önerir. Bu, işlem doğrulama ve yürütme için bir "memempool" (işlem havuzu) tanıtan ERC-4337 ve imzaları zincir dışında doğrulamak için ERC-1271 gibi standartlar aracılığıyla gerçekleştirilir. Temel faydalar arasında, sosyal kurtarma (güvenilir kişileri atayarak tohum ifadeleri olmadan bir hesabı kurtarma), gas sponsorluğu (üçüncü tarafların işlem ücretlerini ödemesine izin verme) ve toplu işlemler (birden çok işlemi tek bir atomik işlemde birleştirme) gibi gelişmiş kullanıcı deneyimi yer alır. Teknik açıdan bakıldığında, AA, özel anahtar kriptografisinin ötesinde esnek kimlik doğrulama yöntemlerine izin vererek çoklu imza cüzdanları, donanım cüzdanı entegrasyonları veya hatta akıllı sözleşme tarafından yönetilen biyometrik kimlik doğrulama gibi özellikleri mümkün kılar. Ayrıca, koşullu harcama veya çok adımlı onay süreçleri gibi daha karmaşık işlem doğrulama kurallarını kolaylaştırır. Dezavantajları arasında akıllı sözleşme geliştirme ve denetiminde artan karmaşıklık, daha gelişmiş hesap mantığı için potansiyel gas maliyeti etkileri ve akıllı sözleşme hesabının kendisindeki güvenlik açıklarını önlemek için sağlam güvenlik önlemlerine duyulan ihtiyaç yer alır.
graph LR
Center["Account Abstraction"]:::main
Pre_blockchain["blockchain"]:::pre --> Center
click Pre_blockchain "/terms/blockchain"
Pre_smart_contracts["smart-contracts"]:::pre --> Center
click Pre_smart_contracts "/terms/smart-contracts"
Pre_ethereum["ethereum"]:::pre --> Center
click Pre_ethereum "/terms/ethereum"
Rel_wallet["wallet"]:::related -.-> Center
click Rel_wallet "/terms/wallet"
Rel_reflection_token["reflection-token"]:::related -.-> Center
click Rel_reflection_token "/terms/reflection-token"
Rel_distributed_ledger_technology_dlt["distributed-ledger-technology-dlt"]:::related -.-> Center
click Rel_distributed_ledger_technology_dlt "/terms/distributed-ledger-technology-dlt"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Bilgi testi
🧒 5 yaşındaki gibi açıkla
Normal çevrimiçi hesabınızı yalnızca ileri giden basit bir oyuncak araba gibi düşünün. Hesap Soyutlaması, arkadaşlarınızın uzaktan kumandayı kaybederseniz size yardım etmesine izin vermek veya hatta kendi benzini için ödeme yapmak gibi birçok harika numara yapabilen süper güçlü bir robot araba haline getirir!
🤓 Expert Deep Dive
Hesap Soyutlaması (AA), öncelikle Ethereum'un ERC-4337 ve ilgili standartları tarafından yönlendirilir ve akıllı sözleşmeleri işlem başlatabilen birinci sınıf vatandaşlar olarak ele alarak hesap yönetiminde devrim yaratır. Yalnızca özel anahtarlarla yönetilen geleneksel Harici Sahipli Hesapların (EOA'lar) aksine, 'akıllı hesaplar' veya 'sözleşme hesapları' olarak bilinen AA özellikli hesaplar, belirli arayüzlere (örneğin, IAccountAbstraction) uyan dağıtılmış akıllı sözleşmelerdir.
AA'nın temelinde 'Paymaster' (Ödeme Ustası) ve 'Bundler' (Paketleyici) kavramları yer alır. Paketleyiciler, kullanıcı işlemlerini (akıllı hesaplardan gelen imzalı işlemler) toplayıp bunları ağa tek bir işlem olarak gönderen zincir dışı varlıklardır. Bu süreç, 'UserOperation mempool' adı verilen yeni bir işlem havuzu ile kolaylaştırılır. Başka bir akıllı sözleşme olan Ödeme Ustası, kullanıcılar için gas ücretlerini sponsor olabilir (ERC-20 token'larında gas ödemesini veya kullanıcılar için ücretsiz işlemleri mümkün kılar) veya özel doğrulama mantığı uygulayabilir.
Akıllı bir hesap için doğrulama süreci tipik olarak akıllı hesap sözleşmesi içindeki isValidSignature fonksiyonunu veya özel bir validateUserOp fonksiyonunu çağırmayı içerir. Bu fonksiyon, UserOperation hash'ini ve kullanıcı tarafından sağlanan imzayı alır. Akıllı hesap daha sonra işlemi doğrulamak için iç mantığını yürütür; bu, çok faktörlü kimlik doğrulama (örneğin, bir donanım cüzdanı imzası ve zaman kilitli bir yedek gerektirme), sosyal kurtarma mekanizmaları veya oturum anahtarlarını içerebilir.
solidity
// Basitleştirilmiş bir Akıllı Hesap doğrulama mantığı örneği
interface ISmartAccount {
function validateUserOp(UserOperation calldata op, bytes calldata signature) external returns (uint256 validUntil, bytes32 validHash);
}
contract MySmartAccount is ISmartAccount {
address public owner;
address public guardian;
uint256 public recoveryTimeout;
function validateUserOp(UserOperation calldata op, bytes calldata signature) external view override returns (uint256, bytes32) {
// İmza doğrulama mantığı burada, örn. ECDSA, multi-sig vb.
// Örnek: require(ecrecover(keccak256(hash(op)), sig) == owner);
// Koruyucu imzasına dayalı zaman kilitli kurtarma mantığı da uygulanabilir
return (block.timestamp + 3600, keccak256(abi.encode(op))); // 1 saat geçerli
}
}
Bu mimari değişim, işlem imzalamayı anahtar yönetiminden ayırarak, temel blok zincirinin güvenlik ilkelerinden ödün vermeden daha zengin, daha güvenli ve kullanıcı dostu etkileşimlere olanak tanır.