<p>The only reasons are the syncing time and storage requirement (which can be lowered from about 200GB to 1GB by pruning). A week or so to sync first, then depending on how often you use it, it'll take a some minutes sync. These are major pain in the ass and because of these I would put it into the category of "good reason to not use as a personal wallet". I would definitely not suggest this to my grandma. However I can live with it, and indeed I use it as my main wallet.</p>

CC BY-SA 3.0
2017-03-15T16:42:51.063Z
2017-03-15T16:42:51.063Z
nopara73
<blockquote>
<p>Should I use a full node as my main wallet?</p>
</blockquote>
<p>Yes, it can be the right tool for the right job. Always use security best practices.</p>
<blockquote>
<p>Is there any good reason not to do this?</p>
</blockquote>
<p>Yes. Compare to the hardware wallet for help.</p>
<h3>Hardware Wallet</h3>
<p>For the sake of argument, take the hardware wallet (hw)
as the best wallet. Besides standard functionality (create transaction,
generate address, handle encryption) shared among wallets, what
sets the hw apart from others is the
<a href="http://doc.satoshilabs.com/trezor-user/securityphilosophy.html" rel="nofollow noreferrer">level of protection</a>
for the private key (prv).</p>
<blockquote>
<p>The whole point of TREZOR is being more secure than a traditional web wallet or desktop bitcoin application.</p>
</blockquote>
<p>It employs PIN, single purpose, and limited attack surface
in its zero trust design.</p>
<p>In other words, the prv is stored inside a closed box,
and only permits controlled access. There is physical separation (air gap)
between the prv and the bitcoin network.</p>
<p>With this separation, the hw is offline by definition. It does not require
a connection
(here it shares similarities with a paper wallet).
It is single purpose, in that chain services aren't
its responsibility, and it doesn't offer more services from a app store</p>
<p>Another result of the packaging is portability. Like Android wallets on
mobile, it is easier to carry the hw in your pockets.</p>
<p>Finally a less obvious point is purchase price, and its relation to
commercial support. I've been in a real-life situation where I
argued for not paying, and using open source software.
There can be a tradition of paying for software. There can be
regulatory rules that require SLAs and software support. There can be the
stigma of open source, and a perception that closed proprietary
software is more secure.</p>
<p>To summarize, reasons <em><strong>against</strong></em> full-node Bitcoin Core wallet:</p>
<ol>
<li>You want 2FA / PIN access control</li>
<li>You want to separate the private key from the bitcoin network</li>
<li>You want offline wallet operations</li>
<li>You want mobile travel size</li>
<li>You want to pay for commercial support</li>
</ol>
<hr/>
<h3>One Alternative</h3>
<p>To add another piece to the conversation, consider the
<a href="https://github.com/btcsuite/btcd" rel="nofollow noreferrer">Go language alternative of Bitcoin Core</a>
which separates the wallet from the chain as explained by the documentation:</p>
<blockquote>
<p>One key difference between btcd and Bitcoin Core is that btcd does NOT include wallet functionality and this was a very intentional design decision. See the blog entry here for more details. This means you can't actually make or receive payments directly with btcd. That functionality is provided by the btcwallet .....</p>
</blockquote>
<p>Where the <a href="https://blog.conformal.com/btcd-not-your-moms-bitcoin-daemon/" rel="nofollow noreferrer">blog entry</a> goes on to elaborate:</p>
<blockquote>
<p>Multiple users, each with their own devices and wallets, can authenticate and connect to a shared btcd server.</p>
</blockquote>
<p>The <a href="https://blog.conformal.com/btcwallet-and-btcgui-wallet-handling-for-btcd/" rel="nofollow noreferrer">next blog post</a> continues:</p>
<blockquote>
<p>To put it another way, separating wallet from chain provides the convenience and speed of Simplified Payment Verification (SPV) clients, while keeping most of the benefits and security of running a full-node Bitcoin implementation.</p>
</blockquote>
<p>So the primary motivations are concerned with scalability, and consolidating blockchain for multi-user/device scenarios. Where the immediate tangible gain for a user's experience is in the form of SPV convenience and speed.</p>
<p>Conversely then, running a full-node Bitcoin with integrated wallet means sacrificing some convenience and speed for <strong>wallet-only</strong> functionality. To repeat, for more than just wallet functionality a <em>full-node is good</em>. You want to explore alternatives to full-node configuration when <strong>wallet</strong> convenience and speed are your highest priority.</p>
<h3>Food for Thought</h3>
<p>For contrast think of the paper wallet, arguably the least convenient, slowest wallet. That does not mean we avoid using paper wallets. To the contrary, the paper wallet has a very specific and important purpose. When you rank <strong>security</strong> as your priority, the paper wallet can become your first choice. So just because a full-node setup is slower and inconvenient to a dedicated SPV wallet does not automatically make a full-node a bad wallet.</p>

CC BY-SA 3.0
2017-03-30T11:51:19.800Z
Not asked so off-topic, but there Bitcoin dev guide about SPV risks https://bitcoin.org/en/developer-guide#potential-spv-weaknesses
杜興怡
CC BY-SA 3.0
2017-03-20T12:34:48.400Z
2017-03-30T11:48:58.003Z
2020-06-16T11:10:03.350Z
杜興怡
<p>If you're not using a full node for your wallet, you're not using Bitcoin, and won't get the benefits Bitcoin provides over fiat currency. You might as well be using PayPal in that case, except with a random anonymous person in place of a regulated company...</p>

<p>So, always use a full node.</p>

CC BY-SA 3.0
2017-03-17T00:25:33.173Z
If you use a wallet that only scans the blockchain then you don't need the whole database and it can also keep the wallet keys local so there is also no anonymous person either.
Chloe
CC BY-SA 3.0
2017-03-18T02:55:33.987Z
If you only scan the blockchain then you don't know it's actually valid, and you are not secure. You are then trusting the random anonymous person to have validated it for you, and if they haven't, you may be trusting invalid blocks and not actually receiving payments you think you are. Having the wallet keys locally doesn't help if those keys don't really control any bitcoins. So sorry, you're wrong: a full node you control is absolutely needed to be secure and get Bitcoin's benefits.
Luke Dashjr
CC BY-SA 4.0
2018-08-15T15:29:14.540Z
Clearly this is not the whole picture. There are many benfits to running a full node, but there are also many benefits to using cold storage. Resist the platitudes, truth lies in the nuance. Do your research, if you're using bitcoin as a long term storage of wealth, heavily consider if you want to be doing so on a full node or something not connected to the network. What if you're transacting on a smartphone? Sometimes you can route those payments to your full node? None of the answers in this space are as simple as "always use a full node" (yet) so be skeptical when see this.
Parth Mehrotra
CC BY-SA 3.0
2017-03-16T04:11:17.673Z
2017-03-16T04:11:17.673Z
Luke Dashjr
<p>It's ok to use it for small amounts and as your "hot" wallet if you don't mind the sync time. But desktops are very susceptible to viruses which can steal your coinz. Just as it's ok to do the same with a mobile wallet (smart phone) or cloud wallet (Coinbase, etc). But for larger amounts (In my case over $500 worth), it's best to create air-gapped BIP38 paper wallets or get a Trezor or Ledger hardware wallet. Store your recovery phrase is a few very safe places.</p>

CC BY-SA 3.0
2017-03-15T19:44:49.470Z
2017-03-15T19:44:49.470Z
Skippy Nutbutter Futz
<p>A few days ago I decided to download Bitcoin Core so I can use it as full node, to help the network and also as my main wallet. </p>

<p>Since then I keep reading a lot of people saying that you shouldn't use a full node as your wallet but I can't figure out why. </p>

<p>Is there any good reason not to do this?</p>

CC BY-SA 3.0
2017-03-17T00:27:07.713Z
No not unless you are an expert or advanced user. It will probably cause more problems than it's worth in terms of space or bandwidth.
Chloe
<bitcoin-core><wallet><full-node>
Should I use a full node as my main wallet?
Pablo L
# Should I use a full node as my main wallet?

(Asked by: username_0 on 2017-03-15)

A few days ago I decided to download Bitcoin Core so I can use it as full node, to help the network and also as my main wallet.

Since then I keep reading a lot of people saying that you shouldn't use a full node as your wallet but I can't figure out why.

Is there any good reason not to do this?

**Tags:** bitcoin-core, wallet, full-node

> **Comments:**
> **username_1**: No not unless you are an expert or advanced user. It will probably cause more problems than it's worth in terms of space or bandwidth.  

---

## 4 answers

### Answer by username_2 on 2017-03-15. Score: 2 | Accepted answer

The only reasons are the syncing time and storage requirement (which can be lowered from about 200GB to 1GB by pruning). A week or so to sync first, then depending on how often you use it, it'll take a some minutes sync. These are major pain in the ass and because of these I would put it into the category of "good reason to not use as a personal wallet". I would definitely not suggest this to my grandma. However I can live with it, and indeed I use it as my main wallet.


---

### Answer by username_3 on 2017-03-20. Score: 1

> Should I use a full node as my main wallet?

Yes, it can be the right tool for the right job. Always use security best practices.

> Is there any good reason not to do this?

Yes. Compare to the hardware wallet for help.

### Hardware Wallet

For the sake of argument, take the hardware wallet (hw)
as the best wallet. Besides standard functionality (create transaction,
generate address, handle encryption) shared among wallets, what
sets the hw apart from others is the
[level of protection](http://doc.satoshilabs.com/trezor-user/securityphilosophy.html)
for the private key (prv).

> The whole point of TREZOR is being more secure than a traditional web wallet or desktop bitcoin application.

It employs PIN, single purpose, and limited attack surface
in its zero trust design.

In other words, the prv is stored inside a closed box,
and only permits controlled access. There is physical separation (air gap)
between the prv and the bitcoin network.

With this separation, the hw is offline by definition. It does not require
a connection
(here it shares similarities with a paper wallet).
It is single purpose, in that chain services aren't
its responsibility, and it doesn't offer more services from a app store

Another result of the packaging is portability. Like Android wallets on
mobile, it is easier to carry the hw in your pockets.

Finally a less obvious point is purchase price, and its relation to
commercial support. I've been in a real-life situation where I
argued for not paying, and using open source software.
There can be a tradition of paying for software. There can be
regulatory rules that require SLAs and software support. There can be the
stigma of open source, and a perception that closed proprietary
software is more secure.

To summarize, reasons ***against*** full-node Bitcoin Core wallet:

1. You want 2FA / PIN access control
2. You want to separate the private key from the bitcoin network
3. You want offline wallet operations
4. You want mobile travel size
5. You want to pay for commercial support

---

### One Alternative

To add another piece to the conversation, consider the
[Go language alternative of Bitcoin Core](https://github.com/btcsuite/btcd)
which separates the wallet from the chain as explained by the documentation:

> One key difference between btcd and Bitcoin Core is that btcd does NOT include wallet functionality and this was a very intentional design decision. See the blog entry here for more details. This means you can't actually make or receive payments directly with btcd. That functionality is provided by the btcwallet .....

Where the [blog entry](https://blog.conformal.com/btcd-not-your-moms-bitcoin-daemon/) goes on to elaborate:

> Multiple users, each with their own devices and wallets, can authenticate and connect to a shared btcd server.

The [next blog post](https://blog.conformal.com/btcwallet-and-btcgui-wallet-handling-for-btcd/) continues:

> To put it another way, separating wallet from chain provides the convenience and speed of Simplified Payment Verification (SPV) clients, while keeping most of the benefits and security of running a full-node Bitcoin implementation.

So the primary motivations are concerned with scalability, and consolidating blockchain for multi-user/device scenarios. Where the immediate tangible gain for a user's experience is in the form of SPV convenience and speed.

Conversely then, running a full-node Bitcoin with integrated wallet means sacrificing some convenience and speed for **wallet-only** functionality. To repeat, for more than just wallet functionality a *full-node is good*. You want to explore alternatives to full-node configuration when **wallet** convenience and speed are your highest priority.

### Food for Thought

For contrast think of the paper wallet, arguably the least convenient, slowest wallet. That does not mean we avoid using paper wallets. To the contrary, the paper wallet has a very specific and important purpose. When you rank **security** as your priority, the paper wallet can become your first choice. So just because a full-node setup is slower and inconvenient to a dedicated SPV wallet does not automatically make a full-node a bad wallet.

> **Comments:**
> **username_3**: Not asked so off-topic, but there Bitcoin dev guide about SPV risks https://bitcoin.org/en/developer-guide#potential-spv-weaknesses  

---

### Answer by username_4 on 2017-03-16. Score: 1

If you're not using a full node for your wallet, you're not using Bitcoin, and won't get the benefits Bitcoin provides over fiat currency. You might as well be using PayPal in that case, except with a random anonymous person in place of a regulated company...

So, always use a full node.

> **Comments:**
> **username_1**: If you use a wallet that only scans the blockchain then you don't need the whole database and it can also keep the wallet keys local so there is also no anonymous person either.  
> **username_4**: If you only scan the blockchain then you don't know it's actually valid, and you are not secure. You are then trusting the random anonymous person to have validated it for you, and if they haven't, you may be trusting invalid blocks and not actually receiving payments you think you are. Having the wallet keys locally doesn't help if those keys don't really control any bitcoins. So sorry, you're wrong: a full node you control is absolutely needed to be secure and get Bitcoin's benefits.  
> **username_5**: Clearly this is not the whole picture. There are many benfits to running a full node, but there are also many benefits to using cold storage. Resist the platitudes, truth lies in the nuance. Do your research, if you're using bitcoin as a long term storage of wealth, heavily consider if you want to be doing so on a full node or something not connected to the network. What if you're transacting on a smartphone? Sometimes you can route those payments to your full node? None of the answers in this space are as simple as "always use a full node" (yet) so be skeptical when see this.  

---

### Answer by username_6 on 2017-03-15. Score: 1

It's ok to use it for small amounts and as your "hot" wallet if you don't mind the sync time. But desktops are very susceptible to viruses which can steal your coinz. Just as it's ok to do the same with a mobile wallet (smart phone) or cloud wallet (Coinbase, etc). But for larger amounts (In my case over $500 worth), it's best to create air-gapped BIP38 paper wallets or get a Trezor or Ledger hardware wallet. Store your recovery phrase is a few very safe places.


---

