2026 年如何在 VPS 上运行比特币全节点

全节点现在约 890 GB,而不是 600 GB。如何选配服务器、用经过校验的二进制文件安装 Bitcoin Core 并作为服务运行,精简节点或全节点均可。

C账CheapServ 账单团队作者 8 分钟阅读
一串由发光的蓝色线条连接的银色方块,末端是一座服务器塔
本页目录9
  1. 精简节点还是全节点:下单前先想清楚
  2. 内存、CPU、磁盘与流量
  3. 用校验过的二进制文件安装 Bitcoin Core
  4. 配置节点
  5. 作为服务运行
  6. 防火墙与 RPC
  7. 初始同步
  8. Electrum 服务器、闪电网络与 Tor
  9. 日常维护

您自己运行的比特币节点会独立校验网络的每一条规则,因此钱包无需把余额和地址托付给别人的服务器。VPS 是运行节点的合适之选:它全天在线,拥有可供其他节点连接的固定地址,也不会占用您家庭宽带的上行带宽。本指南先确定服务器规格,因为大多数人恰恰是在这一步出错;然后用经过校验的二进制文件安装 Bitcoin Core,并配上经得起重启和升级的配置与服务。

精简节点还是全节点:下单前先想清楚

Bitcoin Core 始终会下载并验证完整的区块链历史,区别只在于保留什么。全节点保存每一个区块,目前约 890 GB,因此可以向其他节点提供区块、重新扫描任意钱包,并作为 Electrum 服务器或区块浏览器的数据来源。精简节点(也称修剪节点)的验证方式完全相同,只是在旧区块验证完毕后就将其删除,仅保留 chainstate(UTXO 集)和最近的区块:按最小设置,磁盘占用约 12 GB。

方案当前磁盘占用能做什么适用套餐
精简节点约 12 GB作为您自己钱包的后端;搭配 LND 运行闪电网络,速度略有损失VPS-1(40 GB NVMe)
全节点约 890 GB上述全部功能,外加向对等节点提供区块和重新扫描旧钱包ST-1(1 TB)
全节点、交易索引(txindex)和 Electrum 服务器约 1 至 1.2 TB让 Sparrow、Electrum 或区块浏览器使用您自己的服务器ST-4(5 TB)

数据截至 2026年10月:区块数据 774 GB、undo 数据约 108 GB、chainstate 12 GB。总量每年大约增长 94 GB,交易索引还要再增加约 66 GB。1 TB 的存储卷如今装得下一个全节点,但大约一年内就会吃紧;如果您想要索引、Electrum 服务器,或者希望留出多年的余量,请直接从 5 TB 起步。许多教程仍然写着 600 GB,这个数字早已过时。

内存、CPU、磁盘与流量

  • 内存在初始同步期间最为重要,因为 Bitcoin Core 会把未花费输出缓存在内存里,缓存大小由 dbcache 决定;缓存越大,写入磁盘的次数就越少。自 31 版本起,默认值在内存不低于 4 GiB 的机器上为 1024 MiB,更低则为 450 MiB。在 4 GB 内存的套餐上,初始同步时设为约 1500 MiB 比较稳妥;16 GB 内存则可设为 8000 或更高。
  • CPU:Bitcoin Core 会跳过内置 assumevalid 区块之前所有区块的签名检查,因此 2 个 vCPU 就足够了;更多核心主要能加快同步中最近的那一段。
  • 磁盘速度:chainstate 会被持续读写,区块文件则基本只做追加写入。机械硬盘处理区块文件游刃有余,面对 chainstate 零散的小块随机读写却力不从心。存储型套餐在 RAID-10 机械硬盘前面加了一层 NVMe 回写缓存,而 chainstate 足够小,可以整个放进这层缓存里。
  • 流量:初始同步需要把整条链下载一遍,约 0.8 TB。此后,接受入站连接的节点会向仍在追赶进度的对等节点上传区块:bitcoin.org 指出,高速网络下的全节点每月上传 200 GB 甚至更多,是很常见的事。maxuploadtarget 可以限制上传量。ST-1 每月包含 8 TB 流量;超出额度后,端口速率降至 100 Mbps,也不会产生任何费用。

用校验过的二进制文件安装 Bitcoin Core

下载发布包、校验和清单以及这份清单上的签名,然后两项都要检查:校验和能证明压缩包就是清单里列出的那一个,签名则证明这份清单出自 Bitcoin Core 的构建者之手。

VER=31.1
cd /tmp
wget https://bitcoincore.org/bin/bitcoin-core-$VER/bitcoin-$VER-x86_64-linux-gnu.tar.gz \
     https://bitcoincore.org/bin/bitcoin-core-$VER/SHA256SUMS \
     https://bitcoincore.org/bin/bitcoin-core-$VER/SHA256SUMS.asc
sha256sum --ignore-missing --check SHA256SUMS
git clone --depth 1 https://github.com/bitcoin-core/guix.sigs
gpg --import guix.sigs/builder-keys/*
gpg --verify SHA256SUMS.asc SHA256SUMS

第一项检查必须在压缩包名称旁输出 OK。第二项检查会为每位构建者各输出一条结果:您应当看到多行 Good signature;出现“密钥未经可信签名认证”的警告是正常的,除非您已亲自为这些密钥签过名。然后安装您需要的两个二进制文件,并创建一个系统用户:

tar xzf bitcoin-$VER-x86_64-linux-gnu.tar.gz
install -m 0755 -o root -g root -t /usr/local/bin bitcoin-$VER/bin/bitcoind bitcoin-$VER/bin/bitcoin-cli
adduser --system --group --home /var/lib/bitcoind bitcoin

配置节点

mkdir -p /etc/bitcoin
cat > /etc/bitcoin/bitcoin.conf <<'EOF'
server=1
# RPC on the server only; reach it through SSH or WireGuard.
rpcbind=127.0.0.1
rpcallowip=127.0.0.1
# UTXO cache in MiB: large for the first sync, smaller afterwards.
dbcache=1500
maxconnections=40
# Upload served to peers, in MiB per 24 hours (0 = no limit).
maxuploadtarget=5000
# Pruned node: uncomment to keep only about 550 MB of recent blocks.
#prune=550
# Transaction index, needed by Fulcrum and some explorers (full node only).
#txindex=1
EOF
chown -R root:bitcoin /etc/bitcoin
chmod 0640 /etc/bitcoin/bitcoin.conf

RPC 通过 cookie 文件验证身份,bitcoind 每次启动时都会把该文件写入其数据目录,因此既不用设置、保管密码,也不必担心密码泄露。需要使用 RPC 的工具(如 Electrum 服务器或闪电网络节点)与它运行在同一台服务器上,直接读取这个 cookie 即可。

作为服务运行

cat > /etc/systemd/system/bitcoind.service <<'EOF'
[Unit]
Description=Bitcoin Core
After=network-online.target
Wants=network-online.target

[Service]
User=bitcoin
Group=bitcoin
ExecStart=/usr/local/bin/bitcoind -conf=/etc/bitcoin/bitcoin.conf -datadir=/var/lib/bitcoind
Restart=on-failure
TimeoutStopSec=600
PrivateTmp=true
ProtectSystem=full
NoNewPrivileges=true

[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now bitcoind

TimeoutStopSec 给 bitcoind 留出足够的时间,让它在停止时把缓存写入磁盘。节点若在这次写入中途被强行终止,下次启动时就得重建 chainstate,这可能要花上好几个小时。

防火墙与 RPC

ufw allow 22/tcp
ufw allow 8333/tcp comment bitcoin-p2p
ufw enable

8333 端口允许其他节点连接到您的节点,节点正是借此为网络贡献力量;关闭该端口后,节点仍能工作,但只能使用出站连接。切勿开放 8332 端口:RPC 能够控制节点,以及其中加载的所有钱包。如需在笔记本电脑上使用 RPC,可以通过 SSH 隧道转发:运行 ssh -L 8332:127.0.0.1:8332,后面接您的用户名和服务器地址;也可以把两台机器放进同一个 WireGuard 网络。

初始同步

用下面的命令查看进度:

sudo -u bitcoin bitcoin-cli -datadir=/var/lib/bitcoind getblockchaininfo \
  | grep -E '"blocks"|"headers"|verificationprogress|size_on_disk'

耗时短则十几个小时,长则好几天:需要下载并校验约 0.8 TB 的数据,内存、磁盘速度和对等节点决定了同步的快慢。公开的基准测试显示,在配备大缓存的大型 NVMe 机器上,7 到 12 小时即可同步完成;使用机械硬盘的 4 GB 内存套餐则需要更久。当 blocks 等于 headers,且 verificationprogress 高于 0.9999 时,在 4 GB 内存的套餐上把 dbcache 降到 450 并重启服务:从此以后,这部分内存留给操作系统的页缓存更有用。自 28 版本起,Bitcoin Core 还可以用 loadtxoutset 从 UTXO 快照启动,并在后台校验历史数据,但快照文件需要您自行获取;大多数人干脆让常规同步一路跑完。

Electrum 服务器、闪电网络与 Tor

  • Electrum 服务器。electrs 额外占用的空间约为区块数据的 7%,目前约 56 GB,并且不需要交易索引;Fulcrum 为历史记录很长的钱包提供服务时速度更快,但需要 txindex=1,自身还要占用远超 100 GB 的空间。两者都无法在精简节点上运行。无论用哪一个,都能让 Sparrow 或 Electrum 查询您自己的服务器,而不必使用公共服务器;请让它们的端口只能通过 SSH、WireGuard 或 Tor 访问。
  • 闪电网络。LND 和 Core Lightning 都可以与 bitcoind 运行在同一台服务器上,并监听 9735 端口。LND 支持以精简节点作为后端,只是速度和带宽会有所损失;Core Lightning 仅部分支持,如果它落后太多、所需的区块已被节点删除,就可能卡住,因此全节点才是更省心的基础。
  • Tor。在安装 tor、启用其控制端口(在 torrc 中设置 ControlPort 9051 和 CookieAuthentication 1)并把 bitcoin 用户加入 debian-tor 组之后,Bitcoin Core 会通过该端口自行创建洋葱服务;再加上 proxy=127.0.0.1:9050,出站连接也会经由 Tor。我们的网络欢迎 Tor 中继节点,但不接受出口节点。

日常维护

  • 升级:用新版本重复下载和两项检查,替换那两个二进制文件,然后重启服务。数据目录原样沿用。
  • 磁盘:每月检查一次 df -h /var/lib/bitcoind,并在存储卷用量超过 85% 之前升级到更大的套餐。
  • 快照:初始同步一结束就创建一个。万一升级或崩溃损坏了数据,回滚只需一分钟,而不必重新同步一遍。
  • 密钥:把能动用资金的私钥保存在硬件钱包中,并把节点用作它的后端。如果您确实要在服务器上加载钱包,请备份其描述符并为钱包加密。
  • 挖矿在 VPS 套餐上不被允许,运行节点则没有问题。在独立服务器和 GPU 服务器上可以挖矿,因为整台机器都归您使用。
在存储型 VPS 上运行

ST-1(1 TB RAID-10 存储,前置 NVMe 缓存,2 vCPU,4 GB 内存,8 TB 流量)每月 $8.09,目前足以容纳一个全节点;ST-4(5 TB)则为索引和 Electrum 服务器留出了多年的余量。机房位于法兰克福、赫尔辛基和纽约,使用比特币付款,账户只需电子邮箱即可注册。比特币节点 VPS 页面列出了所有适用的套餐。

C账
CheapServ 账单团队

负责余额模型、充值流程和各币种的对接。

一分钟内部署您的第一台服务器。

以 BTC、ETH、XMR 或 USDT 充值,$25 起。余额永不过期,未使用的部分可退款。

立即注册