Addresses, wallets and contracts
The three words people mix up most, and why the difference decides what a record can prove.
An address is an identifier on a ledger. It is not a person, and it is not a wallet. A wallet is software or hardware that holds keys; one wallet can control thousands of addresses, and one person can use many wallets.
#Accounts that keys control
On Ethereum-style networks an externally owned account is controlled by a private key. Whoever can sign with that key can move what the account holds. The ledger records the signature being valid. It does not record who was holding the device.
#Accounts that code controls
A contract is an address whose behaviour is defined by code stored on the chain. It cannot start a transaction on its own. It runs when something calls it. A contract can hold funds, move them according to its rules, and call other contracts.
The two kinds can overlap. A key-controlled account can store a short pointer that delegates its behaviour to a contract's code (EIP-7702). Forensia reads that pointer as a delegated wallet, not as a contract.
- An address identifies an account, not an owner.
- Control of a key is not the same as identity.
- A contract does what its code allows, which may be changed if it is upgradeable.