Bitcoin Forum
December 15, 2024, 05:20:48 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Are just the generating nodes propagating the blockchain among all nodes?  (Read 1565 times)
cloud9 (OP)
Member
**
Offline Offline

Activity: 126
Merit: 10


View Profile
June 04, 2011, 10:47:49 PM
Last edit: June 04, 2011, 11:28:40 PM by cloud9
 #1

Are all nodes propagating the blockchain across the network - or only generating nodes?

If only generating nodes propagate the blockchain, does all Coin generators' nodes have an equal pro-rata ratio between cpu/gpu hash rate and connected network bandwidth to actually propagate the blockchain among new / non-generating nodes?

Or can a Coin generator's network traffic be throttled to a very low level and still have a hash rate share in the network of own hash rate divided by full network's hash rate?

Block chain propagation seems to be slowing - as more nodes are coming online and the cpu distribution is not equitable among all nodes (due to gpu's in use) and the nodes online for block generation/transmission is diminishing in ratio to non-generating nodes coming on line due to this fact?

http://forum.bitcoin.org/index.php?topic=1458.msg26046#msg26046

http://forum.bitcoin.org/index.php?topic=10860.msg155532#msg155532

Isn't this problematic for scaling the bitcoin network?

theboos
Member
**
Offline Offline

Activity: 87
Merit: 10


View Profile
June 05, 2011, 01:05:52 AM
 #2

The normal bitcoin client propagates blocks (thereby the blockchain). I'm not actually sure if miners (or mining pools) propagate blocks or simply notify other clients of the new blocks that they find.

I know for certain that mining clients do not propagate blocks; their exclusive purpose is to take some data and a range of nonces, and hash the data plus a nonce until they get a result that the server is interested in. Mining clients have no interaction with the block chain.

Possible scaling problems of this type would arise from a large P2P network of any kind. An increase in clients increases the average number of intermediaries between two clients. However, the network right now is nearly instant. Additionally, the "Six Degrees of Separation" principle means that even if every person on earth runs a Bitcoin client, the propagation delay will be insignificant. An overload of the IRC server is a more likely problem of scalability.
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5418
Merit: 13499


View Profile
June 05, 2011, 03:22:26 AM
 #3

As far as I know, latency is currently acceptable, though the simple broadcast network Bitcoin uses is known to be unscalable. In the future lightweight clients will connect to a few full nodes and not relay blocks/transactions. It will be a hub-based network like gnutella.

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
Stefan Thomas
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
June 05, 2011, 09:02:30 AM
 #4

First off, yes miners only send blocks to their eight neighbor nodes, I don't know of any attempts by pools to broadcast more aggressively their blocks, though that may happen in the future. (Since it can lower the -small- chance of another block coming out simultaneously.)

Bitcoin itself doesn't really assume or require low latency in the network. It can handle even a full network split gracefully in most circumstances. And yes, as theymos says, the future is probably a network with larger nodes serving multiple users.

Twitter: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
cloud9 (OP)
Member
**
Offline Offline

Activity: 126
Merit: 10


View Profile
June 05, 2011, 12:55:56 PM
 #5

Shouldn't a bandwidth requirement be brought in, other nodes can check each other's available bandwidth and reject a node if its cpu/gpu is out of ratio with its contributing bandwidth?  Is high cpu/gpu offline key solvers (just retrieving the puzzle and submit the solution if found) not a threat to future scalable efficient blockchain distribution?  What incentives are there for blockchain distribution?  Bandwidth is a great transfer cost contributor?  Is there a minimum number of nodes that should received the broadcasted solution from the winning node, based on network difficulty?

Stefan Thomas
Full Member
***
Offline Offline

Activity: 234
Merit: 100


AKA: Justmoon


View Profile WWW
June 05, 2011, 02:13:02 PM
 #6

Is high cpu/gpu offline key solvers (just retrieving the puzzle and submit the solution if found) not a threat to future scalable efficient blockchain distribution?

All mining is "offline" - "retrieving the puzzle and submit[ting] the solution if found" is exactly what all miners do. You can mine without including transactions, in which case you won't have to verify anything, but you also won't get any transaction fees. Users will offer transactions fees high enough to cover all costs involved in verifying transactions in order to get their transactions confirmed.


What incentives are there for blockchain distribution?

Anybody who wants to verify a transaction needs a full copy of the block chain since the oldest output used in that transaction. So at least miners will always have a copy of the chain. They will also want the public to be able to access this data, otherwise the Bitcoins they make while mining could not be spent anywhere.

Other parties like merchants, service providers, law enforcement, academia, NGOs, websites, etc. will also maintain full copies for various reasons.


Bandwidth is a great transfer cost contributor?

Others will be able to answer this better, but from what I understand ECDSA verification is expected to be the bottleneck, not network performance.

Twitter: @justmoon
PGP: D16E 7B04 42B9 F02E 0660  C094 C947 3700 A4B0 8BF3
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!