Post
Topic
Board Development & Technical Discussion
Merits 2 from 2 users
Re: FDE while running a node on SSD
by
ABCbits
on 22/05/2025, 09:25:22 UTC
⭐ Merited by vapourminer (1) ,YOSHIE (1)
If you do a full disk encryption setup while running a full Bitcoin Core node on an SSD drive, does the very demanding i/o activity while downloading+verifying the blockchain do too much wear and tear on the drive?

I would assume that SSD drives, since they don't have mechanical parts, are safer to run a full disk encryption node than an HDD, but nonetheless, what would you consider when shopping for drives?
For the drive there's no difference in I/O load whether it's gets encrypted or non-encrypted data to write to or read from. The OS does the encryption/decryption in memory, it doesn't matter for the drive what kind of data it gets to write to media or read from media.

There's more load on the CPU as it has to do the encryption and decryption, but usually it can handle it without much notice for the user. This of course depends on the CPU you have. Most modern CPUs have built-in instructions for speedy encryption and decryption.

FWIW, there's small I/O slowdown on read/write benchmark even when your CPU is fast enough. See https://scs.community/2023/02/24/impact-of-disk-encryption/, specifically benchmark result on SAS HDD. Although it's small enough where most people won't even notice it.

If you do a full disk encryption setup while running a full Bitcoin Core node on an SSD drive, does the very demanding i/o activity while downloading+verifying the blockchain do too much wear and tear on the drive?

I would assume that SSD drives, since they don't have mechanical parts, are safer to run a full disk encryption node than an HDD, but nonetheless, what would you consider when shopping for drives?

Also what about built-in drive encryption vs software encryption like VeraCrypt or dm-crypt (which I think is what most Linux distros use by default)? I would assume there's no need to even bother with built-in encryption and you should buy one without it and just encrypt it yourself with open source software.

Anyway I just wanted to know if full disk encryption has been tested and if it's safe for the drives, and if anything, what settings to tweak in order to make it more reliable.

In the bitcoin core app there is a toggle that says RPC server, you need to enable that. But the bitcoin core only works for you and saves your transactions unencrypted on your mac. If you want to have it encrypted, access your node from anywhere or be nice to others and let them use your node as well you would need something like an electrum server, additionally to the bitcoin core software. And when you do that it is easier to run a tiny linux machine or a VM on your mac with for instance Umbrel or some bitcoin node docker. Have a look at umbrel, they even sell the whole thing done. However, you must know that it is more expensive and you trust them to make any node choice for you; on the other hand it is convenient.

Bitcoin core runs on a mac. But then you start with electrum server, etc. And you end up just buying a tiny linux machine that runs all the time. On Mac you can also have a VM run (in for instance UTM) of Umbrel... that sets up everything for you and you just need to open some ports on your router.

Do you post this reply on wrong thread or intentionally being off-topic?
1. OP never state he own any Mac device.
2. OP never mention or ask anything about connecting to Bitcoin node, so why do you mention RPC?
3. Other full node and application that use RPC-JSON protocol still can connect to your full node, even if FDE is enabled. So i don't understand why you mention Electrum server.

I did some tests (about a year ago). If I remember correctly, my laptop with 8 GB RAM wrote almost 5 TB to disk during IBD. That's a fraction of what a modern SSD can handle.
In my other test, with 32 GB RAM and enough dbcache on a server with HDD, the disk speed was not a problem at all. More RAM can make up for a slower disk, problems arise when your disk is slow and you don't have enough RAM.

If you have neither (fast disk or big RAM capacity), you probably better not force yourself to run full node anyway.