可通过共识更新

最后,区块链最关键的属性是它只能通过共识更新。这就是去中心化力量的来源。在这种情况下,没有中央机构可以控制更新帐本。相反,对区块链进行的任何更新都根据区块链协议定义的严格标准进行验证,并且只有在网络上所有参与节点达成共识后才会添加到区块链中。为达成共识,有各种共识促进算法,确保各方就区块链网络上数据的最终状态达成一致,并坚决同意这一点。共识算法将在本章后面和整本书中讨论。

区块链可以被认为是在互联网上运行的分布式对等网络的一层,如下图所示。它类似于在TCP / IP上运行的SMTP,HTTP或FTP。

 

在上图的底层,有互联网,它为任何网络提供基本的通信层。 在这种情况下,对等网络运行在互联网之上,它承载另一层区块链。 该层包含交易,块,共识机制,状态机和区块链智能合约。 所有这些组件在框中显示为单个逻辑实体,表示对等网络上方的区块链。 最后,在顶部,有用户或节点连接到区块链并执行各种操作,例如共识,交易验证和处理。 这些概念将在本书后面详细讨论。

从商业角度来看,区块链可以定义为一个平台,在这个平台上,对等方可以使用交易交换价值/电子现金,而无需集中信任的仲裁员。 例如,对于现金转移,银行充当受信任的第三方。 在金融交易中,中央清算所充当两个交易方之间的仲裁员。 这个概念引人注目,一旦你吸收它,你就会发现区块链技术的巨大潜力。 这种非中介化允许区块链成为去中心化的共识机制,其中没有单一的权威机构负责数据库。 您可以立即看到去中心化的巨大好处,因为如果不需要银行或中央清算所,那么它会立即带来成本节约,更快的交易速度和信任。

仅仅是捆绑在一起并按逻辑组织的交易的选择。交易是事件的记录,例如,将现金从发件人的账户转移到受益人的账户。块由交易组成,其大小取决于所使用的区块链的类型和设计。

除非是生成块,否则块中还包括对前一个块的引用。创世块是区块链中第一个在区块链首次启动时硬编码的区块。块的结构还取决于区块链的类型和设计。但是,通常只有一些属性对于块的功能是必不可少的:块头,它由指向前一个块的指针,时间戳,随机数,Merkle 根和包含交易的块体组成。块中还有其他属性,但通常,上述组件始终在块中可用。

nonce是生成并仅使用一次的数字。 nonce在许多加密操作中被广泛使用,以提供重放保护,身份验证和加密。 在区块链中,它用于PoW共识算法和交易重放保护。

Merkle 根是Merkle树的所有节点的哈希。 Merkle树被广泛用于安全有效地验证大型数据结构。 在区块链世界中,Merkle树通常用于允许有效的交易验证。 区块链中的Merkle根存在于块的块头部分中,该块是块中所有交易的哈希。 这意味着只需要验证Merkle根来验证Merkle树中存在的所有交易,而不是逐个验证所有交易。 我们将在第4章“公钥加密”中进一步详细阐述这些概念。 

前面的结构图是一个描述块的简单框图。 与区块链技术相关的特定区块结构将在本书的后面部分进行讨论,并提供更深入的技术细节。

区块链101 - 区块链的通用元素
区块链101 -点对点、分布式账本、密码安全、仅可追加