Transactions don't work that way. You don't *need* the whole database as a huge 1gb lump.
The android mobile app is ~30mb and it works just fine for sending & receiving coins. I got it to work in less than a minute.
I am more concerned with the amount of inter-nodes traffic.
A client can decide not to store everything, but the information still needs to be transferred by design.
To put it simply - when the number of users is big the block size itself will be too big to be useful.
A block needs to hold 10 minutes of _all_ transactions or the system starts lagging and transaction times will soar to infinity.
Let's assume each user does at least 1 transaction per day. There are 144 blocks per day.
A million users * let's say 100 bytes per transaction / 144 = almost 1 MB
per each block = 6 Mb / hour constant incoming traffic to every client.
That's why I don't think it's something that can be solved easily. People pretend that scalability is just a feature you can easily add "when needed".
It might not be so. Being a programmer I know how hard it is to solve O(n2) algorithms.
I worry that it's the whole design of BitCoin that makes it unscalable and that this cannot be solved without a major redesign.
Essentially, creating a completely new currency. That's why I don't see BitCoin as any proof-of-concept.
I love the cryptocurrency idea, but I don't see any ways of implementing it on the scale of PayPal or VISA.