在区块链技术中,共识机制是确保网络参与者之间同步和一致性的关键。共识机制允许矿工根据计算结果将新区块添加到网络中,网络参与者会验证新区块中添加的交易。在去中心化的网络中,要让所有参与者达成一致似乎是一项艰巨的任务。区块链通过共识机制在所有网络参与者之间建立治理。本文将介绍区块链中最流行和基础的共识协议之一——工作量证明(Proof-of-Work,简称PoW)。
共识机制简而言之,就是所有网络参与者达成一致的决定。例如,一群朋友一致同意去踢足球,没有冲突。在这里,共同决定去踢足球就是一种共识或相互协议的状态。在区块链的情况下,至少51%的节点或网络参与者同意即将发生的变更。如果发生这种情况,网络将更新新的变更。否则,网络将通过相互协议拒绝变更。
工作量证明(PoW)共识机制是最古老但最受欢迎的。这个想法起源于1993年,当时Mona Naor和Cynthia Dwork发表了一篇论文,探讨了算法防止欺诈的潜力。后来,Satoshi Nakamoto(比特币的匿名发现者)在他的白皮书《比特币:一种点对点的电子现金系统》中创造了这个算法。PoW在区块链技术的发展中扮演了重要角色。目标是创建一个难以破解的认证系统。
去中心化网络基于不信任但合作的原则工作。区块链(去中心化网络)是由线性连接的区块组成的链,包含通过密码学保护的信息。在这里,每个区块包含其前一个区块的哈希值以保持连接。此外,每个区块还包含其他信息,如时间戳、区块高度、交易记录、Merkle根哈希、区块哈希、前一个区块哈希、难度级别等,这些都包含在区块头中。第二部分包含一组金融交易,其哈希值最终被转换为Merkle根。因此,区块链被定义为交易区块的链。
添加新区块到链中被认为是对当前系统的新更新。因此,它需要网络参与者的许可。为了决定是否添加新区块,使用工作量证明(PoW)共识机制。只有经过验证的交易才会被添加到网络中。与此相反,并非所有提议的区块都是有效的。大多数提议的区块网络被认为是无效的。区块链协议定义了区块的有效性。区块链网络有一个任意的“难度”设置,由协议管理,它改变了挖掘区块的难度。在这里,挖掘意味着添加新区块。
矿工设计链中的新区块。他们是想要将他们的区块添加到网络中的外部人员。开发有效区块所需的工作是价值的来源。矿工根据他们花费的计算能力挖掘新区块,获得相应的奖励。矿工通过挖掘有效区块来证明所做的工作。难度级别可以在比特币网络或以太坊等区块链中变化,以确保区块以规律的间隔被创建。
工作量证明(PoW)共识算法通过要求每个矿工克服难度级别来证明区块的有效性。只有当整个区块的哈希值低于难度哈希时,区块才被标记为“有效”。区块包含重要的交易信息,这些信息不能更改。因此,矿工通过更改nonce来使哈希低于难度阈值。Nonce是区块的一部分,可以通过更改它来限制难度级别。
让通过一个例子来理解PoW的工作方式以及它是如何工作的。假设Harry是一个比特币矿工,他希望将他的比特币(数字货币)交易区块添加到网络中。但是,要使他的区块有效,他首先必须更改区块,直到他的区块哈希值低于难度阈值。假设Harry区块的哈希值是817de9e0c,难度哈希是001000000,Nonce是8263。Harry会不断更改Nonce,直到他得到前三位数字为零的哈希值。经过数小时不断更改Nonce,他最终得到了哈希值000383ec5,难度哈希是001000000,Nonce是6778。现在达到了难度阈值。区块哈希值低于难度哈希值。因此,Harry的区块将被标记为有效并添加到区块链中。对于在比特币区块链中挖掘区块,Harry会获得一些比特币作为区块奖励,以回报他花费的计算能力来找到一个有效的哈希值。
这个过程完全基于偶然。因此,矿工的工作是不断更改Nonce值,直到区块的总哈希值低于难度哈希值。矿工还有其他责任,但这将是另一篇文章的主题。
工作量证明(PoW)的优势包括:解决方案难以找到,但易于验证;作为最初的共识机制,PoW不需要在挖掘前持有初始的硬币;与其他区块链共识机制相比,易于实现;它是容错的,意味着一个组件的失败不会关闭整个区块链网络;给矿工提供了通过添加区块来赚钱的机会;PoW是最古老、最受信任和最受欢迎的共识协议。
工作量证明(PoW)的局限性包括:大量能源浪费,因为最终只有一个矿工可以添加他们的区块;它需要大量的计算能力,因此消耗大量的资源和能源;存在51%的网络攻击风险,控制人可以获得51%来控制网络;随着附加机器的增加,带来环境危害;PoW是一个时间和能源的消耗过程;需要大量的硬件成本;存在被入侵者拒绝服务攻击的风险。
目前使用工作量证明(PoW)的主要加密货币包括:比特币、以太坊、狗狗币、莱特币、门罗币、比特币现金、数字字节、比特币黄金、以太坊经典和Zcash。
除了PoW之外,对于那些没有重型机械来运行如此大规模计算的矿工来说,这似乎并不公平。遵守工作量证明(PoW)机制涉及相当大的成本和努力。它还需要作为交易费的气体。因此,正在进行大量研究以取代这种共识机制。一些替代算法包括权益证明(PoS)、历史证明(PoH)、权威证明(PoA)、容量证明(PoC)、已过时间证明(PoET)等。