<p>Bitcoin-qt verifies the entire blockchain the first time it starts, to be sure that all the transactions are properly signed, and all the blocks certify an appropriate amount of computation (proof-of-work).  This ensures, for instance, that nobody is feeding you a fraudulent bootstrap.dat.  Depending on the speed of your computer and network, this verification might be the bottleneck, instead of the download.</p>

<p>There is not really any way around this if you want total confidence in your copy of the blockchain.  The bitcoin-qt client generally is designed for greater security at the cost of performance.  There are other "thin" clients that are less paranoid, and are willing to trust the blockchain they get to a greater extent, but there is a security tradeoff.  Whether you think the tradeoff is acceptable is up to you; many people do.</p>

CC BY-SA 3.0
2013-08-29T17:00:03.020Z
2013-08-29T17:00:03.020Z
Nate Eldredge
<p>​<strong>Edit:</strong>  Rewording this question to be more clear and concise. </p>

<p><strong>Background Info:</strong></p>

<ul>
<li>Was running bitcoin-qt .0.8.1 on osx mountain lion. </li>
<li>experienced a kernel panic, likely from some conflict between mac ports and homebrew. Hardware was tested and does not seem to be the culprit.</li>
<li>upon next restart of bitcoin client I have a corrupted database and eventually the entire blockchain needs reloading. </li>
<li>only had a small amount of coins in wallet but was hoping to use them sooner than an entire blockchain download would take using the client (x days where x >= 2).  </li>
</ul>

<p><strong>Things I tried</strong></p>

<ul>
<li><p>Restoring the relevant files in the data directory from the last
backup before the crash. Actually had one from that morning.  Did not
really work -- client would trying to verify the db and eventually
would crash.</p></li>
<li><p>Got the latest bootstrap.dat from torrent, and tried placing  in data
directory. This eventually sort-of worked after next two steps.</p></li>
<li><p>Eventually imported wallet.dat at blockchain.info as a stop-gap, but it turned up a few bitcents short. I think because I had sent something to a wallet address before this happened and it hadn't synced yet.  I'll figure that one out once I'm fully synced, and if I ended up losing $5-10 worth of btc into the ether somewhere, I'll get over it.</p></li>
<li><p>Fixed the probable cause of kernel panic and reinstalled/upgraded to
latest 0.8.3 client and retried the above steps.</p></li>
<li>Also had to pretty much nuke the data directory in order to get bootstrap working.  (renamed/moved actually just in case) Saved wallet.dat (encrypted) elsewhere.</li>
</ul>

<p>At this point the bootstrap method seems to be working.  The client reports <em>​importing block from disk</em>.  However, it soon becomes apparent that this method does not really make things any faster.  It seems to load the blockchain from my HDD at about the same rate it downloads from the network.  Also, latest update was apparently 13 weeks old, and those last 13 weeks make-up most of the payload...</p>

<p>So for now I've got my old wallet imported onto electrum, and bitcoin-qt is back home chugging away finishing the download so hopefully I can find that change when it's done and be done with it.</p>

<p><strong>OK, so what are my question(s)?</strong></p>

<ol>
<li>Wy does it seem to take just as long for the client to import from the local HDD as it does from the p2p network?  If I were smart I would have put the bootstrap file on my SDD, but it appears that's not the case. But still, I'd assume it would be faster than from the cloud.  Any ideas? I don't remember if I have the 5200 or 7200RPM hdd; I probably just got a 52 since I was buying an SDD along with it.</li>
<li>Any blockchain-scalability plans in order for future releases of bitcoin-qt?  Evidently this is growing faster than they expected.</li>
<li>Anybody have a full working procedure for restoring data directory files when you have backups available?  Found a few ideas elsewhere on the net but nothing that worked.  My backup software keeps old versions of files so it's not too difficult to assemble a snapshot with the <em>/chainstate</em> and <em>/block</em> directory contents from some specific date.  But the client was barfing on this method.  </li>
</ol>

<p>Thanks, hope that is somewhat improved.</p>

CC BY-SA 3.0
2013-08-29T14:36:11.463Z
This question is too long, and there is too much noise to even know what you are asking. Cut it down to 1 paragraph.
spuder
CC BY-SA 3.0
2013-08-29T14:46:57.090Z
Ugh, you're right.   I'll edit it down within the next hour or two.
Neil Neyman
CC BY-SA 3.0
2013-08-29T16:53:48.353Z
The "Did I get hacked" in the title doesn't seem to relate to anything in the question.
Nate Eldredge
<blockchain><bitcoin-core><mac><bootstrap.dat>
Bitcoin-qt, OS X Mountain Lion, blockchains, and bootstrap.dat
Neil Neyman
# Bitcoin-qt, OS X Mountain Lion, blockchains, and bootstrap.dat

(Asked by: username_0 on 2013-08-29)

​**Edit:** Rewording this question to be more clear and concise.

**Background Info:**

* Was running bitcoin-qt .0.8.1 on osx mountain lion.
* experienced a kernel panic, likely from some conflict between mac ports and homebrew. Hardware was tested and does not seem to be the culprit.
* upon next restart of bitcoin client I have a corrupted database and eventually the entire blockchain needs reloading.
* only had a small amount of coins in wallet but was hoping to use them sooner than an entire blockchain download would take using the client (x days where x >= 2).

**Things I tried**

* Restoring the relevant files in the data directory from the last
  backup before the crash. Actually had one from that morning. Did not
  really work -- client would trying to verify the db and eventually
  would crash.
* Got the latest bootstrap.dat from torrent, and tried placing in data
  directory. This eventually sort-of worked after next two steps.
* Eventually imported wallet.dat at blockchain.info as a stop-gap, but it turned up a few bitcents short. I think because I had sent something to a wallet address before this happened and it hadn't synced yet. I'll figure that one out once I'm fully synced, and if I ended up losing $5-10 worth of btc into the ether somewhere, I'll get over it.
* Fixed the probable cause of kernel panic and reinstalled/upgraded to
  latest 0.8.3 client and retried the above steps.
* Also had to pretty much nuke the data directory in order to get bootstrap working. (renamed/moved actually just in case) Saved wallet.dat (encrypted) elsewhere.

At this point the bootstrap method seems to be working. The client reports *​importing block from disk*. However, it soon becomes apparent that this method does not really make things any faster. It seems to load the blockchain from my HDD at about the same rate it downloads from the network. Also, latest update was apparently 13 weeks old, and those last 13 weeks make-up most of the payload...

So for now I've got my old wallet imported onto electrum, and bitcoin-qt is back home chugging away finishing the download so hopefully I can find that change when it's done and be done with it.

**OK, so what are my question(s)?**

1. Wy does it seem to take just as long for the client to import from the local HDD as it does from the p2p network? If I were smart I would have put the bootstrap file on my SDD, but it appears that's not the case. But still, I'd assume it would be faster than from the cloud. Any ideas? I don't remember if I have the 5200 or 7200RPM hdd; I probably just got a 52 since I was buying an SDD along with it.
2. Any blockchain-scalability plans in order for future releases of bitcoin-qt? Evidently this is growing faster than they expected.
3. Anybody have a full working procedure for restoring data directory files when you have backups available? Found a few ideas elsewhere on the net but nothing that worked. My backup software keeps old versions of files so it's not too difficult to assemble a snapshot with the */chainstate* and */block* directory contents from some specific date. But the client was barfing on this method.

Thanks, hope that is somewhat improved.

**Tags:** blockchain, bitcoin-core, mac, bootstrap.dat

> **Comments:**
> **username_1**: This question is too long, and there is too much noise to even know what you are asking. Cut it down to 1 paragraph.  
> **username_0**: Ugh, you're right.   I'll edit it down within the next hour or two.  
> **username_2**: The "Did I get hacked" in the title doesn't seem to relate to anything in the question.  

---

## 1 answers

### Answer by username_2 on 2013-08-29. Score: 3 | Accepted answer

Bitcoin-qt verifies the entire blockchain the first time it starts, to be sure that all the transactions are properly signed, and all the blocks certify an appropriate amount of computation (proof-of-work). This ensures, for instance, that nobody is feeding you a fraudulent bootstrap.dat. Depending on the speed of your computer and network, this verification might be the bottleneck, instead of the download.

There is not really any way around this if you want total confidence in your copy of the blockchain. The bitcoin-qt client generally is designed for greater security at the cost of performance. There are other "thin" clients that are less paranoid, and are willing to trust the blockchain they get to a greater extent, but there is a security tradeoff. Whether you think the tradeoff is acceptable is up to you; many people do.


---

