Account abstraction. Users interact with Ethereum using externally owned accounts (EOAs). This is the only way to start a transaction or execute a smart contract. This limits how users can interact with Ethereum. For example, it makes it difficult to do batches of transactions and requires users to always keep an ETH balance to cover gas.