比特币区块链节点是许多运行区块链协议软件的设备之一,通常存储交易历史记录。节点在一个去中心化的点对点网络中互相连接。
全节点确保所有交易和区块遵循协议规则。它们不断地验证网络上的每个人都遵守相同的规则。这确保了数据库是可信的,网络保持诚实。
为了简单起见,本文将重点介绍比特币节点。大多数区块链网络使用相同的原则,因此了解比特币节点将帮助你了解区块链节点如何通常工作。
有三种节点执行不同的功能:
全节点存储完整的区块链。从第一个区块到最新的区块,每个区块都存储在全节点中。它们全面的知识使它们理想化地用于验证加密交易。然而,存储整个区块链需要大量的硬盘空间。因此,比特币节点可以进行修剪。修剪节点意味着移除已完全花费交易的冗余信息,这样可以节省磁盘空间。
轻节点作为钱包运行,但不存储整个区块链。它们必须连接到全节点才能将交易广播到网络。许多用户发现轻节点是发送和接收比特币的一种简便方式。
挖矿节点通过将交易包括在区块中来确认交易。在区块链的早期,每个加密矿工都操作一个挖矿节点。今天,许多矿工在矿池中共同工作。这些矿池通过将几个矿工的努力集中到一个单一的挖矿节点中,利用团队合作。这使他们有更好的机会获得挖矿奖励。
如果你有足够的空闲磁盘空间和良好的互联网连接,在电脑上运行全节点被认为是发送和接收比特币最独立的方式。用来设置节点的程序被称为客户端*。客户端通常具备内置的钱包功能。对于比特币而言,最受欢迎的全节点客户端是比特币核心(Bitcoin Core)。
运行自己的全节点是唯一真正保持假名性的方式。如果你依赖别人的节点来广播你的交易,他们总会有一些关于来自你地址的交易的信息。
然而,对于大多数用户来说,如果他们运行一个全节点,将会有更多的麻烦而不是好处。对这些用户来说,许多现成的轻钱包就能胜任。对于经常发送大量加密货币的企业或个人来说则是另一回事。
处理加密货币支付的企业应该始终运行一个全节点。这样,他们就不需要信任任何人来保持网络的诚实。他们直接将交易广播到网络,并根据协议的共识规则检查所有流量。这对于比特币以及大多数其他加密货币都是正确的。
在比特币交易可以处理之前,需要将其广播到网络。作为钱包的轻节点通过全节点发送新交易,全节点将信息传播到整个网络。全节点将未确认的交易存储在它们的内存池(mempool)中,并检查交易是否根据比特币的共识规则有效。
矿工从内存池中取出交易来确认它们。他们通过挖矿过程将交易包含到区块中来实现这一点。矿工通过挖矿奖励和交易费用获得工作报酬,而全节点作为助手来保持比特币网络去中心化和诚实。
每个希望参与比特币网络的设备都必须运行一个遵循比特币协议的客户端(如比特币核心)。每个节点不断要求其他节点遵循相同的规则。
由于全节点存储了比特币交易的整个数据库,它们可以检查最近添加的交易是否在过去已经发生过。他们阻止任何之前已花费的交易以防止双重支付。
因此,全节点对于维护整个网络的诚实至关重要。
比特币网络依赖于许多随机的、未连接的用户,在他们的电脑上运行全节点,从而保持比特币的去中心化。目前全球有超过 10,000 个可达的全节点。实际的节点数量很可能更高。这些只是任何节点都能够到达的。许多节点因为各种原因无法访问。他们可能已经离线,或者他们的所有者可能选择禁用进入连接,因此无法访问。
如果你拥有相当数量的比特币,或出于意识形态原因想支持去中心化,你可能对通过运行一个全节点来为网络做出贡献感兴趣。
然而,运行一个全节点是比特币高级用户的领域。对于普通用户来说,通过交易所购买、出售和管理比特币和其他加密货币有一个更简单的方式。