区块链/等级 III · 网络/3.1 节点/课程 5
运行自己的节点
用于独立验证的硬件与协议
材料配备至少1 TB SSD存储空间的电脑Bitcoin Core 软件,或 Umbrel 这类打包发行版稳定的互联网连接,且上传带宽充足
好奇
- 全节点要维护整个货币历史的本地副本,需要消耗哪些特定资源?
- 像 Umbrel 或 Start9 这样的打包发行版是如何抽象掉直接运行 Bitcoin Core 所带来的复杂性的?
- 为什么对于可访问的家庭节点而言,带宽使用情况往往比初始存储容量更具约束性?
探索
- 运行未修剪的全节点需要下载并验证从创世区块开始的每一个区块。到2026年中,整条区块链约为760 GB。标准配置需要约1 TB的固态硬盘(SSD)存储空间,才能容纳链数据、UTXO集以及运行开销而不出现性能下降。初始同步计算量很大,需要大量CPU资源来验证历史上每一笔交易的密码学签名和脚本执行。
- 节点从一开始就通过 TCP 8333 端口加入点对点网络,因为它要从对等节点下载区块链。它会与其他节点保持出站连接,转发有效的交易和区块,同时响应对等节点的数据请求。可被外部访问的家庭节点会持续向与之连接的对等节点上传数据。视连接数量和网络活跃程度而定,每月上传流量可能达到数百GB,这可能会触及家庭宽带服务协议的条款或流量上限。
- 用户主要有两种安装方式:直接将 Bitcoin Core 作为独立应用程序运行,或者使用 Umbrel、Start9、RaspiBlitz 等打包好的节点发行版。这些发行版将 Bitcoin Core 与钱包界面及其他服务整合到同一个操作环境中。虽然它们能自动处理配置文件和依赖关系管理,从而简化安装流程,但也在用户与原始共识软件之间增加了一层抽象层。
- 钱包通过远程过程调用(RPC)接口,或通过 Electrs、Fulcrum 等专用的 Electrum 协议服务器连接本地节点。借助这种连接,钱包应用可以查询交易历史,并将付款直接广播到节点,由节点依据本地共识规则进行验证。在将交易纳入内存池之前,节点会确认输入尚未被花费、签名有效,且输出不超过输入。
- 独立验证带来了使用第三方服务器所不具备的隐私优势。钱包连接外部服务时,往往会向该服务商暴露特定的地址或余额信息。本地节点则在内部处理这些查询;尽管所有交易在链上依然公开可见,但在验证过程中,用户当前的地址集合和财务活动不会泄露给外部实体。
- 在终端中执行 `bitcoin-cli getblockchaininfo`,或查看打包发行版的控制面板,即可确认正在运行的节点的状态。该命令会返回当前区块高度、链工作量以及验证进度(0到1之间的小数)。“getnetworkinfo”会显示节点自身的版本及其连接数量,“getpeerinfo”则列出每个对等节点的软件,借此确认该节点正积极参与网络的 Gossip 协议。
关键事实
- 未修剪的全节点需要大约1 TB的SSD存储空间来存放完整的区块链(2026年中约为760 GB)。
- Umbrel和Start9等打包发行版将Bitcoin Core与钱包界面整合在一起,便于简化部署流程。
- 钱包通过 RPC 或 Electrum 协议服务器(如 Electrs 和 Fulcrum)与本地节点相连。
- 可被外部访问的家庭节点每月可能向与之连接的对等节点上传数百GB的数据。
- 本地验证可防止用户的地址集合泄露给第三方钱包服务。
- 命令 `bitcoin-cli getblockchaininfo` 可显示当前的区块高度及同步进度。
练习 九、六、三、一
9收集列出运行全节点的9项不同组成部分或要求:硬件规格(CPU、内存、存储)、软件选项(Core 与各类发行版)、网络参数(端口、对等节点)以及验证方法。
6归类根据功能将这9个项目分为6类:存储容量、处理能力、网络连接性、软件抽象层、钱包集成以及运行监控。
3提炼将这6组提炼为节点运营者面临的3种权衡。
1凝结用一句话描述:本地节点如何将验证的负担从信任第三方转移到个人的计算资源上。
事实核查
日期、数字及数据均依据下方列出的已发表资料进行核实。