Im wondering how come the BitCoins amount is limited if people mine new coins everyday?
The block subsidy is cut in half (and truncated down to the nearest satoshi) every 210000 blocks (approximately every 4 years). Eventually (in about 127 years) the block subsidy will drop to 0 and no NEW bitcoins will be mined. The miners (or mining pools) also receive all the transaction fees paid by all the transactions that are confirmed in the block that they mine. As bitcoin gains popularity, it is likely that the value of the transaction fees will increase even as the block subsidy is decreasing. Eventually the block reward will consist entirely of transaction fees.
is it possible that we might mine too much and reach the bitcoin cap?
It is guaranteed, and built into the design of the system. Approximately 127 years from now, the cap will be reached.
and what happens if we reach the cap?
"Miners" continue to do the same work they are doing now, and they continue to be paid for that work. They just get their income from the transaction fees instead of from the sum of transaction fees and block subsidy. Perhaps once the transaction fees are larger than the subsidy we'll stop calling it "mining" and start calling it "transaction processing", but the actual work being done will be the exactly the same.
One block is worth 25 BTC
The block subsidy is 25 BTC, but keep in mind that there are transaction fees as well. Therefore each block is actually "worth" a bit more than 25 BTC, although only 25 of those are newly minted out of nothingness.
It will be long when transaction fees are more than block reward, probably 15+ years
In approximately 15 years the block subsidy will be 1.5625 BTC. I suppose the total transaction fees per block could be consistently higher than 1.5625 BTC per block by then. At the moment, I think they average a bit less than 0.25 BTC per block.
When approximately are we going to reach the limit?
It will happen EXACTLY with block number 6,930,000. It is difficult to predict just how quickly or slowly blocks will be created in the future, although it will continue to average somewhere around 2016 blocks every 14 days. If is averaged EXACTLY 2016 blocks every 14 days, then we would hit the limit in late 2140. It will probably actually happen sometime within a few years of that.
and what do you mean by mining for the transaction fees?
Miners gather unconfirmed transactions into a "block" of data. They then build a "block header" from that data. They then repeatedly perform a mathematical formula called SHA-256 against that header while slightly modifying a piece of data in the header called a "nonce" until they find a hash that has a value lower than the current target. When people send transactions they can pay a transaction fee as part of the transaction. The miner (or mining pool) receives the total of all the transaction fees of all the transactions that they include in the block they "solve".
The only way this could be changed is if the whole thing was poorly coded or hacked from the outside
The only way this could be changed is if you can convince EVERY SINGLE USER that is running a full node (such as Bitcoin-Qt) to switch to new software that has a modified block subsidy schedule. If even 1 user and 1 miner (and they can be the same person) continue to run software with the current block subsidy schedule, then bitcoin continues to exist with the exact same rules it has today.
In the end miners will only receive transaction fees. So they could increase when we hit that limit.
For the 4 years before the subsidy is 0 BTC, it will be 0.00000001 BTC. For the four years before that it will only be 0.00000002 BTC. The transaction fees are already larger than that. Total transaction fees has more to do with the number of transactions being sent than with what the value of the subsidy is.
All Bitcoins will be mined around 2120
Closer to 2140, but the date isn't exact.
But in 20 years time the payout will be so little that everyone might just shut down their miners...
As more people shut down their miners, the difficulty drops. Lower difficulty means a higher chance of receiving more bitcoins from mining. Eventually the value of the bitcoins received from mining is higher than the costs of mining. At that point mining is once again profitable and the remaining miners leave their systems running. It really depends on the value of the bitcoin. In 20 years the block subsidy will be 0.78125 BTC. If we assume for now that the transaction fees will still be approximately 0.25 BTC, then successfully mining a block will result in about 1.03125 BTC. If you are the only one still mining, this means you get 148.5 BTC per day. If you have 1% of all the mining power in the bitcoin network, you'll earn about 1.485 BTC per day. If bitcoin is worth $0.01 per bitcoin, you'll probably shut your miner off if it's only earning $0.01485 per day. On the other hand, if bitcoin is worth $10,000 per bitcoin, then 1.485 BTC per day will be earning you the equivalent of $14,850 per day. I think I'd keep my miner running under that condition.