I wonder what makes the bitcoin network decentralized? Do nodes participate in making the network decentralized? or is it just the miners and all about the hash power to take over the network aka 51%< attack ?
It depends on what you mean by decentralization. There is a technical meaning, and an intuitive one.
I'll talk about the first one first. A decentralized system is one which by design functions and remains secure without the presence of a trusted central party (or parties). I can't tell you what part of Bitcoin makes it have this property - it just happens to be the case that it does, at least under certain assumptions. Both miners and nodes matter. We need miners to avoid a central transaction approves with censorship rights. You avoid the need to trust that miners produce honest blocks by validating their chain yourself (= running a node).
Often the word "decentralization" is used in a much more practical sense, where far more aspects of the design and real-world implementation are included. It's hard to say what this includes, as there isn't a good definition. Does the entire ecosystem just go along with what a single, perhaps small, developer team proposes? That's arguably a form of centralization in practice, but it's one at a social/human layer, not one that is a technical design property of the system. Similarly, does all trading go through one or a few exchanges? That too can be considered a central party if its relevance to the ecosystem becomes too great. The same is true for wallet software for example - if everyone is using the same wallet software that auto-update, then perhaps the person with the keys to push such updates is a centrally trusted party.
I personally dislike this use of the term decentralization as it is far too vague, and unbounded. Are Intel and AMD and ARM central parties, because everyone uses chips produced/designed by them? For this reason I'd reserve the use of the term decentralization for the technical design, and use something like "trust minimization" for all the rest.
'Decentralized' is not a binary distinction. There is no point at which suddenly something is decentralized, or not. For the bitcoin network to function there is some level of decentralization required though, as otherwise the guarantees of censorship resistance will become less strong. Bitcoin is defined from the bottom-up, not the top-down!
Bitcoin full nodes and bitcoin miners are distinct in their function. In short:
A decentralized network of full nodes helps to ensure that the network's rules remain unchanged, as each node will independently verify the network state for it's own purpose. For example, if there weren't a lot of nodes, then a majority of the nodes that did exist could perhaps collude to change the rules (there is nuance to this though).
A decentralized network of miners helps to ensure that bitcoin remains secure and censorship resistant, as a more distributed network hashpower helps to ensure that not single entity (or group of colluding/coerced entities) will be able to perform a majority attack.
Without a sufficient amount of decentralization of both nodes and miners, bitcoin ceases to be very interesting or useful.
What makes the bitcoin network decentralized?
Lot of things together contribute in making Bitcoin decentralized, however most important is requirements to run a fully validating node are low so anyone can do it.
- No premine
- No contentious hard forks to do rollbacks in past because any project or exchange got hacked
- Block limits and scaling in layers
- Proof of Work used for consensus
- Soft fork in 2017 - Segwit and related events
- Nothing official (website, client etc.), founder is anonymous and not active anymore to influence development
- Proposing changes with BIPs, soft forks and involvement of everyone is a decentralized process
- People involved value decentralization over other things