区块链芝士丨什么是工作量证明(PoW)?
1993年,工作量证明的概念开始初步形成,主要用于防止服务攻击和其他服务滥用(例如网络上的垃圾邮件)。它需要用户完成一些工作,并经常要用到电脑处理。
2009年,比特币将工作量证明用作一种共识机制。在该情况下,工作量证明便被用于验证区块链的各个区块中所发生的交易。
从那以后,工作量证明就被被广泛用作共识机制,而今则被用于许多数字货币当中。
它是如何工作的?
简单来说,它是通过矿工之间相互竞争,看谁能最先解开复杂的运算谜题来运作的。这些谜题很难被解答,但是一旦被解答出来,结果便能很快得到验证。因此,一旦一个矿工计算出一个区块的答案,整个区块网络就能被广播通知。剩下的其他矿工将验证该答案是否正确,以此来确认区块。
比特币
比特币网络是一个建立在区块链基础上的系统,它靠各个节点共同维护。这些节点中的一部分就是矿工,他们负责在区块链中增加新的区块。矿工们需要尝试去猜一个随机的数字来实现区块的增加。而当这个数字与区块所提供的数据结合在一起并经过一个哈希函数时,便产生一个与既定条件相匹配的结果。当一个匹配的结果被某个矿工发现,其他矿工就要证实该结果的正确性,而该名矿工则会获得积分奖励。
因此,在没有发现一个可被验证的随机数时是不可能在主链上增加一个新的区块的,而该随机数会产生一个具体的区块结果(叫做区块散列值)。每一个经过验证的区块都有一个区块散列值,这个值表示矿工已经完成了工作,这也是为什么叫做工作量证明的原因。
工作量证明可以保护网络免遭各种攻击。一个成功的攻击需要大量算力,且消耗很长的时间。因此,成功的攻击其实是低效的,因为攻击所需的成本比攻击成功的潜在获利要大得多。
工作量证明的一个问题是,挖矿需要昂贵的计算机硬件,并消耗大量的电脑功率。虽然这样可以保障网络的安全,但是除了挖矿运算之外,没有其他的用途。
即使工作量证明可能不是最有效的方法,但在区块链中,它仍是最广为流传的共识算法。时间会证明其他的方法中,哪一个会是继工作量证明之后的最有效方法。