日常使用的比特币钱包,几乎都是别人节点的客户端。你手机里的钱包会去问某台服务器:链上的哪些输出属于你;那台服务器由此得知你的地址、把它们归并成同一个钱包,还会记下你的 IP 和查询时间。比特币全节点去掉了这个第三方:它下载每一个区块,用自己保存的那份链去核对每一条共识规则,并自己回答钱包提出的问题。
VPS 天生适合承载它:一直在线、有快速的 NVMe 来存放链状态(chainstate)、有稳定可路由的地址方便入站连接,也不用为了第一周就要跑掉几百 GB 流量的机器而跟你的家庭宽带运营商争执。人们在节点选型上常常两头都会出错,所以本文就从这里开始 — 裁剪还是归档是决定账单的唯一因素,在我们的套餐表上,这就是 $5 和 $99 之间的差别。无需 KYC 即可租用主机,可以用 BTC 支付,如果你不希望这笔付款成为一条永久的公开记录,也可以用门罗币支付。
自己运行节点,到底换来了什么
一共三件事,其中只有两件跟隐私有关。
- 验证。你的节点自己执行共识规则 — 每一笔签名、每一段脚本、每一次区块补贴和难度调整,都要拿自己保存的那份链去核对。没有人能骗它相信一枚不存在的币是存在的。这一点无法假手于人:轻钱包只能选择相信服务器给出的答案。
- 网络层的隐私。轻钱包必须告诉别人它关心哪些地址。即便是那些设计得比较克制的协议,也足以让服务器把你的地址归并成一个钱包并锁定到一个 IP 上。你自己的节点则会在本地回答这些查询。
节点换不来的,是链上匿名性。账本本身依然公开且永久留存;节点只解决网络层的问题。如果你需要的是链本身的不可关联性,那就该用另一条链 — 改为运行门罗币节点 — 用加密货币付款的 VPS 真的匿名吗?一文里有更完整的说明。
裁剪还是归档:决定账单的那个选择
两种节点的验证过程完全相同。裁剪节点会下载每一个区块,检查每一条规则,构建出同样的 UTXO 集,然后再删掉自己不再需要的旧区块文件。它放弃的是提供历史数据的能力:不能把旧区块喂给正在同步的对等节点,不能为一个持币早于其裁剪点的钱包做重新扫描,也无法支撑读取任意历史交易的索引。
两者的体积差距相当明显。到 2026 年,未裁剪的链已经远超 700 GB,而且每年还在新增数十 GB — 在为磁盘做决定之前,先查一下当前的实际数字,因为它只会越来越大。使用 prune=5000 的裁剪节点,大约会保留 5 GB 的区块文件,加上 UTXO 集和 Core 自身的数据库:数据目录按 20 GB 算就够了。
所以除非有特定理由,否则请选择裁剪模式。这样的理由并不多:向网络回馈历史区块、为区块浏览器开启 txindex,或者自己运行一个 Electrum 服务器。
Bitcoin Core 实际需要什么资源
- CPU。一个核心就足以长期跟上链的最新高度。真正吃 CPU 的是初始区块下载,因为签名验证可以并行 — 2 到 4 个 vCPU 能缩短首次同步的时间,之后又会回归空闲。完整的 KVM 虚拟化比核心数量更重要:真正的硬件隔离和属于你自己的内核,而不是和别人共用的容器。
- 内存。2 GB 是裁剪节点的最低要求。真正关键的旋钮是
dbcache— 在 IBD 期间把 UTXO 缓存调高一两个 GB,能省掉数小时的随机读取,同步完成后再调回去即可。 - 磁盘。按前文的数字来定,而且要用 NVMe,其他都不行。IBD 的瓶颈主要在对链状态的随机访问,而不是下载本身。
- 带宽。不管是否裁剪,IBD 都要搬运整条链:一次性传输几百 GB。之后作为监听节点,会持续向对等节点上传数据,可以用
maxuploadtarget设置上限。这里的每个套餐都配备 1 Gbps 端口和不限流量,不会有超额账单。
该选哪个套餐,价格是多少
下面是来自我们套餐表的具体数字,因为“看情况”不算是一个答案:
- 裁剪模式,个人使用 — Cub,1 vCPU / 2 GB / 40 GB NVMe,$5.00/mo。20 GB 的数据目录还留有余量,对大多数读者来说是最实在的推荐。
- 裁剪模式,更宽裕 — Scout,2 vCPU / 4 GB / 70 GB,$9.00/mo。同步等待时间大致减半。如果这台机器还要兼顾其他用途,就从这个套餐开始。
- 节点 + 闪电网络 + 监控 — Runner,3 vCPU / 6 GB / 100 GB,$14.00/mo。
- 完整归档 — 这里选择诚实,而不是往上推销。Garmr(500 GB,$69.00/mo)已经装不下 2026 年未裁剪的链了,不要为了这个用途去买它。Fenrir(16 vCPU / 64 GB / 800 GB NVMe,$99.00/mo)才装得下,而且余量能撑上几年,而不是无限久。
位置对节点来说无关紧要,因为它没有延迟方面的要求,所以可以只按价格或司法辖区来选:阿姆斯特丹、巴黎、布加勒斯特和索非亚是基础价,斯德哥尔摩、吉隆坡、雷克雅未克和苏黎世则要加价。按年付费只收十个月的费用,而不是十二个月。
分步操作
- 购买 VPS 并加固
裁剪节点选 Cub,归档节点选 Fenrir,从模板库里选择 Debian 12 或 13,然后部署 — 开通大约只需一分钟。在节点接触互联网之前,先花十分钟按我们的 Debian 加固指南做好基础工作:只用 SSH 密钥登录、禁用 root 密码登录、配置 nftables 默认拒绝策略、开启无人值守的安全更新。
- 安装经过验证的 Bitcoin Core 发行版
从 bitcoincore.org 下载 Linux x86-64 版本的压缩包,并务必验证。每个发行版都会附带一个
SHA256SUMS文件,以及来自多名独立构建者的分离签名;核对哈希值并至少验证一个签名,就能挡掉一整类攻击。wget https://bitcoincore.org/bin/bitcoin-core-XX.X/bitcoin-XX.X-x86_64-linux-gnu.tar.gz wget https://bitcoincore.org/bin/bitcoin-core-XX.X/SHA256SUMS sha256sum --ignore-missing --check SHA256SUMS tar xzf bitcoin-*.tar.gz install -m 0755 bitcoin-*/bin/bitcoind bitcoin-*/bin/bitcoin-cli /usr/local/bin/ useradd -r -m -d /var/lib/bitcoind bitcoinXX.X替换成当前的发行版本号。让守护进程以自己的非特权用户运行、绝不使用 root,这一点没有商量余地。 - 编写 bitcoin.conf
创建
/var/lib/bitcoind/bitcoin.conf。裁剪模式的基础配置如下:datadir=/var/lib/bitcoind prune=5000 dbcache=1024 server=1 listen=1 maxconnections=40 maxuploadtarget=0有两样东西是故意没写的。这里没有
rpcbind,也没有rpcallowip:Core 默认只把 RPC 绑定到 localhost,这个默认值是对的 — 一个能从互联网访问的 RPC 端口,迟早会变成钱包被掏空的隐患。也没有txindex,反正裁剪模式下本来就不允许开启它。 - 用 systemd 托管运行
[Unit] Description=Bitcoin Core daemon After=network-online.target Wants=network-online.target [Service] User=bitcoin Group=bitcoin Type=notify ExecStart=/usr/local/bin/bitcoind -conf=/var/lib/bitcoind/bitcoin.conf Restart=on-failure TimeoutStopSec=600 PrivateTmp=true ProtectSystem=full NoNewPrivileges=true [Install] WantedBy=multi-user.target保存为
/etc/systemd/system/bitcoind.service,然后执行systemctl enable --now bitcoind。真正关键的是TimeoutStopSec=600这一行:Core 在关闭时需要时间把链状态刷入磁盘,如果在刷盘过程中被强行杀掉,数据库就会损坏,代价是要重新同步一遍。 - 只开一个端口,而且只开这一个
入站的对等节点通过 8333 端口连接你。这是互联网唯一需要用到的端口:
nft add rule inet filter input tcp dport 8333 accept不要开放 8332 这个 RPC 端口。如果你需要从笔记本电脑访问 RPC,通过 SSH 或到同一台机器的 WireGuard 隧道来转发 — 无论是否设了密码,都绝不要直接暴露在公网上。每个套餐都自带的常开 DDoS 防护,会吸收掉任何已公布节点地址所招来的扫描流量。
- 让初始区块下载跑完
启动它,然后别去管它。要查看进度:
bitcoin-cli getblockchaininfo | grep -E 'blocks|headers|verificationprogress|size_on_disk' journalctl -fu bitcoind真正值得信赖的数字是不断逼近 1.0 的
verificationprogress。它的增长不是线性的,所以最后那几个百分点花的时间会比曲线看上去的更久。就算看起来卡住了,也要忍住重启守护进程的冲动 — 它几乎总是还在写数据。 - 确认它真的在做验证
当
verificationprogress基本达到 1.0,且initialblockdownload返回false时,把你的区块高度和任意一个公共浏览器对比一下,然后确认那些容易悄悄出问题的地方:bitcoin-cli getnetworkinfo | grep -E 'version|connections' bitcoin-cli getpeerinfo | grep -c inbound bitcoin-cli getindexinfo入站连接数大于零,说明 8333 端口确实是可达的,你在做贡献,而不只是索取。
- 把钱包指向它
最省钱的做法不会多花一分钱:Sparrow 可以通过 RPC 直接连接 Bitcoin Core,完全不需要 Electrum 服务器。用
ssh -L把 RPC 端口转发到你的笔记本电脑,再把 Sparrow 指向这条隧道即可。有一个关于裁剪模式的注意事项常常让人意外:Core 无法对裁剪点之前的区块做重新扫描,所以一个持有旧币的既有钱包,在裁剪节点上是找不到自己历史记录的。要么只把这个节点用于同步完成之后才创建的钱包,要么就运行未裁剪的节点。
初始区块下载:NVMe 到底改变了什么
IBD 的瓶颈不在下载。几百 GB 的数据经由 1 Gbps 端口,几个小时就能传完;真正花时间的是接下来的工作 — 验证自 2009 年以来的每一笔签名,并维护一个不断被随机重新读取的 UTXO 集。这项工作首先受限于存储延迟,其次才是 CPU。
实际效果相差一个数量级。在配备几 GB dbcache 的 NVMe RAID10 上,裁剪模式的 IBD 通常一天左右就能完成。同样的任务放到廉价主机的共享 SATA SSD 上,往往要跑一周,有时甚至永远跑不完,因为运营者会先放弃。这正是 NVMe 与 SSD 的对比不再只是参数表上一行字的地方。这里的每个套餐都是全 NVMe,这也是为什么最便宜的那一档也能实实在在地运行节点,而不只是技术上说得过去。
如果你等不及,有一个办法:在同步期间把 dbcache 调到内存允许的最高值,同步完再调回去。
让节点通过 Tor 运行
Core 对 Tor 的支持是一等公民级别的,对个人节点来说,纯 Tor 模式是值得选择的默认设置。它隐藏了一笔交易究竟源自哪个节点,让你的 VPS 地址不出现在比特币永久广播的对等节点列表里,也让你自己的钱包可以从任何地方连接节点,而无需开放任何入站端口。
安装 tor,把守护进程的用户加入 debian-tor 组,让 Core 能够访问控制端口,再往 bitcoin.conf 里加入:
proxy=127.0.0.1:9050
onlynet=onion
listenonion=1
discover=0
dnsseed=0Core 会自动创建并广播自己的 v3 onion 服务;用 bitcoin-cli getnetworkinfo 确认 onion 地址已经列出,且 onion 网络显示为可达。
诚实地说,这里有个取舍:onion 对等节点数量更少、速度也更慢,所以经 Tor 同步会明显更久。如果这台机器上反正已经在跑 Tor,我们的Tor 中继指南和对 Tor 友好的 VPS说明里介绍了政策方面的内容 — 这里欢迎中继和 onion 服务,而不只是被容忍。
自建 Electrum 服务器:electrs 还是 Fulcrum
Electrum 服务器介于你的节点和使用 Electrum 协议的钱包之间,维护一份按地址建立索引的链视图,这样钱包就能问一句“这个 scripthash 下面有什么?”并立刻得到答案。自己运行意味着 Electrum、Sparrow 和 BlueWallet 连接的是你,而不是那个能看到你所有地址的公共服务器。
那些一行命令搞定的教程往往会漏掉这个坑:electrs 和 Fulcrum 都需要未裁剪的节点。它们都是直接读取区块文件来构建索引的,所以历史数据必须还留在磁盘上。也就是说,加上一个 Electrum 服务器,会把你从一个 $5 的裁剪主机,拖进一个完整归档节点,外加另外 50–100 GB 的索引空间 — 这是 Fenrir 的地盘,不是 Cub 能扛得住的。
两者相比,electrs 更省内存,但构建索引更慢;Fulcrum 建索引和响应都更快,但要吃更多内存。两者都监听 50001(明文)和 50002(TLS)端口。让它们只绑定 localhost,通过 WireGuard 隧道或 onion 服务来访问,而不是直接对外暴露。
在上面叠加闪电网络
闪电节点需要一个自己信得过的比特币后端,而你自己的节点显然是最合适的候选。两个主流实现都可以和 Core 跑在同一台 VPS 上:
- LND 通过 RPC 和 ZMQ 与 bitcoind 通信。需要在
bitcoin.conf里加上zmqpubrawblock和zmqpubrawtx两个端点,且只绑定 localhost。 - Core Lightning 默认通过调用
bitcoin-cli来完成,逻辑上更简单,也不会多开任何端口。
裁剪模式在这里同样会带来麻烦。LND 可以对着裁剪过的 bitcoind 工作,但需要向对等节点补拉缺失的历史区块,这会更慢,偶尔也不够稳定;Core Lightning 在历史数据齐全的情况下会更省心。如果从一开始目标就是跑闪电网络,那就要么接受一个未裁剪的节点,要么明知会有这些摩擦也照样上。
闪电网络本身很轻量 — 通道数据库只有几百 MB — 但它必须一直在线,以便监视通道违约行为,这也正是选择 VPS 而不是会休眠的笔记本电脑的理由所在。9735 端口是闪电网络的 P2P 端口,纯 Tor 模式的闪电节点也完全是常见做法。
让节点与你本人保持无法关联
节点本身不是什么秘密,但它是一台持续运行、向全球广播网络公布自己地址的机器 — 而且,如果你不够谨慎,还可能是用你本人的名字、你本人的信用卡租来的。
- 无需身份即可注册。这里从设计上就没有 KYC:不用证件、不用上传文件,也没有验证环节会让你过不去。
- 链上付款。用 BTC 充值并从余额里部署,或者如果你不希望这笔付款本身成为一条永久的公开记录,也可以用门罗币 — 考虑到你资助的是一个比特币节点,这一点特别值得琢磨。不管选哪种,都不涉及信用卡,也没有第三方支付方在中间;具体做法见不用信用卡购买 VPS。
- 不要在这台机器上留下任何身份信息。不要用自己的名字命名主机名,不要复用一个出现在公开代码托管平台个人资料里的 SSH 密钥,也要记住:一个监听中的节点,其地址按设计就是要被公布出去的 — 这也是前面之所以推荐纯 Tor 模式的最有力的现实理由。
带宽、滥用与日常维护
主机方能看到的,只是一台在众所周知的端口上持续产生点对点流量的机器。看不到你钱包、地址或余额的任何信息 — 这些从不离开这台机器,这本来就是重点所在。一个负责验证的节点是再普通不过的基础设施,是被明确欢迎的;可接受使用政策里紧挨着的那一条规定是:共享套餐不允许进行加密货币挖矿,因为挖矿会独占共享核心。节点不是矿机:IBD 结束之后基本处于空闲状态。
日常维护也很平淡。Core 大约每六个月发布一个大版本,升级的做法是停止服务、替换二进制文件、再启动 — 数据目录是向前兼容的,不需要重新同步。如果节点上真的存有钱包,就备份好你的 descriptors;除此之外没什么好操心的,因为链本身注定会重新下载。如果磁盘不够用了 — 归档节点迟早会遇到这种情况 — 升级套餐可以在线扩容磁盘,无需重装,费用会从你的余额里按比例扣除。
常见问题
运行比特币节点应该选择哪种 VPS 套餐?
裁剪模式:Cub(1 vCPU / 2 GB / 40 GB NVMe,$5.00/mo)已经完全够用;Scout(2 vCPU / 4 GB / 70 GB,$9.00/mo)则更宽裕,同步更快,也为闪电网络留了余地。完整归档模式:2026 年的区块链已经放不进 Garmr 的 500 GB 了,所以老实说,答案是 Fenrir(800 GB,$99.00/mo)。
裁剪模式的比特币节点占用多少磁盘空间?
使用 prune=5000 时约为 20 GB:其中约 5 GB 是保留的区块文件,其余是 UTXO 集和 Core 自身的数据库。Core 允许的最小值是 prune=550,占用更小,但完全没有应对重组(reorg)的余量 — 5000 是更好的默认值,相对于 40 GB 的磁盘来说依然微不足道。
初始区块下载(IBD)需要多长时间?
在全 NVMe 存储、dbcache 设为几 GB 的情况下,裁剪节点大约一天就能完成,归档节点则需要更久。瓶颈在于验证过程和对链状态(chainstate)的随机读取,而不是下载本身 — 同样的同步过程在 SATA 或共享磁盘主机上通常要花一周。
裁剪节点上能运行 electrs 或 Fulcrum 吗?
不能。两者都要通过读取历史区块文件来构建地址索引,因此都需要一个未裁剪、磁盘上保留完整链的节点,外加 50–100 GB 的索引空间。如果你想要一个私有的钱包后端又不想付出这个代价,可以让 Sparrow 通过 RPC 直连 Bitcoin Core — 对于节点同步完成之后才创建的钱包,裁剪节点完全能够胜任。
共享型 VPS 套餐上允许运行比特币节点吗?
允许。节点做的是验证和转发,属于基础设施,和 Tor 中继、DNS 解析器是同一类东西,1 Gbps 不限流量的端口也意味着带宽不会是问题。真正该留意的是隔壁那条规则:共享套餐不允许进行加密货币挖矿。节点不是矿机,同步完成后基本处于空闲状态。
自己运行节点会让我的比特币变得匿名吗?
不会,谁说会,谁就是在推销什么。你的节点解决的是网络层的问题:不再有第三方服务器知道你的地址、你的 IP 或你的访问时间。但链本身依然公开,并且可以被永久分析。如果你需要的是链上不可关联性,比特币就不是合适的工具 — 参见我们的门罗币节点指南。
为什么要把节点放在 VPS 上,而不是放在家里?
在线率、稳定可路由的地址方便入站连接、第一周几百 GB 的流量不会撞上家庭宽带的流量上限、NVMe 带来的同步速度,以及让你家里的 IP 不出现在比特币公开的节点广播信息里。家庭节点当然也很好,条件允许的话你也应该运行一个 — VPS 只是消除了那些让人不去运行节点的操作层面的借口。

