Post
Topic
Board Beginners & Help
Re: Blockchain Download Question
by
deusstultus
on 29/05/2012, 03:25:53 UTC
Hi,

Just had a question about the Blockchain download speed. Now there is countless topics about this but I just wanted to better my understanding about this a little further.

So we all know bitcoin is P2P, like torrents are. So why is it that a download for a blockchain takes so long compared to a private tracker for a torrent?

What causes the blockchain to be so slow, is it due to the fact that the internet speeds of these nodes aren't ridiculously fast like private trackers are? Or is it a totally different ball game?

Thanks

The most recent version of the client performs much better than previous versions.

Much of the time spent waiting on the blockchain to download is actually spent by the client verifying each new block that it downloads and adding it to the blockchain database and index.  Faster networking doesn't make that step occur any faster.

Using slower hardware (e.g., laptop with an atom processor) exacerbates the perception that it takes forever.

If you do have problems with getting the client to update the blockchain it might be in that you don't have reliable connectivity (e.g., a flakey wi-fi signal?) or there are firewall issues?  But do realize, the amount of data is significant -- pulling 2+ GB is a lot of network transfer.
Thank you for taking the time to respond.

I am currently sitting on a laptop yes, it isn't new either so it may explain the issue. Though my internet speed is fast, so i guess it comes down to the laptop. Now this may be a silly question but how important is it to verify the blockchain upon specific block downloads? For instance would it be a smart idea for Bitcoin-QT to do this?
Rather vital.  If you don't verify your blockchain, you could both have misrepresentation of your available funds, and your being an unreliable node would bog down the network.  Of course if you have a node you trust with absolute certainty, you could pull the blockchain from that machine directly (outside of the client) but even this is not ideal.