Where are transactions to be confirmed stored? When a bitcoin client sends a transaction to its connecting full nodes, before that transaction is confirmed, where is it stored? on all full nodes?
Full nodes keep a "mempool" of unconfirmed transactions, so yes, but every full node chooses its own rules for how many transactions it keeps in the mempool, e.g. minimum fee, maximum number of transactions, amount of time before the transactions drop out, etc. So not every full node keeps every unconfirmed transaction. If a node doesn't have a transaction in its mempool when a block is mined, it will just request that transaction.