帖子目录
链如何连接区块并形成区块链的不可逆网络
如果把人体脉络比喻为区块链的网络。
那么人体中的器官就有如区块链中的 节点 一样,拥有完整的基因记忆(加密哈希值)。
每个器官将人体的细胞(区块)完美的排列连接(链)起来,让人体的器官能各自运作。
器官与器官之间,由脉络连接起来,就有如一个完整的区块链网络一样。
在前面的帖子 区块揭秘 中,我们就提到了,新产生的区块必须包含前一个区块(父区块)的加密哈希值,我们才能将这新产生的区块 链 到区块链上。
我们就是通过这种哈希值的验证方式,将有效的区块 链 到父区块,从而 链 到第一个 创世区块 。
因为每个区块都包含父区块的哈希值,并经过哈希处理形成一个有效的区块。
我们已经知道,创世区块(或是父区块)的哈希值(哈希: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 种类型的区块链节点
简而言之,节点主要有两种类型:全节点 和 轻节点。
全节点包含区块链中的所有交易记录或者副本。它主要的功能是维持其他节点之间的共识和交易验证。
因此,全节点是区块链中管理去中心化网络并提供网络安全的服务器。
同时,它可为网络的提案做出决策,并保持相互的共识。
或称为 简单支付验证(Simplified Payment Verification SPV)节点,是我们所熟悉的“轻钱包”。
它只下载区块头,不保存完整的信息技术和交易副本,只保存与自身相关的交易数据。
所以它必须依靠全节点运行才能同步到网络的当前状态,并进行简单的交易验证。
全节点进一步分类为:修剪节点 和 归档节点。
虽然不是在本地下载整个区块链,但是修剪节点依然可以独立完成所有的交易验证。它是通过从旧区块中“修剪”不必要的数据为其客户端减少所需的内存空间。
由于节点的内存空间是有限的。因此,当交易数据接近内存空间上限时,该节点以优化的“修剪”模式将其交易数据保持在内存空间限制内。
由于修剪节点的存在,通过查询区块链中的交易数据,可以快速找到某个区块高度的状态。
归档节点和修剪节点之间的主要区别在于可用内存空间。比如归档节点是1.2TB,而剪枝节点只有430GB。
归档节点是构成区块链网络的主要节点。大多数情况下,当我们提到“全节点”时,我们指的是归档节点。
归档节点除了保留完整的交易数据外,还储存了每个区块高度的状态,同时也记录了曾经发生的交易记录。
例如我们可以快速查询某个区块高度的余额。
随着区块链的发展,归档节点又可以细分为以下4个类别:权威节点、挖矿节点、主节点 和 质押节点。
任何硬件设备都可以通过其系统与区块链数据同步,成为公共区块链中的成员或节点。
权威节点既是控制或负责授权这些硬件设备加入区块链网络的节点。
它还可以定义其他节点对某些特定数据通道的访问。
对于一些共识算法,例如 工作量证明 PoW ,需要高计算量和解决复杂的数学函数来验证交易记录。
矿工节点就是专门为挖矿而创建的,可为其工作量等共识消耗大量的能源和计算能力。
主节点就是一个完整的节点(全节点),它没有向区块链添加新区块的权力。
主节点的作用仅是维护区块链账本并验证交易。
质押节点是区块链网络中负责交易的验证以维护共识算法。
在 权益证明(Proof of Stake PoS)共识机制中,参与者将他们的资金抵押给质押节点,并在成功验证交易后获得奖励。
除了以上所提的 8 种节点外,还有 2 个特殊的节点:超级节点 和 闪电节点。
超级节点就是在 PoS 权益证明的基础上,加入了去中心化的投票机制。是为第三代验证和共识机制 — 委托权益证明机制(Delegated Proof of Stake DPoS) 的具体实践。
EOS 采用 DPoS 共识机制,并由 21 个超级节点来维护 EOS 网络。
闪电节点主要用于解决区块链网络拥塞导致的交易延迟问题。
此节点和用户创建一个单独的闪电网络,减少了区块链网络的负载,提高了交易效率,降低了交易成本。
我们会在接下来的帖子中更深入的探讨区块链的技术和架构。
- 任何人都可以加入,不需要任何许可。
- 组成社区的节点既可共享权利。
- 区块链接受新区块后,会将其广播到相连的节点。
- 区块链会与其他节点同步和更新数据。