Ethereum has two types of accounts. The first is the "externally owned account" (EOA), which is a regular user account for transferring ether (ETH). An EOA is controlled with the user's private key that proves ownership of the tokens.
The second account type is the "contract account," and transactions targeting contract accounts cause the smart contract to execute functions. If the data sent to a contract cause an error, any actions taken by the contract to that point are reversed, although the gas fee is still collected. See
Ethereum.
Account Abstraction
Account abstraction, embodied in ERC-4337, makes all Ethernet accounts smart contract accounts that hold the assets. See
ERC-4337.