区块链+:落地场景与应用实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.3 共识机制:“矿工”获得奖励的规则

人们认为区块链是一个传递信任的工具,而支撑这份信任的体系就是共识机制。区块链需要有一套所有参与者都愿意接受的规则以解决某些问题,如怎么保证记账的有效性、应该由谁来记账等。共识机制可以作为这样一套规则在交易中使用。

例如,有六个人组织聚餐,经过讨论之后决定听从大多数人的意见——吃火锅。此时,吃火锅就是一个共识,而讨论过程中的少数服从多数原则就是共识机制,如图1-7所示。

图1-7 共识机制

一般来说,区块链是依据时间顺序储存数据的,可以支持多种共识机制。共识机制可以让区块链中的所有节点都储存数据。这些数据具有两个特性:一致性和有效性。一致性是指所有节点储存的数据的前缀部分完全相同;有效性是指由某一个节点所发出的数据最终会被其他节点记录到自己所在的区块链中。

区块链可以支持多种共识机制,在一致性和有效性均满足的情况下,区块链采用不同的共识机制会对整个区块链系统产生不同的影响。在评价不同的共识机制时,我们通常要从4个评价维度入手。

(1)扩展性。扩展性包括待确认交易数量的增加和系统用户数量的增加两个方面。在待确认交易数量和系统用户数量都增加的同时,区块链系统的网络通信情况和承载能力是影响共识机制扩展性的两个主要因素。

(2)安全性。安全性是指共识机制在区块链中是否能避免二次支付等问题的出现,以及是否有较好的纠错能力。其中,二次支付问题是区块链金融交易中的主要安全问题。

(3)资源消耗。在区块链中,各个节点达成共识需要消耗一定的资源。例如,比特币的共识机制是以工作量证明机制为基础的。

(4)性能效率。性能效率是指共识机制在区块链中每秒可以处理多少次交易。共识机制的性能效率问题备受人们的关注,目前它已经成为一个研究点。

区块链的主流共识机制包括以下3种。

1.PoW共识机制

PoW(Proof of Work)共识机制,即工作量证明机制。在区块链中,所有节点的一致性都是由PoW共识机制维持的。在PoW共识机制中,每个参与共识算法竞争的区块链节点都被称为“矿工”,而“挖矿”就是指一个求解随机数的过程。

在“挖矿”的过程中,新区块的区块头信息会形成哈希(散列函数)。鉴于每个区块头信息都是独一无二的,每次“挖矿”,区块头的哈希值通常都是不同的。区块链节点在“挖矿”之前,都会先计算出一个目标值。这个目标值是与求解的难度系数密切相关的。区块链节点每进行一次“挖矿”,就会产生一个随机数。

区块链节点可以将这个随机数和区块头中具有唯一性的区块头信息的哈希值进行双SHA-3(第三代安全散列算法)哈希。将哈希生成的结果与目标值进行比较,若该结果小于目标值,此次“挖矿”就是成功的;若该结果不小于目标值,区块链节点就会继续对那些重新生成的随机数进行计算,直至哈希生成的结果小于目标值。

在整个哈希过程中,计算能力是唯一的相关点。双SHA-3哈希具有不可逆性,区块链节点求解哈希结果小于目标值的过程只能依靠不断地计算才能获取。因此,我们从区块链节点的求解速度上可以看出PoW共识机制的计算能力。

相较于耗时较长的“挖矿”过程,PoW共识机制的校验速度非常迅速。其校验只需要区块链节点将随机数和区块头信息的哈希值重新进行一次双SHA-3哈希,然后把哈希生成的结果与目标值进行比较,判断哈希结果是否小于目标值。

2.DPoS共识机制

DPoS共识机制通过为区块链网络提供去中心化和事务处理的共识协议,从而减少该区块链网络中的资源消耗。以公司董事会表决来比喻的话,董事会的股东成员相当于该区块链中的节点。在公司董事会表决中,所有股东都有权进行投票表决,一旦股东的投票支持率超过51%,就意味着公司董事会的某一决议通过了。

在公司董事会表决中,“代表”是一个关键性的角色。这里的“代表”相当于区块链中生成区块的节点。想要成为“代表”,首先要做的就是支付一定量的保障金以确保这个“代表”是可信的。每个用户都可以选择自己信任的“代表”,投票数排在前列的“代表”就可以依照时间顺序生成区块。

DPoS共识机制下的区块链与公司董事会表决类似,区块链节点达成共识就意味着交易有效。DPoS共识机制会将权力分发给区块链中的所有节点,所有节点达成共识就意味着交易能够顺利进行。

3.PoS共识机制

PoS共识机制与PoW共识机制不同。PoS共识机制是每生成一个新区块就会提供一个证明。该证明可以确认这个新区块在被区块链网络认可之前是否曾接受过一定量的货币,从而证明生成新区块的节点对货币拥有所有权。

PoS共识机制的“挖矿”过程除了与节点的计算能力相关,还与节点的权益相关。在“挖矿”过程中,权益高的节点比权益低的节点更有优势。因此,PoS共识机制的“挖矿”效率比PoW共识机制的“挖矿”效率高,但PoS共同机制下的计算能力资源浪费情况比PoW共识机制的低。PoS共识机制在本质上并没有脱离节点“挖矿”的制约。即使PoS共识机制的计算能力资源浪费情况比PoW共识机制的低,浪费情况也依然存在。

共识机制是对“矿工”,即各节点奖励规则的约定。“矿工”的奖励来自两个方面:一方面来自“矿工”建立新区块的新币奖励;另一方面来自“矿工”进行计算并交易的交易费。为了体现奖励规则的公平公正,共识机制还要制定新区块建立和验证的规则。