一、什么是区块链节点?

通俗地来说,节点就是一个区域的服务器。区块链节点,通常指的是区块链网络中的计算机,也就是说任何连接到区块链网络的计算机都称为节点。根据不同的特征,节点分为不同的类型,使用者需要特定的硬件才能托管或连接到其中的一个。

作为整个生态链的一环,比特币的主心骨网络节点(nodes)一直担任着交易确认和广播的工作。

网络节点也有很多种,最常见的分类方法是分为三种:

  • 完整节点(Full node)
  • 修剪节点(Pruning node):完整节点的变体;
  • 轻量节点(Lightweight node):也称为SPV节点,不是完整节点;

分类标准一是这个节点是否下载了最新最完整的比特币区块链;二是该节点能否独立验证比特币的转账交易,即能否独立实现作为一个节点的基本功能。

注:任何一种比特币节点,都需要遵守比特币的共识规则(Consensus rules)。分散共识机制(Distributed Consensus)是比特币的根基之一,是所有节点必须遵守的,共识规则的细则有很多。

1、完整节点

顾名思义,完整的比特币节点就是那些下全了最新区块链的计算设备。

完整节点是比特币网络的主心骨。它可以独立完成交易确认和广播,是支撑着比特币转账交易的核心力量。

如果没有人运行完整节点了,比特币网络便会瞬间崩塌。使用完整节点的主要包括两类人一是独立挖矿的矿工,二是那些使用默认设置运行比特币软件(Bitcoin core)的用户(比特币软件同时也是一个钱包,因此运行比特币软件的个人用户你,有不少也会用它存储比特币)。

独立挖矿的矿工需要完整的区块链账本,以便随时验证新交易。比特币软件默认会自行同步当前完整的区块链。

2、修剪节点

随着比特币交易不断增加,这个数字会越来越大。面对这样的情况,Bitcoin core软件增加了一个“修剪”功能,用来减少本地硬盘使用量。

修剪节点就是启用了“修剪”功能的完整节点。该节点同样可以独立完成比特币转账的确认,但是它并没把整个区块链都下载到本地。

3、SPV节点

SPV节点也称为轻量节点。如果在手机上安装了比特币钱包APP,该手机便成为一个SPV节点。由于容量限制及便携性,人们通常不会下载区块链到本地。因此,钱包的运营者会通过SPV(Simple payment verification)协议,将每个用户钱包中的转账与网上的完整区块链进行核对与确认。

从整个比特币生态的角度来看,运行完整节点是对比特币网络很好的支持,完整节点越多,比特币网络就越安全。

注:另一种分类情况

二、区块链节点有什么作用?

区块链节点具有记账的权利,每个节点上的矿工可以进行公平的记账权竞争。哪个节点上的矿工率先解决了数学问题,自然就可以获得区块奖励的数字货币。而奖励的数字货币就是矿工们挖到的虚拟币,这个节点也获得了记账权。由此可得,区块链节点的存在不但能够记账,还能够保障数字货币网络的正常运行,节点的存在能够保障网络的安全。

三、区块链节点包含哪些信息?

由于区块链是链式结构,链上的每个区块都存有不同的信息。

区块本身结构区块包含两个部分:区块头和区块体。

  • 区块头中包含一些块的元数据信息,例如区块编号、区块Hash值、区块创建时间、父区块的Hash值和Nonce等数据。其中,Nonce是用来做工作量证明的,它对于使用工作量证明机制的区块链来说很重要。

原数据如下所述:

Index:第几区块(创世区块的索引为0);

Hash:当前区块的Hash值;

Previous Hash:上一个区块的Hash值;

Timestamp:当前区块创建时的时间戳;

Data:存储在当前区块上的交易信息;

Nonce:参与Hash运算的数值,使区块的Hash值满足指定条件;

  • 区块体中包含数据交易信息和账户信息等,不同的区块链有不同的实现。