You are correct on the 21 million limitation. They can always modify the algorithm which is part of what bothers me. Each bitcoin is basically an algorithm generated by another algorithm. I do a lot of that for work, the problem is the original algorithm can be changed and generate "new" more expensive bitcoins. Kind of like making different dinominations where their shouldn't be. I've looked into it quite a bit, and its very intriguing but I don't see how you secure it or stop it from over complicating itself.