<p>Pass <code>-dbcache=N</code> as a command line option. <code>N</code> is a number in megabytes, and setting it higher significantly improves verification speed. The default is 450, but up to 6000 or so you can notice improvements.</p>

<p>This is superior to using a RAM drive.</p>

CC BY-SA 3.0
2014-02-18T12:12:37.463Z
2017-10-19T14:54:33.993Z
2017-10-19T14:54:33.993Z
Pieter Wuille
<p>Next to installing an SSD, and using <code>-dbcache=N</code> to allow Bitcoin Core to take more memory, each release of Bitcoin Core has sped up the synchronization. </p>

<p>The upcoming <code>Bitcoin Core 0.14.0</code> release will introduce the option <code>-assumevalid=&lt;block&gt;</code> which will cause Bitcoin Core to not check signatures up to the given block. This is by default enabled and set to a block shortly before the release. It has been reported that synchronization only took about <a href="https://www.reddit.com/r/Bitcoin/comments/5xomir/0140_is_a_beast_48_faster_initial_sync/" rel="nofollow noreferrer">2/3 of the time with 0.14.0 than with 0.13.2</a>.</p>

<p>So, if you're still on an older version because you're reindexing or hadn't turned on Bitcoin in ages, you'll probably see huge benefits by upgrading to a newer version.</p>

CC BY-SA 3.0
2017-03-08T08:27:59.317Z
2017-03-08T08:27:59.317Z
Murch
<p>One way is to pre-calculate a subset of the data - this would be up to the author of the bitcoin client.</p>

<p>For example, the author of a particular client could say (to the program): "The first block is 286,427, it's hash is 0000000000000000f85c21f45015dcd2a89df40b03071234e1b3211aecaea1a4, and at that time, the COMPLETE list of balances is as follows: (include the full list here).</p>

<p>So long as the information is correct (and verified), and it is not on the wrong side of a fork, processing could continue from there. You would lose transactions before then.</p>

CC BY-SA 3.0
2014-02-18T00:45:41.383Z
2014-02-18T00:45:41.383Z
AMADANON Inc.
<p>What ways are there to increase the speed of synchronisation of the network, assuming the use of the main Bitcoin client?</p>

CC BY-SA 3.0
2013-04-07T05:46:03.053Z
Disk seek speed is the single most important factor. It takes you 0.5 ms to verify a transaction, but 5 ms to go to disk and save it. When buying harddrives, look at that. SSD's have short enough seek times that the exact seek time doesn't really matter.
Nick ODell
<bitcoin-core><synchronization><performance>
How to increase the speed of synchronisation?
gak
# How to increase the speed of synchronisation?

(Asked by: username_0 on 2013-04-07)

What ways are there to increase the speed of synchronisation of the network, assuming the use of the main Bitcoin client?

**Tags:** bitcoin-core, synchronization, performance

> **Comments:**
> **username_1**: Disk seek speed is the single most important factor. It takes you 0.5 ms to verify a transaction, but 5 ms to go to disk and save it. When buying harddrives, look at that. SSD's have short enough seek times that the exact seek time doesn't really matter.  

---

## 3 answers

### Answer by username_2 on 2014-02-18. Score: 10

Pass `-dbcache=N` as a command line option. `N` is a number in megabytes, and setting it higher significantly improves verification speed. The default is 450, but up to 6000 or so you can notice improvements.

This is superior to using a RAM drive.


---

### Answer by username_3 on 2017-03-08. Score: 2

Next to installing an SSD, and using `-dbcache=N` to allow Bitcoin Core to take more memory, each release of Bitcoin Core has sped up the synchronization.

The upcoming `Bitcoin Core 0.14.0` release will introduce the option `-assumevalid=<block>` which will cause Bitcoin Core to not check signatures up to the given block. This is by default enabled and set to a block shortly before the release. It has been reported that synchronization only took about [2/3 of the time with 0.14.0 than with 0.13.2](https://www.reddit.com/r/Bitcoin/comments/5xomir/0140_is_a_beast_48_faster_initial_sync/).

So, if you're still on an older version because you're reindexing or hadn't turned on Bitcoin in ages, you'll probably see huge benefits by upgrading to a newer version.


---

### Answer by username_4 on 2014-02-18. Score: 0

One way is to pre-calculate a subset of the data - this would be up to the author of the bitcoin client.

For example, the author of a particular client could say (to the program): "The first block is 286,427, it's hash is 0000000000000000f85c21f45015dcd2a89df40b03071234e1b3211aecaea1a4, and at that time, the COMPLETE list of balances is as follows: (include the full list here).

So long as the information is correct (and verified), and it is not on the wrong side of a fork, processing could continue from there. You would lose transactions before then.


---

