Can the number of transactions per second ever overwhelm the network? I'm coming at this from a point of view that assumes Bitcoin has been widely adopted as a currency worldwide and is essentially mainstream. Every day people are using Bitcoin in the same way that they use their credit cards today.

Will the transaction volume at this level be sufficient to overwhelm the Bitcoin network given that transactions are processed differently to those of the credit card companies?
There are three parts to this:


The miners have to verify each transaction that will go into the block and all transactions that are in the block they will be basing their own work on
Each client needs to look for transaction destined to their own addresses, which can get hard if you have a large address pool
Since all transactions are broadcast the network itself could potentially be flooded.


The first two are pretty simple to solve since most computers already can process up to 100 transactions a second (resulting in roughly 10*60*100=60'000 transactions per block) and this can be pushed by investing in larger hardware to do the processing, and offloading verification to trusted third parties.

The last part is harder to solve as it results in possibly O(n^2) messages going around the network. Here a more structured network might do the trick, but all attempts so far to create a structured network have been dismissed.

Last but not least the blockchain grows linearly with every transaction which uses diskspace on every client. This has been partly solved by Satoshi in his paper.