BLOCKCHAIN & WEB3 FUNDAMENTALS - Chapter 6, Exercise 1 Solution ========================================================== EOAs vs. Contract Accounts, and Why Bitcoin Has No Equivalent PROBLEM ------- Explain the real difference between an Externally Owned Account and a Contract Account on Ethereum, and why Bitcoin's own UTXO model doesn't really have an equivalent to the second kind. SOLUTION -------- An Externally Owned Account (EOA) is controlled by a private key, exactly like ownership works throughout Bitcoin's own system - a specific person or organization holds the private key, and only they can authorize actions (sending ETH, calling a contract) from that account. This is directly comparable to a Bitcoin address controlled by a private key. A Contract Account is fundamentally different: it isn't controlled by any private key at all. Instead, it holds and runs its own stored program (a smart contract), and that program's own code determines exactly what the account can do and how it responds when called - there's no human or organization who can simply "unlock" it and act on its behalf the way a private key holder can with an EOA. Bitcoin's UTXO model doesn't really have an equivalent to a Contract Account because Bitcoin was deliberately designed as a narrower system - a ledger for tracking ownership of a currency, using a scripting language that's intentionally limited (not Turing-complete) rather than general-purpose. A UTXO can carry a small amount of spending logic (a script determining what conditions must be met to spend it), but it can't hold and run an arbitrary, ongoing program the way a Contract Account can. Ethereum's account model, and its Turing-complete EVM, were built specifically to support that kind of general-purpose, autonomous code - a genuine design goal Bitcoin's own system was never built around. ANSWER: An EOA is controlled by a private key, just like a Bitcoin address; a Contract Account is controlled by its own stored code instead, with no private key holder at all. Bitcoin has no real equivalent because its UTXO-based system was deliberately built around tracking currency ownership with limited scripting, not running arbitrary, general-purpose programs the way Ethereum's account model and EVM were specifically designed to do. ---- WHY THIS WORKS AS AN ANSWER This correctly identifies the structural distinction (private-key vs. code control) and connects it to the deeper, deliberate design-goal difference between the two networks, rather than treating the account types as an arbitrary Ethereum-specific quirk.