- On Ethereum, users can create two types of accounts that hold their crypto: External Owned Accounts (EOA) and Contract Accounts (CA).
- EOAs, which most Ethereum users opt for, are the type of account you use if you open a MetaMask and Coinbase Wallet.
- With EOAs, users are given a pair of private and public keys, and anyone can send crypto to an EOA using their public key. On EOAs, only the owner of their account, the person who has access to their private keys, can initiate transactions.
- CAs on the other hand, are accounts controlled by code – not private keys – so they cannot initiate transactions themselves.
- The issue with EOAs comes down to human error – if a user loses their private keys, there is no way to recover that. Account Abstraction addresses the issues of an EOA account by merging it with a CA – therefore creating built-in mechanisms that can allow users to keep access to their crypto.
- Some of these built-in mechanisms include a social recovery system, where several users have the ability to return access to that account should someone lose their personal private key. Account Abstraction also allows users to create “multisig wallets” that give a group of users access to an account, and require multiple users to sign off on transactions as an extra safety mechanism.
Table of Contents |
---|
Key Points
...
The Ethereum blockchain has deployed a feature known as “account abstraction,” seen as a key enhancement that could make it easier for users to recover crypto if they lose private keys to an online wallet.
This proposal just adds a new layer atop Ethereum’s mainnet layer. The goal is to eventually integrate account abstraction into the main protocol.
The contract can be used on all EVM chains, meaning it can be deployed anywhere that is EMV-compatible.
Account Abstraction is a concept that turns users' wallets into smart contract accounts, in order to make Ethereum wallets more user-friendly and to prevent any loss of crypto keys
How Account Abstraction works
1) An insightful deep dive from Devcon 2022 on Account Abstraction as a paradigm and its several innovative use cases:
https://archive.devcon.org/archive/watch/6/account-abstraction-making-accounts-smarter/?tab=YouTube
2) A walk through on how account abstraction as a paradigm and its design approaches, evolved through time:
https://medium.com/nethermind-eth/the-history-and-future-of-account-abstraction-10cb097ebdc8
Wallet security challenges
...
Web3j.lib - java version of Web3js lib
Bitcoinlib - wallet, with multi signature, multi currency and multiple accounts
https://bitcoinlib.readthedocs.io/en/latest/
Bitcoin and other Crypto Currency Library for Python.
Includes a fully functional wallet, with multi signature, multi currency and multiple accounts. Use this library to create and manage transactions, addresses/keys, wallets, mnemonic password phrases and blocks with simple and straightforward Python code.
You can use this library at a high level and create and manage wallets on the command line or at a low level and create your own custom made transactions, scripts, keys or wallets.
The BitcoinLib connects to various service providers automatically to update wallets, transactions and blockchain information.
Wallet
This Bitcoin Library contains a wallet implementation using SQLAlchemy and SQLite3, MySQL or PostgreSQL to import, create and manage keys in a Hierarchical Deterministic way.
...