节点的定义可以根据上下文而变化。当涉及计算机或电信网络时,节点可以充当重新分发点或通信端点。通常,节点由物理网络设备组成,但在某些情况下会使用虚拟节点。

网络节点是可以创建、接收或传输消息的点。在此我们将讨论不同类型的比特币节点:全节点、超级节点、矿工节点和 SPV 客户端。

比特币节点

深入研究区块链(被设计为分布式系统)的背景,计算机节点网络使得比特币能够用作去中心化的点对点(P2P)数字货币。因此,它在设计上是抗审查的,并且不需要中间人在用户之间进行交易(无论他们在世界上有多远)。

因此,区块链节点负责充当可能执行不同功能的通信点。任何连接到比特币接口的计算机或设备都可以被视为节点,因为它们以某种方式相互通信。这些节点还能够使用比特币点对点协议在分布式计算机网络内传输有关交易和区块的信息。然而,每个计算机节点都是根据其特定功能来定义的,因此比特币节点有不同类型。

全节点

全节点是真正支持比特币并为其提供安全性的节点,它们对于网络来说是不可或缺的。这些节点也可以称为完全验证节点,因为它们参与根据系统共识规则验证交易和块的过程。此外,完整节点能够将新交易和区块转发到区块链。

通常,完整节点会在每个块和交易中下载比特币区块链的副本,但这并不是被视为完整节点的要求(可以使用区块链的缩减副本)。

完整的比特币节点可以通过不同的软件实现来建立,但最常用和流行的一个是比特币核心。这些是运行比特币核心完整节点的最低要求:

  • 装有最新版本的 Windows、Mac OS X 或 Linux 的台式机或笔记本电脑。

  • 200GB 可用磁盘空间。

  • 2GB 内存 (RAM)。

  • 高速互联网连接,上传速度至少为 50 kB/s。

  • 不按流量计费的连接或上传限制较高的连接。在线全节点可以达到或超过200GB/月的上传使用量和20GB/月的下载使用量。首次启动完整节点时,您还需要下载约 200GB。

  • 您的完整节点每天应运行至少 6 小时。如果连续运行(24/7)就更好了。

许多志愿者组织和用户正在运行完整的比特币节点,作为帮助比特币生态系统的一种方式。截至 2022 年,比特币网络上运行的公共节点已超过 10,000 个。请注意,这个数字仅包括公共节点,即可见且可访问的比特币节点,称为监听节点。

除了公共节点之外,还有许多其他不可见的隐藏节点(非监听节点)。这些节点通常通过 Tor 等隐藏协议在防火墙后面运行,或者仅仅是因为它们被配置为不侦听连接。

监听节点(超级节点)

本质上,监听节点或超级节点是一个公开可见的全节点。它与决定与其建立连接的任何其他节点进行通信并提供信息。因此,超级节点基本上是一个重新分发点,可以充当数据源和通信桥梁。

可靠的超级节点通常 24/7 运行,并拥有多个已建立的连接,将区块链历史和交易数据传输到世界各地的多个节点。因此,与隐藏的完整节点相比,超级节点可能需要更多的计算能力和更好的互联网连接。

矿工节点

为了能够在当前竞争激烈的情况下开采比特币,必须投资专门的采矿硬件和程序。这些挖掘程序(软件)与比特币核心没有直接关系,而是并行执行以尝试挖掘比特币区块。矿工可以选择单独工作(单独矿工)或分组工作(矿池矿工)。

虽然单独矿工的完整节点使用自己的区块链副本,但矿池矿工一起工作,每个节点都贡献自己的计算资源(算力)。在矿池中,只有矿池管理员才需要运行全节点——可以称为矿池矿工的全节点。

轻量级或 SPV 客户端

轻量级客户端也称为简化支付验证(SPV)客户端,是利用比特币网络但并不真正充当完整节点的客户端。因此,SPV 客户端不会对网络安全做出贡献,因为它们不保留区块链的副本,也不参与验证和确认交易的过程。

简而言之,SPV是一种用户可以检查某个区块中是否包含某些交易的方法,而无需下载整个区块数据。因此,SPV 客户端依赖于其他全节点(超级节点)提供的信息。轻量级客户端作为通信端点,被许多加密货币钱包使用。

客户端与挖矿节点

需要注意的是,运行完整节点与运行完整挖矿节点不同。虽然矿工必须投资昂贵的挖矿硬件和软件,但任何人都可以运行完全验证的节点。

在尝试开采区块之前,矿工需要收集之前被全节点视为有效的待处理交易。接下来,矿工创建一个候选块(包含一组交易)并尝试挖掘该块。如果矿工设法为其候选区块找到有效的解决方案,他们会将其广播到网络,以便其他全节点可以验证该区块的有效性。因此,共识规则是由验证节点的分布式网络而不是矿工确定和保护的。

结束语

比特币节点通过比特币P2P网络协议相互通信,从而保证系统的完整性。行为不当或试图传播不正确信息的节点会很快被诚实节点识别并与网络断开连接。

尽管运行完全验证的节点不会提供经济奖励,但强烈建议这样做,因为它为用户提供了信任、安全和隐私。全节点确保规则得到遵守。它们保护区块链免受攻击和欺诈(例如双重支出)。此外,全节点不需要信任其他人,它可以让用户完全控制自己的资金。