Currently the database seems to 10 fold each 1.5 years or so.
11 GB today.
100 GB 1.5 years from now
1 TB 3 years from now
10 TB 4.5 years from now.
100 TB 6 years from now.
1 PB 7.5 years from now.
10 PB 9 years from now.
100 PB 10.5 years from now.
Nobody can predict the future, though there are some trends.
Harddisk size will probably not keep up with the database size.
Raid systems will also fall short a few years later.
This also does not include additional popularity/transaction volume for bitcoin, if transaction volume goes up further and thus database size goes up faster it might even end much sooner, maybe even within 5 or 4 or 3 years.
One possible solution that could safe bitcoin is a distributed database size, where computers only store a part of the blockchain and will have to rely on each other to provide some sort of trust/security.
However this may also lead to additional network bandwidth requirements for checking/traversing inputs to see if they are spendable.
Downloading the blockchain itself is already somewhat of a problem for newcomers and people that were dorment for a while, it takes quite a long time, this could hamper it's popularity/up take. A distributed database my solve this problem somewhat as well.
I think development of bitcoin should focus on and give priority too distributing the database in some form or another if bitcoin is too survive, otherwise it's going to be a lot of fun watching it literally crash and burn !
=D Like that episode of southpark: "poooof and it's gone ! =D"
Perhaps alt-coins will take over for a while, until they too run into similiar problems, and then the other alt-alt-coins will take over and so forth
Though perhaps users of bitcoin then in a jam... can't really go along with it unless new harddisks bought.
Prices of harddisks may start to rise a bit in the coming years.
Raid systems might become popular among bitcoin users.
And perhaps other storage solutions, perhaps network attached storage devices with additional capacity.
Also I wonder a little bit what happens if somebody wants to send some bitcoins to some address, will the checking/traversing time for input checking increase as well ? For example the inputs to be used where from long ago ? Does bitcoin perhaps find the nearest input ? How that work ? Maybe some smart indexing or keeping track of inputs ? Perhaps that not a problem...
Another little concern now that I am venting some concerns is with the difficulty only being raised each 2016 blocks. Apperently this is somewhat strange... somewhat like people getting free rides. They purchase enough computation power to ride out that 2016 block range with ease... and take all the pie ? hmmm bit strange, I guess it remains fair to all, except that the 10 minutes is further reduced to something much faster ? So estimates when last bitcoin may be mined could be off, to way off.
Seeing that difficulty raise to huge proportions is kinda funny, it shows the inability of humans to work together efficiently and take only what they need/deserve. If all would mine with 1 cpu the difficulty would have remained much lower and all would have gotten their fair share
The difficulty is a reflection of greed among the miners. They want all bitcoins to be theirs however it will never really be theirs, the difficulty will always adjust to 10 minutes or so, however if they have most processing power then they might still get all of it if they a bit lucky
It could also reflect that there is some profit being made, which would allow reinvestments into hardware, or it could be investment gambles which may fail.
Oh yeah and finally there is one other little thing I wonder about, bitcoin assumes sha256 will always have hashes with zeros in front. I wonder if perhaps this is not true and some day the system will get stuck at a certain difficulty because sha256 can no longer produce hashes with enough zeros in front of it.
Personally I think this may be somewhat unlikely but I dont know the algorithm that well, has anybody analyzed if such a situation is possible ?