I am sure this was discussed a lot but I still don't understand.
I know the code is open and anyone can read it etc.
But for instance let's say I have an improvement to the code. It will only be accepted if the known developers will allow it - which means they have some control over it.
this is from wiki: (
https://en.bitcoin.it/wiki/Myths#Bitcoin_is_not_decentralized_because_the_developers_can_dictate_the_software.27s_behavior)
"Though the developers of the original Bitcoin client still exert influence over the Bitcoin community, their power to arbitrarily modify the protocol is very limited."
So even wiki admits, that the developers do have some control over it!
wiki continues:
"Since the release of Bitcoin v0.3, changes to the protocol have been minor and always in agreement with community consensus."
what is exactly this "community consensus"? who are these people? I don't remember anyone asking me if I agree for each modification they are doing to the code. Ain't I part of the community?
The truth is that all I do is download bitcoin QT and hope for the best, while there are 100 or 1000 (or any other small amount) of people
who makes the decisions for us all.
So I am asking:
1)how can one say that bitcoin is totally decentralized?
2)Where there are people there is corruption, Aren't we suppose to be worried that this limited group of people will ruin the protocol?
3)Can someone explain in a nutshell what can the developers change and what they can't change in the protocol?
Suppose I give you 10,000 Testnet Bitcoins for a pizza. You and I both think this is a great idea, the exchange is made, I get my pizza, you get your (worthless) Testnet Bitcoins.
Other people pick up on this and start exchanging Testnet Bitcoins. Testnet Bitcoins gain value. They start exchanging for real Bitcoins, for USD, for North Korean Yuan, for gold and silver and litecoins and crapcoins and stocks. And pizzas.
The Bitcoin developers do not want Testnet Bitcoins to gain any monetary value. In the past they have reset the testnet with a new genesis block to avoid this. The current testnet is actually testnet3 because of those.
Suppose the Bitcoin developers get wind that Testnet Bitcoins are rising in value, and take action to prevent it. They reset the testnet, create a new genesis block, make changes in the client to start a new chain off of the new testnet genesis block, there's a newly released client, and we have a testnet4.
But - suppose you and I and many other people really like our pizza, and we really like exchanging Testnet3 Bitcoins for pizza and other things. Maybe we are irrational. Or maybe we are enlightened. Regardless, we really want to continue the economy we have built up on the Bitcoin Testnet, and the decision the developers have made would reverse all that.
So, we continue to use the original client, the one that still runs off Testnet3. We ignore Testnet4. We don't use the new Bitcoin client. Eventually some of us take the Bitcoin code and release a new Testnet3-only client. The testnet3 economy continues, thanks to our decentralized action. We are not at the mercy of the developers at all - we can do whatever we want, whether other people like it or not.
That's decentralization.