Accounts are not just storage.... Note

Accounts are not just storage. They're one of the reasons Solana is fast.

Solana processes transactions in blocks, enabling parallel execution for high speeds without a mempool. Accounts store data while programs contain executable code, similar to smart contracts. Multiple account types exist in Solana, each serving distinct functions. The System Program, for instance, utilizes a fixed owner address of all ones. Account addresses in Solana are either public keys, secured by private keys, or Program Derived Addresses (PDAs). PDAs are deterministically generated by programs using specific seeds and program IDs. These PDAs are owned by programs, functioning like secure vaults managed by the smart contract. User accounts with public keys act as owners in relation to PDAs. Solana employs dynamic parallel account locking for efficient transaction processing. Transactions must declare all involved accounts beforehand to the validator engine. This system utilizes Read-Locks and Write-Locks to prevent double-spending. Crucially, this locking mechanism allows unrelated accounts to be processed concurrently, avoiding network bottlenecks.