区块链从0到1:拥抱通证时代
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第三节 区块链是如何工作的

区块链技术不仅能创建密码货币,还可以支持个人身份识别、同行评审、选举等。那么,区块链技术是如何工作的?

(一)区块

在了解区块链是如何运作的之前,我们先来看看区块的组成。

区块共分为两部分:一部分是区块头,另一部分是包含了所有交易记录的数据主体区块。

区块头共包括三组元数据,如图1-1所示。

(1)用于连接前面的区块、索引自父区块哈希值的数据;

(2)挖矿难度、Nonce(随机数,用于工作量证明算法的计数器)、时间戳;

(3)能够总结并快速校验区块中所有交易数据Merkle(默克尔)的树根数据。


图1-1 区块的组成

哈希算法是一种单向密码机制,可以保证区块链数据不被窜改。在区块链中,使用SHA-256安全散列算法对接收的一段进行加密,过程不可逆,输入的明文和输出的散列数据一一对应,如图1-2所示。


图1-2 哈希算法

时间,是每次交易记录的认证,从区块产生的时候一直存在。时间戳会将前一个时间戳纳入随机哈希值中,同样具有不可窜改性。这个过程不断重复,依次相连,就能形成完整的链条,如图1-3所示。


图1-3 完整链条

网络运行的方式是利用菊花链式数据块来记录和验证发生的每一个事务,每个块都包括一个散列、各种数字指纹、最近区块链交易的时间戳批处理。

(二)区块链的工作原理

区块链的工作原理可以简单描述如下:

甲想给乙发钱,交易在网络上以一个区块作为代表,该区块会将这条信息广播给网络里所有的参与者,参与者同意,则交易有效,该区块就会被添加到链上。这条链提供永久和透明的交易记录,资金从甲转移到乙,全网一本账,每个人都可以查找。

在这个分布式的数据库里,记账不是由个人或某个中心化的主体来控制的,而是由所有节点共同维护、共同记账。所有的单一节点都无法窜改,要想窜改一个记录,需要同时控制整个网络超过51%的节点或计算能力,而区块链中的节点无限多,且无时无刻不在增加新的节点,因此根本不可能具有这样的掌控力和算力。

区块链是一个互相验证的公开记账系统,可以将所有账户发生的交易记录下来,各个账号的每笔数额变化都会被一一记录在全网总账本中。所有数据公开透明,任何人都可以查看它的源代码;人们通常都会信任这套去中心化的系统,不会担心里面是否隐藏着阴谋。

(三)区块链是如何工作的

区块链的一些关键属性,表明区块链优于传统的分类账信息保存系统,主要表现如下:

(1)共识。区块链能通过共识机制,对分类账进行更新。这是赋予它权力下放的力量,任何机构都不能控制更新分类账。相反,对区块链进行的任何更新,都会根据区块链协议定义的严格标准进行验证。

(2)Peer-to-Peer(点对点)。没有控制或操纵它的中央权威,所有参与者直接交谈,可以直接与第三方进行数据交换。

(3)不可改变。数据只能按照一定的时间顺序添加到区块链中,一旦实现了这一步,数据就几乎不可能改变了。

(4)密码安全。将密码技术用于安全服务,分类账本就能有效防止窜改事件的发生。

(5)分布式。分类账分布的存在,使整个网络中不容易发生窜改事件。

区块链究竟是如何工作的?

(1)节点创建事务,用私钥对进行数字签名,就能启动事务。事务可以表示区块链中的各种操作,其数据结构通常包括传递逻辑、相关规则、目标地址和其他验证信息。

(2)新创建的块是分类账的一部分,下一个块以加密方式链接回此块。此链接是一个哈希指针。交易获得第二次确认,该块获得第一次确认。

(3)用Gossip协议将事务传播到基于预设标准验证事务的对等体。通常,需要多个节点来验证事务。

(4)每次创建新块时,都会重新确认事务。通常,需要在网络中进行六次确认,才能考虑最终交易。

(5)验证了事务,它会被包含在一个块中,该块传播到网络上,交易就会被视为已确认。