跳转到正文
buybitcoinsmart

术语表 /节点与软件

修剪节点

修剪节点是什么?
修剪节点会验证整条区块链,然后删除不再需要的旧区块文件,在保留完整验证的同时放弃完整的区块存档。

规定于 BIP-159。

修剪是以历史数据换取磁盘空间,并且不会损失任何安全性。Bitcoin Core 自版本0.11.0起支持这一功能,该版本发布于2015年7月12日,允许的最小设置会在磁盘上保留约550 MiB 的近期区块。您仍然会从创世区块开始逐条检查每一项规则,只是在处理完每个区块之后将其丢弃。

运作方式

修剪发生在验证之后,绝不会取代验证。

修剪节点会按顺序下载整条链,并像存档节点一样验证每一个签名、每一笔手续费和每一项规则。不同之处在于清理环节。区块的影响一旦被并入未花费输出数据库,原始区块文件及其撤销文件就会从磁盘中删除,从最旧的开始。验证的结果得以保留,而相关的原始记录则不保留。

您以 MiB 为单位设定存储预算。设置值550是下限,更小的值会被拒绝,因为软件需要在手头保留足够多的近期区块,以便在链重组时无需重新下载。设置值1会开启手动模式,在此模式下,只有您自己调用 pruneblockchain 命令时才会删除数据。

唯一不会缩小的是未花费输出集。该数据库是整个账本的工作状态,记录着当前所有可花费的币,它随使用量而增长,而不是随时间增长。修剪不会触及它,因此修剪节点仍会占用数 GB 空间,而不是设置中的550 MiB。

有四项功能将无法使用。您无法为早于修剪深度的交易重新扫描钱包,因此导入很早以前的助记词意味着要从头重新同步。您无法建立交易索引,因此无法运行区块浏览器,也无法为他人运行 Electrum 服务器。您无法向正在追赶进度的对等节点提供历史区块,不过 BIP159 允许您声明将提供最近的288个区块(约两天的量),Bitcoin Core 自版本0.16.0起已发出这一信号。而且,日后若要回到完整存档,就必须重新开始下载。

在哪里会遇到它

在几乎所有即插即用的节点设备上,修剪都是默认设置,这也是 Raspberry Pi 能胜任这项工作的原因。

这组数字即是全部论据。完整存档在2026年8月已超过759 GB,并且仍在增长,而修剪节点可以轻松装进一台原本打算丢弃的笔记本电脑的内置硬盘。对绝大多数人来说,他们只想验证自己的付款,并避免把自己的地址泄露给陌生人的服务器,这就是全部要求。提供网络的历史数据是另一种爱好,需要另一份预算。

陷阱在于钱包。如果先修剪、后导入旧钱包,节点将拒绝查找您的币,因为包含这些币的区块已经被删除。请在开始修剪之前设置好钱包,或者使用出生日期晚于修剪深度的描述符。

修剪节点 vs 轻量级客户端

修剪节点和轻量级客户端都能装进小容量磁盘,但只有其中一个真正检查过数据。修剪节点自2009年起亲自验证了每一个区块,只是不再保留相关记录,它对“这笔付款是否有效”的回答来自自身的运算。轻量级客户端没有验证过任何内容,只是询问服务器,而您接受服务器的回答,只因为您无从检验。相近的占用空间背后是截然相反的信任模型,仅凭存储空间在两者之间做选择的人,比较的是错误的数字。

请勿混淆

常见问题

修剪节点比完整存档节点更不安全吗?

不会。它对每个区块执行完全相同的验证,并执行完全相同的规则。它唯一放弃的是向他人提供旧区块的能力,以及为早于其修剪深度的交易重新扫描的能力。

日后可以取消节点的修剪吗?

不重新下载就不行。已删除的区块文件无法恢复,因此切换回完整存档意味着重新进行初始区块下载。如果您可能想运行区块浏览器或 Electrum 服务器,请在同步之前决定。

接着阅读

相关术语

节点与软件中的更多术语

阅读本页英文版