区块链数据通信性能优化
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 区块链运作原理

区块链构建了一个价值传输网络。区块链以比特币交易传输最具代表性,通过比特币在网络上传输交易数据,并以激励机制来鼓励各个节点运用它们的计算能力来验证交易。交易验证成功后的奖励机制使得新的比特币得以进入网络进行流通。下面以比特币交易为例,介绍区块链交易原理。

1)节点

区块链是由节点组成的分布式网络,在比特区块链中,参与交易的节点称为矿工节点,该矿工节点可以是PC、服务器或者多个矿工节点组成的矿工池,也就是对其硬件组成没有具体的要求,但是要求每个矿工节点都具有计算能力。

节点是用来存储交易信息的,区块链节点存储的区块数据具有分布式、高冗余的特点,根据节点存储信息的覆盖量,将它分为全节点和轻量级节点。全节点存储了自创世区块以来整个区块链的完整信息,并可以实时参与区块数据的验证和更新。由于全节点存储了完整的区块链信息,在不需要其他节点的帮助下可自主完成信息的查询、验证和更新,但是该节点的存储成本和维护成本较高。相比之下,轻量级的节点仅存储部分区块链数据,它的验证确认过程需要其他相邻节点的协助才能完成。可以看出,节点存储信息越全面,交易验证越方便,但节点负担也越重,也就是说,区块链数据交易认证的便捷性,是以牺牲存储成本和维护成本为代价的。

2)算力

在比特币区块链中,每个矿工节点的计算能力,称为算力。节点依靠算力竞争来获取记账权,通过工作量证明的方式验证交易的有效性。具有较强算力的节点在挖矿过程中更容易成功,它会获得比特币奖励并且具有记账权,算力高的节点获得记账权的概率大。新区块的生成并将其链接到区块链的过程称为挖矿。算力大小可以从某种程度上反映该节点挖矿成功的概率。

3)区块链运作原理

下面,从区块链中一笔交易产生到完成验证的过程来介绍区块链的交易流程。一笔交易是某个节点产生的,每笔交易由数位签章加密并经由Hash函数得出一串代表此交易的唯一Hash值,将这个Hash值广播给比特币区块链网络中的其他参与节点进行验证。具体过程如下:

(1)收集整个区块链中未被验证的交易,形成当前的区块体的交易集合。

(2)计算区块头元素,包括交易的Hash值,将该Hash值广播到区块链中。

(3)区块链中各个节点依靠自己的算力互相竞争,求解一个数学难题来决定谁可以验证交易,求解最快的节点获得记账权,并且系统会自动生成比特币作为奖励。

(4)获得验证权的节点将区块广播给区块链上的所有节点。

(5)其他节点确认该区块的有效性,并将其链接在区块链上,验证通过的区块是无法篡改、回撤的,该过程不可逆。一旦接受该区块后,先前没算完PoW工作的区块会失效,各节点会重新将未被验证的交易建立一个新区块进行下一次计算。

交易验证的过程就是清算、结算和审计的过程,因此区块链交易是实时结算的。