badukJr wrote:SpongeBob wrote:Besides those rather philosophical considerations, there are also some practical questions still open:
When mining gets less and less profitable, transaction fees will need to get introduced.
When transactional volume increases, there will be the need for lightweight servers that do not host the complete chain of transactions.
Who is responsible and decides about how those enhancements will be done?
Yeah, that's another thing. Basically a group of at least 50% of the bitcoin holders have to get together and agree on new rules. This is because each peer validates the transactions.
I think though that the chain of transactions can be split up pretty easily, its already built into the protocol.
Really, the whole protocol behind bitcoin is really sleek technically. It is unfortunate that other poor decisions were made.
These are interesting points.
To some extent, the "who's responsible?" question has always been something that people ask about anything that's open source. In general it's hard to conceive of it working, but a lot of the internet runs on it. I have a good friend who maintains that Wikipedia shouldn't work as well as it does and his arguments are persuasive...
Presumably most of the people running clients are only involved passively because they're using the distributed network. So even if their computers are validating transactions, they're not making the decisions. I don't think you need to reach a 50% consensus with the users. In theory, you just need consensus amongst contributors and then you gradually roll out software updates for the clients and phase out the old rules. Since there's money involved some people would still take issue with this, particularly if they stood to lose something. So making major changes could be unwise. It's not perfect, but I think that's how it would have to work in practice.
To be honest, my understanding of both economics and cryptography is relatively basic, so even though I did some reading about bitcoin, I won't presume to critique the design. I still view it as a proof of concept and if it fails because of various constraints, it will be an opportunity to learn and make the next attempt better.
One thing I'm wondering about is, when mining becomes less profitable (as SpongeBob says) and the network is big enough, couldn't you just start to take advantage of the idle cycles of all the computers that are running the client? What's not really clear to me is just how intensive the processing for validating a transaction is. Possibly some of the design decisions were predicated on assumptions that processors would become x times more efficient and renewable (but not free) energy would become more prevalent. What do other people think?
Another thing I was wondering about is the deflation issue. On the Wikipedia page someone wrote:
To ensure sufficient granularity of the money supply, clients can divide each BTC unit down to eight decimal places (a total of 2.1 × 10^15 or 2.1 quadrillion units).
So it seems to me you're not going to run out of divisible units any time soon, although that number still does seem a bit small for a truly global currency. But my question is, if there's very slow deflation, to the point where it's still better to invest money elsewhere than hoard it, to what extent does that matter?
Secondly, if a lot of early adopters choose to speculatively hold onto the coins and limit supply, there must be some point where the value of a bitcoin gets so high that the system becomes unworkable, people start to abandon it, demand collapses and the experiment fails. But before that happens, if we assume some people are rational (always dangerous), won't the smart people sell or spend their coins and push the system back to some sort of equilibrium? I imagine that it would then depend on the initial conditions and rules of the system as to where that equilibrium lies, and it may lie at a point where the tendency of the system is to spiral out of control until it collapses. Though it's probably hard to model this and find out without putting it into the 'real world'.
This might not be the right way to think about these things, but my background is in chemistry, so I guess I tend to think in those terms. Does anyone have any thoughts on this?