If bitcoin is decentralized then who keeps track of computers in network

2

I keep hearing that bitcoin is decentralized i.e. no single entity owns it. And each computer which is part of bitcoin network keeps the copy of ledger.

My question is who keeps track of all computers in bitcoin network? For e.g. if a transaction happens, who sends (or broadcasts it) to network so all can keep a copy of it?

Doesn't it make it centralized?

Frank Martin

Posted 2017-08-04T18:19:02.773

Reputation: 161

The transaction does not even "happen" until it has been calculated (verified) by the network.mathreadler 2017-08-05T08:18:08.550

Answers

7

Nobody keeps track of all the computers in the network, or at least not as part of core network functionality. There are sites that attempt to track nodes (such as https://bitnodes.21.co/), but they are not needed in order for Bitcoin to function, and are not utilized by nodes. Each node only knows about the nodes it is connected to.

Therefore, to broadcast a transaction, a node simply sends it to the nodes to which it is currently connected. Those nodes, in turn, relay the transaction to all their connections who all do likewise. This means a transaction can reasonably be seen by all nodes in a very short amount of time (a few seconds or less).

For information on how nodes find other nodes to connect to in the first place, there's already some great answers here:

How do Bitcoin clients find each other?

Jestin

Posted 2017-08-04T18:19:02.773

Reputation: 8 339

You may wish to add the additional information that it doesn't matter if the nodes/computers are kept track of because as soon as a blockchain appears, it proves via its own content that it is valid (at least, in comparison to blockchain data received from other sources), and that if there is a conflict in blockchains, then the older chain or the one showing more work is kept and the other is discarded. Thus, it doesn't matter if anyone knows which nodes are out there or what work they have done as the proof of work is directly in the blockchain itself.ErikE 2017-08-04T22:37:06.410

Here is a very informative video about how they work: https://www.youtube.com/watch?v=bBC-nXj3Ng4

Ajay 2017-08-05T01:10:41.810

3

Answer to your questions:

No one keeps track of all computers in bitcoin network.

If a transaction happens, the sender of that transaction broadcasts the transaction to the network.

And there is a chance that, the transaction will be included in the blocks (ledger) mined by the miners (everyone keeps the same copy.

A good starting point for you will be these:

How Bitcoin Works in 5 Minutes (Technical)

What is Bitcoin - A simple explanation for beginners

What is Bitcoin simplified

remedcu

Posted 2017-08-04T18:19:02.773

Reputation: 1 003

Not a bad answer, but it would be better if your links indicated what they were, rather than just names like "Link 1".Jestin 2017-08-04T18:55:27.923

-2

The transaction should not be considered to have happened until it has been calculated (verified) by the network. There is no need to keep track of the computers. Anyone can claim to make a transaction. That is why any claim to make a transaction needs to be verified by other nodes!

mathreadler

Posted 2017-08-04T18:19:02.773

Reputation: 97

Explain the downvote, please.mathreadler 2017-08-05T08:36:48.653

1You're not answering the question. OP isn't asking about verifying or trusting transactions, but about how the network keeps track of nodes.Pieter Wuille 2017-08-05T10:44:15.543

@PieterWuille: That is because the question is based on a misconception that needs to be addressed for any learning to take place in OP.mathreadler 2017-08-05T10:49:11.297

1It is a misconception, but I don't think this answer makes it clearer. If the OP doesn't understand how transactions are confirmed, then telling them that transactions are verified somehow doesn't clarify anything to them.Nick ODell 2017-08-05T16:51:35.293

It is a first stepping stone to understanding. If we deny them that how are they ever gonna learn.mathreadler 2017-08-05T20:52:39.250

@mathreadler, the problem is that this answer is an answer to a question that was not asked here. You don't give a very good explanation about why this answers the OP's question...and therefore it doesn't. The question was about 1) how nodes know about all other nodes (the misconception), and 2) how a transaction is broadcast. Instead of addressing either of those things, you gave an answer about when you should consider a transaction valid. I doubt this was very helpful to the OP, nor anyone else who finds this answer.Jestin 2017-08-07T21:54:57.903