Today, Ethereum-based
blockchains support two types of accounts:
Externally-owned accounts (EOAs): accounts controlled by ownership of a
private key
Smart contract accounts: accounts controlled by code deployed to the
network
Historically, EOA accounts have been limited in their functionality: users can
send and receive blockchain transactions signed by their private key(s), and
nothing more.In contrast, smart contract accounts
enable limitless functionality,
including:
Batch calls: Sending multiple transactions at once
Gas fee sponsorship: Frictionless zero-fee user transactions
Arbitrary signing keys: Use diverse signature schemes (P256, BLS,
etc.)
Advanced ACLs: Assign granular usage permissions and control access
lifespans
Account Abstraction attempts to blur
the line between EOAs and smart contract accounts, by enabling users to replace
their EOA accounts with programmatic functionality.
Ritual Chain is one of the earliest blockchains to support
EIP-7702: Set EOA account code, the
leading account abstraction implementation, initially proposed by Vitalik
Buterin.EIP-7702 adds a new transaction type, SetCodeTx, which enables EOA accounts to
delegate a smart contract as their implementation.Now, in addition to regular EOA functionality, users can also use programmatic
smart contract functionality as if a contract was deployed to their EOA
address itself. This is done by signing and sending a transaction to
address(self).