Bitcoin Forum
November 05, 2024, 03:36:37 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: HowTo: Jump-start Bitcoin installation download time with blockchain torrent  (Read 24552 times)
deepceleron (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1036



View Profile WWW
November 10, 2011, 09:24:04 AM
Last edit: December 04, 2013, 05:07:42 PM by deepceleron
 #1

New users are often frustrated at the time required for a new Bitcoin installation to update before it becomes useable. This post outlines a faster way to get up and going if you are experiencing longer-than-expected delays.

When you install and run the Bitcoin client software for the first time, Bitcoin must download the complete Bitcoin blockchain from other Bitcoin clients sequentially in pieces starting at block 1. The blockchain is a record of all transactions that have ever taken place, and you must have the complete record before you are able to see your own balance and send payments. The transactions are grouped into cryptographically secure transaction blocks that were created about every 10 minutes since Bitcoin was launched in 2009. As of Dec 2013, there are over 270,000 blocks, over 12GB that need to download over the p2p network, which can take many hours or even days. The download speed is also limited by processing power, as your CPU must verify transaction signatures and the validity of past payments, and your hard drive must keep up with the intensive I/O access building the database where Bitcoin stores transaction information.

Bitcoin-qt 0.5.x-0.8.x screenshot:


In the screenshot above, we can see by hovering over the network icon that this Bitcoin-Qt client has 71 network connections to other users running Bitcoin. The maximum if you are using an Internet router appliance or NAT without port forwarding will be eight connections. We can also see Bitcoin has downloaded all transaction blocks up to block 164944. If a transaction was sent to you now, it would be included in a future block - you would need to wait until that transaction is added to the blockchain and downloaded by your client in order to see an updated balance. There is one payment to this Bitcoin wallet in the screenshot, received around block 150000 - if Bitcoin had only downloaded blocks up to 100000, this transaction wouldn't appear in the client at all.

Your client must be making some connections, and should start downloading blocks within a minute of starting. If this does not happen at all, you need to remedy this problem; typically it is a firewall or antivirus program blocking Bitcoin's connection to the Internet, or something is misconfigured on your network. If you are limited to eight connections, you can improve this by forwarding port 8333 in your Internet router to the computer running Bitcoin. If your Bitcoin is well connected on high-speed Internet and has a fast CPU and SSD, a new installation can be ready in as few as four hours, but may take much longer if conditions are not optimal.

Fortunately, there is a method that is often faster.

A blockchain import feature was added to Bitcoin version 0.7.1+ to "bootstrap" or import an external blockchain file, while still performing a full validation on the Bitcoin blocks being added. Whenever Bitcoin is started, it searches the data directory for a file "bootstrap.dat", and if this is present, it will import all new blockchain blocks contained in the file. This procedure still requires the same CPU and disk resources, but can be faster if network speed through the p2p network is the limiting factor (which is often the case, Bitcoin only attempts connections to one other peer at a time to download blocks).

A torrent is maintained that contains blocks up to the last hard-coded checkpoint block in the client (currently block 250000, 9.1GB of blocks). Only blocks after this checkpoint will need to download off the peer-to-peer network. Download the torrent with this link:
http://sourceforge.net/projects/bitcoin/files/Bitcoin/blockchain/bootstrap.dat.torrent/download

More torrent instructions and links on this thread: https://bitcointalk.org/index.php?topic=145386.0

After completing the torrent download, you will need to copy the file bootstrap.dat to your Bitcoin data directory. To locate the default Bitcoin data directory on your OS, follow instructions on this link. When you restart Bitcoin, you should see the import progress dialog.

(Edit Apr 2013 - removed all direct download information except bootstrap torrent, Dec 2013, update blockchain and torrent sizes.)
mtminer
Member
**
Offline Offline

Activity: 86
Merit: 10


View Profile
November 10, 2011, 03:18:19 PM
 #2

Thanks should get this stickied and put in the Bitcoin wiki.

sd
Hero Member
*****
Offline Offline

Activity: 730
Merit: 500



View Profile
November 11, 2011, 07:11:36 PM
 #3


Bad idea - Feeding your bitcoin client a blockchain this way makes it skip validating those blocks. They could contain anything.

Do it the long way, it's the only way to be sure. Yes I know waiting for it to finish can be annoying.

Coinabul
Hero Member
*****
Offline Offline

Activity: 588
Merit: 500


Coinabul - Gold Unbarred


View Profile WWW
November 11, 2011, 07:13:50 PM
 #4

New users should instead use a reputable e-wallet while they wait for their client to download the blockchain.

Now to find a reputable e-wallet...

Coinabul.com - Gold Unbarred
Website owners, let me put my ads on your site! PM me!
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
November 11, 2011, 10:04:57 PM
 #5


Bad idea - Feeding your bitcoin client a blockchain this way makes it skip validating those blocks. They could contain anything.

Just run the checkblocks command line argument to force a complete validation of block chian.

Code:
bitcoin -checkblocks
deepceleron (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1036



View Profile WWW
November 11, 2011, 10:52:57 PM
Last edit: November 18, 2011, 12:31:48 PM by deepceleron
 #6

New users should instead use a reputable e-wallet while they wait for their client to download the blockchain.

Now to find a reputable e-wallet...

You mean one that has been around for a year and a half, has thousands of happy users, and has been featured in the press, then you might think it is reputable? mybitcoin was reputable until they disappeared.
pogi23
Member
**
Offline Offline

Activity: 266
Merit: 10


View Profile
November 12, 2011, 01:15:10 AM
 #7

So that's why the delay keeps getting slightly longer every time I boot up the client (been thinking it was a hardware issue).  Granted it's only about 56 seconds... I can only imagine how long it'll take when the blockchain is near its end of life.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
November 12, 2011, 01:39:35 AM
 #8

Are you on current block?  If not then stop shutting it down until you are current.  I don't notice any delay starting the client.
ButterKvothe
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
November 12, 2011, 04:43:36 AM
 #9

Thanks!
pogi23
Member
**
Offline Offline

Activity: 266
Merit: 10


View Profile
November 12, 2011, 06:53:47 AM
 #10

Are you on current block?  If not then stop shutting it down until you are current.  I don't notice any delay starting the client.

Oh I only restart if I absolutely need to (once every 3 weeks or so).  So it seems like the client is downloading  the whole blockchain every time I restart.  Fifty six seconds is no big deal, really.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
November 12, 2011, 02:56:16 PM
 #11

Are you on current block?  If not then stop shutting it down until you are current.  I don't notice any delay starting the client.

Oh I only restart if I absolutely need to (once every 3 weeks or so).  So it seems like the client is downloading  the whole blockchain every time I restart.  Fifty six seconds is no big deal, really.

The client isn't downloading the entire blockchain when you restart.  If it did it would be more like 50-60 minutes not 50-60 seconds.
pogi23
Member
**
Offline Offline

Activity: 266
Merit: 10


View Profile
November 12, 2011, 06:12:40 PM
 #12

Are you on current block?  If not then stop shutting it down until you are current.  I don't notice any delay starting the client.

Oh I only restart if I absolutely need to (once every 3 weeks or so).  So it seems like the client is downloading  the whole blockchain every time I restart.  Fifty six seconds is no big deal, really.

The client isn't downloading the entire blockchain when you restart.  If it did it would be more like 50-60 minutes not 50-60 seconds.
Thanks!  Wasn't sure what it was doing.
deepceleron (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1036



View Profile WWW
November 18, 2011, 12:16:32 PM
 #13

Is this sticky-worthy? I could reply to four noobs a day with links to this post, it seems.
ThomasV
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
November 18, 2011, 12:26:34 PM
 #14

New users should instead use a reputable e-wallet while they wait for their client to download the blockchain.
Now to find a reputable e-wallet...

it is also possible to use Electrum: http://ecdsa.org/electrum
with this kind of lightweight client, you do not have to download the blockchain, and you do not have to trust a third party with your private keys

Electrum: the convenience of a web wallet, without the risks
theymos
Administrator
Legendary
*
Offline Offline

Activity: 5376
Merit: 13368


View Profile
November 20, 2011, 10:33:40 AM
 #15

Just run the checkblocks command line argument to force a complete validation of block chian.

Code:
bitcoin -checkblocks

This doesn't do all of the normal checks on the blocks. That switch is designed to detect database corruption, not to check validity of the block chain. Whoever provides the chain still needs to be trusted absolutely.

Newbies should not be encouraged to do this. (And even if they are, they should at least use the official, signed blockchain files.)

1NXYoJ5xU91Jp83XfVMHwwTUyZFK64BoAD
deepceleron (OP)
Legendary
*
Offline Offline

Activity: 1512
Merit: 1036



View Profile WWW
November 20, 2011, 01:54:20 PM
Last edit: February 23, 2012, 11:04:09 PM by deepceleron
 #16

Newbies should not be encouraged to do this. (And even if they are, they should at least use the official, signed blockchain files.)

If newbie = someone who has a hard time even locating the Bitcoin data directory, or someone that can't figure out how to log into their router, then yes, patience is best, as opposed to messing with the data files directly - that is why my first paragraph gives users an opt-out if they are not computer-savvy.

I can only personally attest that the blockchain I have posted is exactly as was downloaded by a fresh Bitcoin install, and I have posted file checksums, so that even if my hosting account on secureserver were compromised and the files replaced with a facsimile, one would be able to validate the contents with md5sum (a signature relies on you already trusting the signer). If someone were to write a hash validator or a blockchain comparator, you would find mine unaltered.
EightBit
Newbie
*
Offline Offline

Activity: 10
Merit: 0



View Profile
February 05, 2012, 05:05:53 AM
 #17

I agree, the new user sync can take a long time. 

I just installed my first client.  It took about 18 hours to download the complete transaction history.  I am using the current Mac client and am on a usually very fast cable modem.  The client made 8 connections.

LoWang
Full Member
***
Offline Offline

Activity: 147
Merit: 100



View Profile
February 09, 2012, 11:41:24 PM
 #18

I suggest that the instructions on a bitcoin homepage should be changed a bit from
"it can take from half to a few hours)." to "it can take few hours or half a day") ;-) New users could be really frightened by the slow network synchronization and it also is not always possible for everybody to leave the computer running for that long, because you need to leave office and go home or the other way and from my experience it can cause problems like database corruption (which happened to me) if you hibernate or standby your laptop during this process.

Also it may not be a bad idea to have a link to whole block chain downloads somewhere there in "getting started"...
JayleeBird
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
February 10, 2012, 12:01:04 AM
 #19

This is the only thing that bugged me when I first started with Bitcoin. It took nearly a week for the blockchain to be downloaded.
LoWang
Full Member
***
Offline Offline

Activity: 147
Merit: 100



View Profile
February 10, 2012, 06:01:18 PM
 #20

LOL that is crazy... in that case I cannot really imagine too many "normal" non geeky people be interested in using Bitcoins Undecided
Pages: [1] 2 »  All
  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!