Shortly No
Transactions are stored in the block. Transactions are called public ledger
and a ledger means a record of a business's financial transactions.
From here
If the program needs to store state between transactions, it does so
using accounts. Accounts are similar to files in operating systems
such as Linux in that they may hold arbitrary data that persists
beyond the lifetime of a program. Also like a file, an account
includes metadata that tells the runtime who is allowed to access the
data and how.
Unlike a file, the account includes metadata for the lifetime of the
file. That lifetime is expressed by a number of fractional native
tokens called lamports. Accounts are held in validator memory and pay
"rent" to stay there. Each validator periodically scans all accounts
and collects rent. Any account that drops to zero lamports is purged.
Accounts can also be marked rent-exempt if they contain a sufficient
number of lamports.
there are two types of accounts in solana: Executable
and non-executable
. Non-executable
contracts store data or state of logic in your contract and htis has an owner. Owner can mutate the state. when you create an account, you assign an owner and later when your contract needs to access to that account, your contract checks if it is the owner or not owner
Executable
accounts are immutable. Smart contracts in Solana are executable accounts, therefore once you deploy it you cannot mutate it
solana account fields: