链、区块和节点:构成分布式区块链的不可逆网络

链、区块和节点

链如何连接区块并形成区块链的不可逆网络

如果把人体脉络比喻为区块链的网络。

那么人体中的器官就有如区块链中的 节点 一样,拥有完整的基因记忆(加密哈希值)。

每个器官将人体的细胞(区块)完美的排列连接()起来,让人体的器官能各自运作。

器官与器官之间,由脉络连接起来,就有如一个完整的区块链网络一样。

在前面的帖子 区块揭秘  中,我们就提到了,新产生的区块必须包含前一个区块(父区块)的加密哈希值,我们才能将这新产生的区块 到区块链上。

我们就是通过这种哈希值的验证方式,将有效的区块 到父区块,从而 到第一个 创世区块 

因为每个区块都包含父区块的哈希值,并经过哈希处理形成一个有效的区块。

有效的区块引用父区块的哈希值链在一起
有效的区块引用父区块的哈希值链在一起

我们已经知道,创世区块(或是父区块)的哈希值(哈希:m)会存在第二个区块之中。

而第三个区块包含了第二个区块的哈希值(哈希:m,n),而第二区块的哈希值是由创世区块的哈希值( h(m) )所产生的。

从某种意义上来说,第三区块的哈希值(哈希:o)也是拥有创世区块(或是父区块)的哈希值( h(m,n) )。

直系家谱和区块链节点
基因遗传血脉关系形成的直系家谱

就好比是,我遗传了我父亲的基因( DNA ),而我儿子则遗传了我的基因,同时也拥有我父亲的基因。我们就是依靠这种基因遗传血脉关系连在一起,形成一个直系家谱。

这就是区块链真正的不变性, 不可篡改的原因。

高度 X 的区块,就是通过其前面 X-1 个区块所有的哈希值互相 起来。

所以区块链中的每一个区块,其相关的数据、哈希值和 Nonce 随机值,例如高度为 X 的区块,如果有任何的变化,就会产生连锁的反应。

那么高度 X+1 及其后所有的区块,不会和前面的区块(既是高度 X 的区块)产生任何连接关系,也就是说后面的区块就完全变成无效。

同样的,如果人体的基因或者器官遭受到破坏,那么整个人体就无法完美的动作。

区块揭秘  的帖子中就提到了参考父区块的哈希值可防止篡改!

篡改后的无效区块
篡改后的无效区块

假设 元石 试图篡改区块 X 中的交易数据,那么我必须重新寻找一个有效的 Nonce 随机值,从而生成一个新的哈希值 “e”。

如果我将这个新的区块 X 到区块链上。而高度 X+1 的区块的参考哈希值仍然记录区块 X 的旧哈希值“n”,因此区块 X+1 的参考哈希与新产生的区块 X 的哈希值不一样,高度 X+1 与其后所有的区块会因此无法 到区块链上,而变为无效。

除非我掌握了全网络 51% 以上的计算能力,否则我无法让高度 X+1 及其后所有的区块继续 到我所篡改的区块 X 上。

这就是分布式区块链效果所带来的确定性, 也是为什么它被认为是不可逆和唯一真正来源。

关于区块链节点的一切!

常常有很多人会提问什么是区块链节点?让我们简单的说明:

  • 节点就是组成区块链网络不可或缺的基本硬体设备,例如计算机、智能手机、笔记本电脑或服务器。
  • 区块链的数据就是储存在去中心化服务器的节点上。
  • 节点都互相连接,它除了储存区块链数据之外,同时也会不断地互相传播、交换和更新最新的信息。
  • 节点就是区块链的框架。
客户端-服务器结构
客户端/服务器结构

传统的互联网是基于 客户端/服务器 结构。

在这种架构中,任何客户端想要与中央服务器互动的都要连接到同一台服务器。

此客户端/服务器架构的缺点有:

  • 由于所有的计算、数据、通信都集中在中央服务器,使得其操作吞吐量变得非常大,从而其带宽需求变得非常高。
  • 而客户端必须通过中央部服务器与其他客户端进行通信,彼此不会共享资源,其数据路径也没有得到充分的利用。
  • 一旦服务器崩溃或被黑客入侵,系统就会完全停止运行。单点故障的风险也相应提高。
区块链的不可逆网络
点对点分布式区块链网络

相对于服务器的模式,则是新一代的 点对点模式,或称 对等模式

此模式将两台或多台硬体设备对等的连接在一起。

点对点模式的优点有:

  • 网络上具有同等的权限和特权,同时可充当客户端和服务器。
  • 彼此共享资源,即是共享储存器、内存、带宽和处理能力。
  • 信息分布在多个节点上,可以更好地调整网络的负载均衡,保持其他节点的连通性。
  • 由于服务是分散在各个节点之间进行的,部分节点或网络遭到破坏对其它部分的影响很小。 具有耐攻击、高容错的优点。

区块链就是通过点对点的模式,将所有的硬体设备连接在一起形成一个网络。以太坊和比特币就是用这种模式。

10 种类型的区块链节点

10 种类型的区块链节点
10 种类型的区块链节点

简而言之,节点主要有两种类型:全节点轻节点

1. 全节点

全节点包含区块链中的所有交易记录或者副本。它主要的功能是维持其他节点之间的共识和交易验证。

因此,全节点是区块链中管理去中心化网络并提供网络安全的服务器。

同时,它可为网络的提案做出决策,并保持相互的共识。

 
2. 轻节点

或称为 简单支付验证(Simplified Payment Verification SPV)节点,是我们所熟悉的“轻钱包”。

它只下载区块头,不保存完整的信息技术和交易副本,只保存与自身相关的交易数据。

所以它必须依靠全节点运行才能同步到网络的当前状态,并进行简单的交易验证。

全节点进一步分类为:修剪节点归档节点

3. 修剪节点

虽然不是在本地下载整个区块链,但是修剪节点依然可以独立完成所有的交易验证。它是通过从旧区块中“修剪”不必要的数据为其客户端减少所需的内存空间。

由于节点的内存空间是有限的。因此,当交易数据接近内存空间上限时,该节点以优化的“修剪”模式将其交易数据保持在内存空间限制内。

由于修剪节点的存在,通过查询区块链中的交易数据,可以快速找到某个区块高度的状态。

 
4. 归档节点

归档节点和修剪节点之间的主要区别在于可用内存空间。比如归档节点是1.2TB,而剪枝节点只有430GB。

归档节点是构成区块链网络的主要节点。大多数情况下,当我们提到“全节点”时,我们指的是归档节点。

归档节点除了保留完整的交易数据外,还储存了每个区块高度的状态,同时也记录了曾经发生的交易记录。

例如我们可以快速查询某个区块高度的余额。

随着区块链的发展,归档节点又可以细分为以下4个类别:权威节点挖矿节点主节点质押节点

5. 权威节点

任何硬件设备都可以通过其系统与区块链数据同步,成为公共区块链中的成员或节点。

权威节点既是控制或负责授权这些硬件设备加入区块链网络的节点。

它还可以定义其他节点对某些特定数据通道的访问。

 
6. 挖矿节点

对于一些共识算法,例如 工作量证明 PoW ,需要高计算量和解决复杂的数学函数来验证交易记录。

矿工节点就是专门为挖矿而创建的,可为其工作量等共识消耗大量的能源和计算能力。

 
7. 主节点

主节点就是一个完整的节点(全节点),它没有向区块链添加新区块的权力。

主节点的作用仅是维护区块链账本并验证交易。

 
8. 质押节点

质押节点是区块链网络中负责交易的验证以维护共识算法。

权益证明(Proof of Stake PoS)共识机制中,参与者将他们的资金抵押给质押节点,并在成功验证交易后获得奖励。

除了以上所提的 8 种节点外,还有 2 个特殊的节点:超级节点闪电节点

9. 超级节点

超级节点就是在 PoS 权益证明的基础上,加入了去中心化的投票机制。是为第三代验证和共识机制 — 委托权益证明机制(Delegated Proof of Stake DPoS) 的具体实践。

EOS 采用 DPoS 共识机制,并由 21 个超级节点来维护 EOS 网络。

 
10. 闪电节点

闪电节点主要用于解决区块链网络拥塞导致的交易延迟问题。

此节点和用户创建一个单独的闪电网络,减少了区块链网络的负载,提高了交易效率,降低了交易成本。

我们会在接下来的帖子中更深入的探讨区块链的技术和架构。

区块链节点广播新区块到相连的节点
区块链节点广播新区块到相连的节点
总括而言,去中心化区块链网络的特征就是 :

  • 任何人都可以加入,不需要任何许可。
  • 组成社区的节点既可共享权利。
  • 区块链接受新区块后,会将其广播到相连的节点。
  • 区块链会与其他节点同步和更新数据。

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注